Для управления работой футсвич контроллеров серии FSW-02 используется специальная программа управления Footswitch Management Software
В этом обзоре мы рассмотрим настройку этой программы используя действие MouseBtn на примере программ Amplitube2 и Cakewalk Sonar.
|
 |
TEXT +
TEXT -
Footswitch Management Software Использование действия MouseBtn на примере программ Amplitube2 и Cakewalk Sonar
Система управления приложениями в операционной системе Microsoft Windows построена на основе оконных сообщений Windows Messages.
Например, когда вы кликаете мышкой по элементу управления программы, в окно приложения передается определенное сообщение. Программа Footswitch Management Software позволяет имитировать эти сообщения.
Программа может имитировать два типа сообщений.
1. Клик левой клавишей мыши в определенное место окна приложения. При этом действии мы передаем оконное сообщение
WM_LBUTTONDOWN содержащее в параметре
lParam: координаты места.
2. Клик в определенный элемент управления (кнопку на панели инструментов или пункт меню). При этом действии мы передаем оконное сообщение
WM_COMMAND содержащее параметр команды
wParam:
Параметры
Caption: (Заголовок окна) и
Class: (Класс окна) определяющие какому именно окну адресованы эти сообщения у них общие.
Далее мы рассмотрим каждый тип действия.
Клик в определенные координаты окна приложения.
Стандалон версия программы Amplitube2 не имеет возможности управления через горячие клавиши и через MIDI интерфейс. Рассмотрим работу действия на примере этой программы.
Прежде всего, нужно правильно выбрать элемент управления в приложении для выполнения этого действия.
Так как мы будем кликать мышкой в определенное место окна приложения, элемент управления не должен менять свое положение при изменении размеров окна приложения, иначе действие может перестать работать. Для наших целей хорошо подойдут кнопки переключения пресетов, показанные на картинке.
Определение параметров оконного сообщения
Нам нужно определить, какие параметры сообщения передаются в программу, когда мы кликаем мышкой по этим кнопкам.
Поможет нам в этом специальная программа
SPYxx, бесплатная утилита, входящая в поставку среды программирования Microsoft Visual Studio, вы можете найти эту программу на установочном диске в папке
/Utils
Всего этих параметров три.
Caption: заголовок окна управляемого приложения
Class: класс окна управляемого приложения
lParam: координаты места где нужно кликнуть мышкой
Запустите программу
SPYxx и нажмите кнопку
Message Log
Откроется окно
Message Options
Возьмите прицел
Finder Tool и наведите его на кнопки переключения пресетов в окне программы
AmpliTube
В группе
Sеlected Object мы уже можем видеть часть необходимых нам параметров, заголовок окна содержится в поле
Text: класс окна в поле
Class:
Перейдите на вкладку
Messages
Нажмите кнопку
Clear All для очистки фильтра сообщений, и поставьте галочку
Mouse, далее нажмите кнопку
OK
После этого, если мы будем двигать мышкой по окну программы
Amplitude, программа SPYxx будет перехватывать сообщения, и в окне
Messages мы увидим лог сообщений.
Наведите курсор мыши на интересующий элемент управления программы AmpliTube, кнопку переключения пресета вниз.
Запомните номер последнего сообщения в окне
Messages программы
SPYxx, после этого нажмите клавишу мыши, кликнув по кнопке переключения пресетов в программе Amplitube.
Вернитесь в программу
SPYxx, и перейдите в списке сообщений к номеру запомненного сообщения, в этом примере это номер 00173
Двигайтесь по списку вниз от номера запомненного сообщения и ищите строку с командой
WM_LBUTTONDOWN, дважды кликните по этой строке.
В появившемся окне мы увидим интересующий нас параметр
lParam:
Остается записать эти настройки в программу Footswich Management Software и проверить работу команды.
Заполненное окно настроек команды
Mouse Btn будет выглядеть так.
Пояснения к заполнению полей.
Для выполнения команды, требуется заполнить минимум два поля, поле
IParam: и одно из полей
Caption: или
Class: какие именно поля нужно заполнить зависит от каждой конкретной программы. Для управления программой Amplitube можно использовать оба варианта.
У некоторых программ
Класс окна и
Заголовок окна могут меняться после перезапуска программы, например, у программы Amplitube изменяется
Класс окна.
В таком случае можно использовать символ звездочка (*) для замены изменяющегося окончания.
Например, вместо записи IKWindow21475218 мы можем написать IKWindow*
Клик в определенный элемент управления.
В отличие от предыдущего типа действия, этот способ не зависит от изменений размеров окна приложения и расположения кнопок или элементов управления.
Например, если мы настроили футсвич контроллер на нажатие кнопки тулбара, для дальнейшего выполнения этой команды уже неважно положение тулбара, он даже может быть отключен для отображения в окне программы, команда все равно будет выполняться.
Настройка этого действия очень похожа на настройку предыдущего действия. В качестве примера мы рассмотрим программу Cakewalk Sonar, и настроим контроллер на выполнение пункта меню этой программы.
Запустите программу
SPYxx и нажмите кнопку
Message Log
Откроется окно
Message Options
Возьмите прицел
Finder Tool и наведите его на рамку главного окна программы Cakewalk SONAR
В окне Message Options поставьте галочки Parent, Children, Windows of Same Thread, Windows of Same Process, в этом случае мы будем захватывать сообщения не только от главного окна, а вообще от всех окон этой программы.
Перейдите на вкладку
Messages
Нажмите кнопку
Clear All для очистки фильтра сообщений
В списке Messages to View найдите и выделите команду
WM_COMMAND и нажмите кнопку
OK
Программа настроена для захвата сообщений.
Вернитесь в программу Cakewalk Sonar и выполните пункт меню,
Tracks - Mute
Первое сообщение в окне Messages программы
SPYxx и есть искомая нами команда
Сделайте двойной клик на этом сообщении.
В окне Message Properties мы увидим интересующий нас параметр
wParam:
Для определения Класса и Заголовка окна, кликните по ссылке в строке
Window Handle
На вкладке General в строке Window Caption мы сможем найти заголовок окна.
На вкладке Class в строке Class Name мы сможем найти класс окна.
Остается записать эти настройки в программу Footswich Management Software и проверить работу команды.
Заполненное окно настроек команды
Mouse Btn будет выглядеть так.
Пояснения к заполнению полей.
Для выполнения команды, требуется заполнить минимум два поля, поле
wParam: и одно из полей
Caption: или
Class: какие именно поля нужно заполнить зависит от каждой конкретной программы.
В данном случае Заголовок окна постоянно меняется в зависимости от того какой проект открыт в программе, поэтому мы не будем его использовать и поле Caption оставим пустым.
Чтобы не писать длинное название Класса окна в поле
Class: его можно сократить до одного слова SONAR*