Когда загружен шаблон automap, надо в самом контроллере изменить порт отправки: edit → Routing → Port [U3] на [U2].
Automai is OFFLINE это "типа тупо заглушка", которая легко затирается любым другим текстом, или тупо отправкой SysEx`а очищающего экран. Мой «device definition» для виртуальника шлёт такие сообщения при инициализации (или когда программа определяет контроллер):
В остальное поведение регулировок у меня для обоих режимов экрана отображение значений разделено на пять частей, как вверху, так и внизу, причём нижняя часть в "праворуком" режиме экрана чуть шире, т.к. я там располагаю значения трёх eq_crossfader (low, mid, high), которые назначены на ползунки, которые, собственно и активирует контроллер в праворукий режим (в леворуком режиме там уже, и просто отображается значение crossfader, кстати, взаимоуводилка ZeRO и активирует леворукий режим, иногда). Для VirtualDJ8\Devices\__.xml это так:
Все названия (а точнее, значения) настраиваются самим VirtualDJ, т.е. заносятся в Mappers\__ - {name}.xml
Естественно, automap на то и предназначен, чтобы на экране можно было помещать названия/значения так, как вам вздумается, ведь можно расположить имя параметра слева, а значение справа, а не сверху-снизу… но это кому как удобнее. Вот в моём случае, по краям экрана располагаются значения BPM для левого и правого проигрывателя, при нажатии одной кнопки там уже отображается их Pitch, другой кнопкой - значение первых ползунков эффекта, при третьей - значения других ползунков эффекта, а в праворуком режиме — оставшееся время проигрывания… И это всё настроено самим виртуальником, причём ещё на 7-ке, ну а некоторые всё же приходилось адаптировать под 8…
Я даже не представляю, как можно «перевести» значения… Ну, одну часть SysEx`а сохранить можно просто текстом, типа [F0][00][20][29][03][03][12][00][02][00][02][01][00][01][04]QuiCtrl1[00][01][00][03][04]значение[00][F7]… вместо QuiCtrl1, соответственно [51][75][69][43][74][72][6C][31], а вот значение... хмм... его нужно в текст переносить, а то будет слать 00~7F, и контроллер это неправильно поймёт… В виртуальнике для этого есть param_cast text или get text 'любой текст `get значение какого-нибудь параметра`', которое преобразовывает в цифры или даже добавляет буквы после цифр…
По поводу Out of range, так это потому, что SL MkII Editor не видит все 90 возможных органов управления (например, тот же crossfader, который по-умолчанию шлёт CC#66 на ZeRO MkII — из-за этого несоответствия справочнику некоторые скрипты даже неправильно сделали — всё потому, что поленились банально открыть автомапный шаблон в шестнадцатеричном редакторе, и посмотреть, какие на самом деле у каждого органа управления назначены CC, правда, чтобы и это понять, нужно изучить структуру по этим двум справочникам: SLMkII Template Offsets .pdf и SL Control Members etc..pdf), а только те, что "типа видны на самом контрллере". Да ещё у некоторых крутилок/бегунков/кнопок может быть настроен тот тип, который невозможно настроить ни самим контроллером, ни SL MkII Editor`ом. Только с помощью SysEx`ов или же ручной правкой в шестнадцатеричном редакторе.
Надёжнее всего получать шаблон в MIDI-OX`е.
Кстати, можно заставить контроллер НЕ ВХОДИТЬ в automap universal template по F00020290303120002000101F7, просто нужно изменить в globals его местоположение, например, на 45-й шаблон (F0002029 0305 12000000 6802 0060 0001 2C F7), при этом сам шаблон с контроллера не удалять. Контроллер будет пытаться вызвать этот шаблон по этому номеру, но просто моргнёт «текущим» и вернётся назад, так его и не загрузив. Но, главное, после изменения его местоположения, случайно не войти в этот шаблон, т.к. сразу после этого контроллер перепишет в globals его «настоящее» местоположение и в следующий раз по этому SysEx`у контроллер уже войдёт в этот шаблон.
Automai is OFFLINE это "типа тупо заглушка", которая легко затирается любым другим текстом, или тупо отправкой SysEx`а очищающего экран. Мой «device definition» для виртуальника шлёт такие сообщения при инициализации (или когда программа определяет контроллер):
Код:
F00020290303120002000100F7F00020290303120002000101F7F0002029030312000200020203012E0104706F636B657473000120010421782C2000F7F00020290303120002000201250104546F702000011C01046000F7
Код:
F000202903051200000068010059000148F7F00020290303120002000201020304536F6D6520636F6E74726F6C7320617265206E65656420746F20756E686964652033726420706F727421204368616E676520696E2057696E646F77732052656769737472797E22446F6E74486964654175746F6D6170506F727473223D64776F72643A30303030303030310001000204484B4C4D202F2053595354454D202F2043757272656E74436F6E74726F6C536574202F207365727669636573202F204E766E557362417564696F202F20506172616D657465727300F7
Код:
<text sysex="F000202903031200020002014104047E20202020202000F7" offset="16" size="6" scroll="no" name="[A] RH LCD_66-Low-71"/>
<text sysex="F000202903031200020002012D04040A2020202020202020202020202020202020202000F7" offset="16" size="19" scroll="no" name="[A] RH LCD_45-Low-64"/>
<text sysex="F000202903031200020002011B04042020202020200001210404202020202020000127040420202020202000F7"><sysex offset="15" size="6" scroll="no" name="[A] RH LCD_27-Low-32"/><sysex offset="26" size="6" scroll="no" name="[A] RH LCD_33-Low-38"/><sysex offset="37" size="6" scroll="no" name="[A] RH LCD_39-Low-44"/></text>
<text sysex="F00020290303120002000201070404202020202020202020202020202020202020200A00F7" offset="15" size="19" scroll="no" name="[A] RH LCD_07-Low-25"/>
<text sysex="F000202903031200020002010004042020202020207F00F7" offset="15" size="6" scroll="no" name="[A] RH LCD_00-Low-05"/>
<text sysex="F000202903031200020002014402042020202000F7" offset="15" size="4" scroll="no" name="[A] RH LCD_68-Top-71"/>
<text sysex="F000202903031200020002012D0204202020202020202020202020202020202020202020207F00F7" offset="15" size="22" scroll="no" name="[A] RH LCD_45-Top-66"/>
<text sysex="F0002029030312000200020127020420202020202000F7" offset="15" size="6" scroll="no" name="[A] RH LCD_39-Top-44"/>
<text sysex="F0002029030312000200020121020420202020202000F7" offset="15" size="6" scroll="no" name="[A] RH LCD_33-Top-38"/>
<text sysex="F000202903031200020002011B020420202020202000F7" offset="15" size="6" scroll="no" name="[A] RH LCD_27-Top-32"/>
<text sysex="F000202903031200020002010502042020202020202020202020202020202020202020202000F7" offset="15" size="22" scroll="no" name="[A] RH LCD_05-Top-26"/>
<text sysex="F00020290303120002000201000204202020207E00F7" offset="15" size="4" scroll="no" name="[A] RH LCD_00-Top-03"/>
<text sysex="F00020290303120002000201420104202020202020000142030420202020202000F7"><sysex offset="15" size="6" scroll="no" name="[A] LH LCD_66-Top-71"/><sysex offset="26" size="6" scroll="no" name="[A] LH LCD_66-Low-71"/></text>
<text sysex="F0002029030312000200020127030420202020202020202020202020202020202020202020202020207E00F7" offset="15" size="26" scroll="no" name="[A] LH LCD_39-Low-64"/>
<text sysex="F0002029030312000200020121030420202020202000F7" offset="15" size="6" scroll="no" name="[A] LH LCD_33-Low-38"/>
<text sysex="F000202903031200020002010603047F20202020202020202020202020202020202020202020202020202000F7" offset="16" size="26" scroll="no" name="[A] LH LCD_07-Low-32"/>
<text sysex="F0002029030312000200020127010420202020202020202020202020202020202020202020202020207F00F7" offset="15" size="26" scroll="no" name="[A] LH LCD_39-Top-64"/>
<text sysex="F0002029030312000200020121010420202020202000F7" offset="15" size="6" scroll="no" name="[A] LH LCD_33-Top-38"/>
<text sysex="F000202903031200020002010701047E202020202020202020202020202020202020202020202020202000F7" offset="16" size="26" scroll="no" name="[A] LH LCD_07-Top-32"/>
<text sysex="F00020290303120002000201000104202020202020000100030420202020202000F7"><sysex offset="15" size="6" scroll="no" name="[A] LH LCD_00-Top-05"/><sysex offset="26" size="6" scroll="no" name="[A] LH LCD_00-Low-05"/></text>
Естественно, automap на то и предназначен, чтобы на экране можно было помещать названия/значения так, как вам вздумается, ведь можно расположить имя параметра слева, а значение справа, а не сверху-снизу… но это кому как удобнее. Вот в моём случае, по краям экрана располагаются значения BPM для левого и правого проигрывателя, при нажатии одной кнопки там уже отображается их Pitch, другой кнопкой - значение первых ползунков эффекта, при третьей - значения других ползунков эффекта, а в праворуком режиме — оставшееся время проигрывания… И это всё настроено самим виртуальником, причём ещё на 7-ке, ну а некоторые всё же приходилось адаптировать под 8…
Я даже не представляю, как можно «перевести» значения… Ну, одну часть SysEx`а сохранить можно просто текстом, типа [F0][00][20][29][03][03][12][00][02][00][02][01][00][01][04]QuiCtrl1[00][01][00][03][04]значение[00][F7]… вместо QuiCtrl1, соответственно [51][75][69][43][74][72][6C][31], а вот значение... хмм... его нужно в текст переносить, а то будет слать 00~7F, и контроллер это неправильно поймёт… В виртуальнике для этого есть param_cast text или get text 'любой текст `get значение какого-нибудь параметра`', которое преобразовывает в цифры или даже добавляет буквы после цифр…
По поводу Out of range, так это потому, что SL MkII Editor не видит все 90 возможных органов управления (например, тот же crossfader, который по-умолчанию шлёт CC#66 на ZeRO MkII — из-за этого несоответствия справочнику некоторые скрипты даже неправильно сделали — всё потому, что поленились банально открыть автомапный шаблон в шестнадцатеричном редакторе, и посмотреть, какие на самом деле у каждого органа управления назначены CC, правда, чтобы и это понять, нужно изучить структуру по этим двум справочникам: SLMkII Template Offsets .pdf и SL Control Members etc..pdf), а только те, что "типа видны на самом контрллере". Да ещё у некоторых крутилок/бегунков/кнопок может быть настроен тот тип, который невозможно настроить ни самим контроллером, ни SL MkII Editor`ом. Только с помощью SysEx`ов или же ручной правкой в шестнадцатеричном редакторе.
Надёжнее всего получать шаблон в MIDI-OX`е.
Кстати, можно заставить контроллер НЕ ВХОДИТЬ в automap universal template по F00020290303120002000101F7, просто нужно изменить в globals его местоположение, например, на 45-й шаблон (F0002029 0305 12000000 6802 0060 0001 2C F7), при этом сам шаблон с контроллера не удалять. Контроллер будет пытаться вызвать этот шаблон по этому номеру, но просто моргнёт «текущим» и вернётся назад, так его и не загрузив. Но, главное, после изменения его местоположения, случайно не войти в этот шаблон, т.к. сразу после этого контроллер перепишет в globals его «настоящее» местоположение и в следующий раз по этому SysEx`у контроллер уже войдёт в этот шаблон.
Последнее редактирование: