Когда я писал про «множко попрограммировать», я, похоже, не шутил. В исходниках уже 1666 строк кода (см. рис. 1). Это, конечно, пока ещё прототип, один класс (клавиатуры и управляющие кнопки) ещё не оформлен как надо. Прошивка уже умеет воспринимать «мызыкальные» клавиши и посылать в синтезатор соответствующие команды, и умеет показывать на основном экране основные параметры своего состояния (см. видео ниже). То есть, в принципе, «голая игралка» уже есть; и если присобачить к клавиатурам баяна датчики и подключить к макетке, то можно даже играть. Теоретически.
А практически осталось дописать:
- Настройку параметров для каждой клавиатуры (всего их четыре: правая, левый бас, левый аккорд, и выборный режим левой клавиатуры, когда нет ни баса, ни аккорда, а есть только одиночные ноты, как на правой клавиатуре). Это будет прокручиваемый список на 4 столбца и на 15 строк; первые 3 строки из этого списка показываются на главном экране.
- Настройку системных параметров
- включение/выключение датчика давления
- включение/выключение режима «Running Status»
- выбор типа подключенного синтезатора (либо «General MIDI», либо «ATemp»)
Это программа-минимум. А максимум — это ещё пара интересных режимов, как, например, подключение канала ударных инструментов для баса/аккорда; эта фишка во всех электронных баянах, что я видел, её надо сделать.
На приведенном видео показано, как меняется экран при изменениях отображаемых параметров. Я там на заднем плане щёлкаю кнопками (в основном сенсорными, беззвучными), по нажатиям кнопок меняются параметры, а экран их перерисовывает. Отображается изменения следующих параметров:
- режим левой клавиатуры
- режим датчика давления
- выбранный тип синтезатора
- режим «Running Status»
В реальной жизни состояние левой клавиатуры будет считываться со специального датчика (ещё надо будет придумать, как его реализовать), а остальные параметры будут редактироваться через спец-экран. По крайней мере, я так сейчас планирую.