Sound (модуль для PowerShellFar)

Здесь можно обсудить ваш любимый плагин.
Post Reply
AGu
Posts: 111
Joined: Wed 16 Mar, 2005 13:17
Location: Novosibirsk
Contact:

Sound (модуль для PowerShellFar)

Post by AGu »

Модуль для PowerShellFar, реализующий скромный набор функций для проигрывания звуковых файлов.

Модуль позволяет:
  • регистрировать звуковые файлы под короткими именами (ключами);
  • проигрывать зарегистрированные звуки асинхронно или синхронно;
  • проигрывать звуковые файлы асинхронно или синхронно;
  • проигрывать системные звуки.
К сожалению, (помимо системных звуков) модуль умеет проигрывать только wav-файлы, но, думаю, этого достаточно для главной цели -- предоставить механизм простых звуковых оповещений.

Ваш покорный написал этот модуль, главным образом, ради следующей фишки: при переключении языка (точнее, после $xlat) проигрывать один из двух короткеньких звуков в зависимости от того, на какой язык произошло переключение.
С этой целью под именами "Rus" и "Eng" были зарегистрированы два звуковых файла (этакие "руский писк" и "английский пшик") и написан следующий макрос:

Code: Select all

$xlat
$if (kbdlayout()==0x4090409)
  CallPlugin(0xcd, ">: Invoke-Sound Rus")
$else
  CallPlugin(0xcd, ">: Invoke-Sound Eng")
$end
kbdLayout(1)
В принципе можно зарегистровать кучу других звучков и разнообразно пищать в зависимости от совершаемых действий и происходящих событий.

Инструкции по установке и историю версий см. в файле "about_Sound.help.txt".
Attachments
Sound.7z
Версия 1.02
(3.33 KiB) Downloaded 118 times
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Sound (модуль для PowerShellFar)

Post by NightRoman »

Поигрался. Полезная штука, если кто любитель озвучки событий (я иногда). А системных (готовых, так сказать) звуков только столько: Asterisk, Beep, Exclamation, Hand, Question? Это жестко забито в модуле или звуковой АПИ только эти дает?
К сожалению, модуль умеет работать только с wav-файлами
Эта фраза отпугивает, по-моему. Может: "Кроме готовых к использованию системных звуков модуль умеет проигрывать только wav-файлы."?
AGu
Posts: 111
Joined: Wed 16 Mar, 2005 13:17
Location: Novosibirsk
Contact:

Re: Sound (модуль для PowerShellFar)

Post by AGu »

NightRoman wrote:А системных (готовых, так сказать) звуков только столько: Asterisk, Beep, Exclamation, Hand, Question? Это жестко забито в модуле или звуковой АПИ только эти дает?
Ага. Это ограничение .NET класса Media.SystemSounds.
Я не стал заморачиваться с альтернативными подходами к выуживанию системных звуков, но если появится соцзаказ -- попробую заморочиться.
NightRoman wrote:Эта фраза отпугивает, по-моему.
Спасибо. Исправил.

В версии 1.01 (см. шапку) исчезли функции Invoke-SoundFile и Invoke-SoundEvent.
Их поведение внедрено в (ставшую более универсальной) функцию Invoke-Sound (за счет механизма ParameterSet).
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Sound (модуль для PowerShellFar)

Post by HaRT »

AGu wrote:С этой целью под именами "Rus" и "Eng" были зарегистрированы два звуковых файла (этакие "руский писк" и "английский пшик")
Отчего бы не взять готовые звучки, скажем, из KeySwitcher'а? Так можно было бы обеспечить этакую преемственность и совместимость…
Фар есть инструмент, а не нянька. © 2009 DrKnS
AGu
Posts: 111
Joined: Wed 16 Mar, 2005 13:17
Location: Novosibirsk
Contact:

Re: Sound (модуль для PowerShellFar)

Post by AGu »

HaRT wrote:Отчего бы не взять готовые звучки, скажем, из KeySwitcher'а?
Эээ... Хмм... Это вопрос? Или предложение?
Если в дистрибутиве или установочной папке KeySwitcher'а есть wav-файлы,
то нет проблем -- регистриуем их и инвокаем, когда хотим.

P.S. Видать, я не просек реплику. Что имелось в виду, HaRT? :-)
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Sound (модуль для PowerShellFar)

Post by HaRT »

AGu wrote:
HaRT wrote:Что имелось в виду, HaRT? :-)
Имелось в виду не вносить лишний разнобой и при возможности использовать привычные многим звучки. :-)
Фар есть инструмент, а не нянька. © 2009 DrKnS
AGu
Posts: 111
Joined: Wed 16 Mar, 2005 13:17
Location: Novosibirsk
Contact:

Re: Sound (модуль для PowerShellFar)

Post by AGu »

Что-то я туп сегодня, HaRT. :-)
Модуль в принципе никак не связан с переключением языка,
а звуковое оповещение при смене языка -- это всего лишь пример.
У модуля общее назначение -- дать возможность регистрировать и издавать звуки.
Юзер может использовать эти возможности как ему заблагорассудится,
и если он не хочет вносить разнобой, то будет задействовать привычные звуки.

P.S. Пардон, если опять не понял.
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Sound (модуль для PowerShellFar)

Post by Kildor »

А что такое кейсвитчер, и откуда он на каждом компе?
Есть ещё полдесятка других схем, опять же разной степени распространённости.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Sound (модуль для PowerShellFar)

Post by HaRT »

Kildor
KeySwitcher — это программа, пришедшая на смену Keyboard Ninja, от того же автора. И зачем ей быть на каждом компе?

AGu
Возможно, это я неправильно понял — по описанию мне показалось, что к схемам, упомянутым Kildor'ом, Вы пытаетесь добавить ещё одну, и я не понял зачем. Если я ошибся, прошу меня простить.
Фар есть инструмент, а не нянька. © 2009 DrKnS
AGu
Posts: 111
Joined: Wed 16 Mar, 2005 13:17
Location: Novosibirsk
Contact:

Re: Sound (модуль для PowerShellFar)

Post by AGu »

Версия 1.02

[*] The documentation is updated according to a new FarNet release:
starting with FarNet 4.3.37, the CallPlugin macro function
can be used, and this is the preferred method of calling
commands of FarNet modules, including those of PowerShellFar.
Post Reply

Return to “Обсуждение плагинов”