вот это кстати очень крутая идея, и логичная..
не всё мне пока что понятно, например вся юсби тема, надо потихоньку изучать

в принципе по сути тогда пофигу что использовать, прерывания, дма или чего угодно на такой скорости - довольно медленно все равно, никакой разницы не будет в реальности)3125Гц максимальная частота поступления минимальных квантов миди протокола в стандартном миде порту
вот вопрос, как запись входящих нот делать, если например у тебя крутится паттерн зацикленный, и по миди поступают ноты...
допустим в паттерне всего одна нота, нота длинная, на всю, и note off пришло тогда, когда паттерн уже закончился, и начался новый (он же) по кругу. ну человеческий фактор, поздно отпустишь клавишу.
получается note off пропишется в самом начале паттерна, а не в его конце.
в результате будет note on и тут же note off. звук заткнётся не начавшись)) если отквантовать то они просто на один и тот же тик упадут.
чё делать? держать какую-то еще переменную которая следит сколько конкретно раз секвенсор прокрутился по кругу, в одном паттерне, и так различать "новые" и "старые" ноты, и соответственно их потом сдвигать при квантовании и тд?
или для грамотного разруливания всего этого, нужно ещё и отслеживать какие конкретно в данный момент клавиши уже нажаты? то есть не "тупо" записывать, а учитывать всю картину так сказать..
что делать опять же с такими нотами, зашедшими за границу паттерна, обрезать нафиг, "note off" всегда на конец паттерна выставлять?
но в принципе если это последний аккорд и он не пересекается с тем что в начале паттерна (общих нот нет) то можно и оставить их (события note off) как есть, заходящими по кругу на начало паттерна. это логично, это как человек бы играл.
допустим даже если так, если я теперь нажму "стоп" или паттерн доиграет до конца и сменится на новый(!), а последние note off в его начале, они не отошлются и будут зависшие ноты.
то есть таки надо держать в памяти список всех звучащих сейчас нот, чтоб хотя бы остановить их все при переходе на новый паттерн.
(вот щас в голову пришло)
по идее можно переходить на новый паттерн, и одновременно доигрывать старый паттерн, но играть из него только события "note off", чтоб хвосты красиво доигрались а не обрезались.
опять же, если в этих двух паттернах будут пересечения одинаковых нот, то это опять забей

короче, больше непонятного чем понятного)
вот у меня на этом всё застряло по большому счету. ну и еще пару мелочей.