beep в макросах

Здесь обсуждается всё, что касается макросов.
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: beep в макросах

Post by Kerberos464 »

Latest post of the previous page:

О.о
конечно, отключены. не думал, что это связано.
теперь работает, спасибо! но жаль, что это реализовано именно так.
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: beep в макросах

Post by Skirda »

Это к M$. Far вызывает стандартную виндовую функцию MessageBeep()
We are the Borg. You will be assimilated.
So Say We All!
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by John Doe »

А у кого-нибудь beep в семёрке работает?

lm:post mf.beep(0)
или
macro:post beep(0)
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Re: beep в макросах

Post by 2useven10 »

работает
User avatar
lazyeugene
Posts: 243
Joined: Sat 29 Aug, 2009 17:14
Has thanked: 1 time

Re: beep в макросах

Post by lazyeugene »

У меня не работает. Насколько мне известно, в 7ке в мелкософте оторвали бипер. В 32битной его можно вернуть, установив драйвер от ХР - я находил доки на эту тему. В 64битной способа вернуть бипер лично я не нашёл :(
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Re: beep в макросах

Post by 2useven10 »

в 7ке в мелкософте оторвали бипер
а что бип передаваемый на звуковую карту -> колонки не слышен ?
User avatar
vkh
Posts: 226
Joined: Fri 13 Nov, 2009 07:48
Has thanked: 2 times
Been thanked: 1 time

Re: beep в макросах

Post by vkh »

можно ведь выключить колонки и можно снизить громкость.
а бипер должно быть слышно.
но, полагаю вопрос к микрософту. раз у них такой драйвер бипера.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: beep в макросах

Post by John Doe »

beep() воспроизводит стандартные звуки Windows, естественно не через бипер.
Вопрос я задал потому что у меня это почему-то не работает.
Ответ получил, поищу проблему у себя.
User avatar
vkh
Posts: 226
Joined: Fri 13 Nov, 2009 07:48
Has thanked: 2 times
Been thanked: 1 time

Re: beep в макросах

Post by vkh »

не знаю зачем, но раз уж есть такая тема, может реализовать вызов WinAPI функции?

Code: Select all

BOOL WINAPI Beep(
  _In_  DWORD dwFreq,
  _In_  DWORD dwDuration
);
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: beep в макросах

Post by John Doe »

Как раз "зачем" - очень даже понятно.
И функция в общем подходит, хотя есть и ньюансы

Только реализовывать смысла наверно уже нет, у нас ведь Lua, а значит можно (написать)|(найти готовую) библиотеку.

Есть FFI, но насколько я понимаю для использования надо перейти на LuaJIT.

Update
https://github.com/mascarenhas/alien

Code: Select all

require"alien"

local beep = alien.Kernel32.Beep
beep:types{ 'ulong', 'ulong' }

beep(440, 200)
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: beep в макросах

Post by John Doe »

Code: Select all

require"alien"

local beep = alien.Kernel32.Beep
beep:types{ 'ulong', 'ulong' }

local a,b,d,g=440,494,587,392
local MHALL={
{b, 200},{a, 200},{g, 200},{a, 200},{b, 200},{b, 200},{b, 400},
{a, 200},{a, 200},{a, 400},         {b, 200},{d, 200},{d, 400},
{b, 200},{a, 200},{g, 200},{a, 200},{b, 200},{b, 200},{b, 200},{b, 200},
{a, 200},{a, 200},{b, 200},{a, 200},{g, 800}
}
for _,n in ipairs(MHALL) do beep(unpack(n)) end
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: beep в макросах

Post by Shmuel »

John Doe
Код свой или из сети?
С точки зрения производительности, можно убрать все внутренние таблицы и делать так:

Code: Select all

for k=1,#MHALL-1,2 do beep(MHALL[k],MHALL[k+1]) end
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: beep в макросах

Post by John Doe »

Код свой, поэтому неоптимальный :-)

Вопрос насчёт Alien: в составе LuaForWindows_v5.1.4-46.exe идёт Alien версии 0.5.0.
Почему они не используют последнюю 0.7.0?
Или хотя бы 0.5.1: bugfix release
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: beep в макросах

Post by Shmuel »

John Doe wrote:Код свой, поэтому неоптимальный :-)
Зато он лучше оптимального по читаемости и поддерживаемости.
John Doe wrote:Вопрос насчёт Alien: в составе LuaForWindows_v5.1.4-46.exe идёт Alien версии 0.5.0.
Почему они не используют последнюю 0.7.0?
Или хотя бы 0.5.1: bugfix release
Не знаю. Возможно их релиз был раньше по времени, а возможно просто не потрудились обновить.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: beep в макросах

Post by John Doe »

А вы пользуетесь?
Если да, то какой версией. Если нет, то чем заменяете?

Бинарники 0.7 не нашёл, но на luarocks.org есть 0.6.1.
Почему-то beep = alien.Kernel32.Beep не работает, пока явно не загрузишь по имени: alien.Kernel32=alien.load("Kernel32").
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: beep в макросах

Post by Shmuel »

В своё время игрался с Alien, но уже давно не пользовался, хоть и установлен. Поэтому не могу ответить на вопросы. Заменять его не надо, раз работает.
Post Reply

Return to “Обсуждение макросов”