Ну, в нотах чего только не напишут. Всегда лучше спросить и проверить

.
В обед прописал аккордовую логику. Аккорды играют

, но столкнулся с проблемой: если нажать несколько аккордовых кнопок подряд, то громкость повторяющихся нот удваивается

. Потом отпускаешь одну кнопку из двух и она гасит все общие ноты. С левой будет та же проблема из-за повторяющихся нот и кнопок.
Вполне логичный результат, если подумать о том, как и какие миди команды шлет код, и что звук смоделлирован на кнопки (в настоящем аккордеоне он идет не от кнопок, а от резонаторов

) но я такой поворот событий не предвидел.
Решение вполне очевидное - переписать логику образования звука, сначала записать состояние всех кнопок в память и образовывать звук уже от виртуальных "резонаторов" а не от отдельных кнопок, причем делать это отдельно для правой и левой. Ну, никто не говорил, что будет легко.
- Собрать прототип миди клавы.
- Вылечить зависание контроллера.
- Разобраться, как привязать миди-аккорд к одной кнопке для готового баса.
- Переписать логику звукообразования для левой и правой клавиатур.
- Написать логику гтв переключателя
- Реализовать многооктавность и регистры в готовой левой.
- Расширить софт клавы на аккордеонную раскладку и мощино фрибас (148 х 87).
- Смоделировать и распечатать матрицы на левую и правую клавиатуры + стойки для кнопок.
- Собрать клавиатуры и протестировать.
- Подключить воздушный сенсор с черновой настройкой.
- Загнать в корпус и настроить воздушный сенсор.
- Подключить атмосферные сенсоры и сравнить с воздушным.
- Разработать минимальные доп функции (переключатель регистров, метроном).