![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подобие написания/выполнения скрипта
midikey © (2010-01-19 12:35:00)Имеется программа, которая принимает midi-команды . При определенном значении, должно сработать выполнение команды:
if d1=0 and d2=0 then
begin
{некий код}
end
Допустим имеется обычный Memo1. В нем написано: "up down left right" .
программа должна считать каждое слово и выполнить определенную команду.
в стиле:
if слово='up' then <процедура1>
if слово='down' then <процедура2>
Подскажите, как реализовать эту процедуру считывания, т.е. захвата каждого слова и соответствующего выполнения? Хотя бы примерно.
алгоритм:
midi-команда -> выполнить набор команд, прописанных в memo1
(2010-03-10 09:19:00) [1]Удалено модератором
NiGGa (2010-01-21 05:07:00) [2]ах ну да
что-то на подобие Pascal Script или реализацию скрипта в фаст репорте и т.д.
NiGGa (2010-01-21 05:06:00) [3]если я правильно понял, то стоит посмотреть в сторону существующих скрипт реализаций
Сергей М. (2010-01-20 12:58:00) [4]
> ableton так контроллирую
А что, этот самый эблтон разве не предоставляет интерфейс удаленного управления своими функциями с использованием миди-контроллеров ?
Тогда это несерьезное ПО, если к нему еще и прокладки нужно собственноручно изобретать)
Юрий Зотов (2010-01-19 17:15:00) [5]> midikey (19.01.10 14:20) [3]
Если команду загонять в Objects, то все становится проще:
for i:=0 to m.Lines.Count - 1 do
PostKeyEx32(m.Lines.Objects[i], [], False);
midikey (2010-01-19 14:20:00) [6]преобразование миди-команд в клавиатурные
нажал кнопку на миди-контроллере - выполнилась определенная комбинация на обычной клавиатуре. ableton так контроллирую.
вобщем использовал построчное чтение:
for i:=0 to m.Lines.Count do
begin
s:=m.Lines.Strings[i];
s:=UpperCase(s);
if s='UP' then PostKeyEx32(VK_UP, [], False);
if s='DOWN' then PostKeyEx32(VK_DOWN, [], False);
if s='LEFT' then PostKeyEx32(VK_LEFT, [], False);
if s='RIGHT' then PostKeyEx32(VK_RIGHT, [], False);
вроде работает :)
Сергей М. (2010-01-19 14:11:00) [7]Стесляюсь спросить, каким боком слова "up down left right" касаются MIDI-протокола ?
midikey (2010-01-19 12:50:00) [8]кажется понял, проще будет делать выполнение построчно