Я пытаюсь подключить MIDI-контроллер для непосредственного управления переменными CSS с помощью свойства css 'font-var-settings'.
Данные управления MIDI поступают в виде массива UInt8, например [176,0,127], где второе значение - это идентификатор управления, а третье - это значение управления.
CSS для элемента выглядит следующим образом:
настройки изменения шрифта: 'ABC' 99, 'DEF 400;
Я разработал базовую реализацию, где я могу обновить ABC, используя код ниже.
messageData.data - это массив UInt8
if (messageData.data[1] == 0) {
var abc = messageData.data[2];
}
var settings = "font-variation-settings: 'ABC' " + abc + ";" ;
text.setAttribute("style", ('font-variation-settings', settings));
Проблема в том, что если я расширю его, чтобы иметь две переменные, как в приведенном ниже коде. Когда я перемещаю второй MIDI-элемент управления (управляющий DEF), он перезаписывает значение ABC, когда я хочу применить их вместе.
if (messageData.data[1] == 0) {
var abc = messageData.data[2];
} else (messageData.data[1] == 1) {
var def = messageData.data[2];
}
var settings = "font-variation-settings: 'ABC' " + abc + ', DEF' " + def + ";" ;
text.setAttribute("style", ('font-variation-settings', settings));
Любые идеи о том, как я могу преодолеть это?