Работа в Logical Editor
Программа преобразований загрузилась в Logical Editor. Посмотрим, как это отразилось на содержании окна (рис. 6.32).
Рис. 6.32. Окно Logical Editor с загруженным пресетом del patch changes
В безымянном раскрывающемся списке, расположенном в верхнем левом углу окна, появилась надпись Delete. Значит, сообщения действительно будут удаляться. Справа в поле комментария содержится пояснение о том, что будут удалены все сообщения, удовлетворяющие условиям фильтрации.
Условие фильтрации набрано в верхнем рабочем поле. Но здесь трудно охватить запись взглядом. Поэтому для справки соответствующее логическое выражение приведено и в информационной строке, расположенной чуть ниже. В данном случае условие выглядит следующим образом:
(Type
=
Program OR (Type
=
Controller AND (Valuel
=
0
OR Valuel
=
32
)))
Попробуем расшифровать эту запись. Начнем с пары внешних скобок – (и). Они служат признаками начала и конца логического оператора, определяющего условия фильтрации. Сообщения каких типов будут удалены?
Или типа Program Change (см. выражение Type = Program), или типа Controller (см. выражение Type = Controller). О том, что именно "или – или", свидетельствует первый слева оператор OR. Все ли сообщения типа Controller будут удалены? Нет, не все, а только те, которые, будучи сообщениями данного типа, одновременно удовлетворяют дополнительным условиям: имеют значения своего параметра, равные или 0, или 32. Об этом свидетельствует выражение (Type = Controller AND (Valuel = 0 OR Valuel – 32)). Как известно, контроллер №0 – это BankSel LSB (младший байт сообщения о выборе банка), а контроллер №32 – это BankSel MSB (старший байт сообщения о выборе банка). Итак, действительно, в рассмотренном условии запрограммировано удаление всех возможных сообщений, связанных со сменой MIDI-инструмента. Даже предусмотрен тот факт, что в различных MIDI-спецификациях предусмотрены различные способы адресации банка.
Рис. 6.33. Верхнее рабочее поле с введенным условием преобразования
Теперь рассмотрим внимательнее верхнее рабочее поле (рис. 6.33) с тем, чтобы понять, каким образом только что проанализированное условие оказалось там записанным.
Содержание условия следует читать слева направо и сверху вниз, как мы обычно читаем книгу. Немного сбивают с толку длинные пробелы между некоторыми элементами, но со временем к этому можно привыкнуть.