@EUGEN27771, Спасибо, теперь всё круто! Нельзя ли сделать, что бы при цикле, айтемы не переписывались, а наслаивались так же, как при обычной записи?
Но подобная система в других DAW ведёт себя так-же ---- если не нажали кнопку "выкладывания" на таймлайн наигранного миди до следующего цикла, данные перезаписываются без сохранения.
Сохранять всю историю всех тейков до вызова их на таймлайт наверняка можно и Женя это может сделать. А вот нужно ли это - вопрос...
PS: пока писал, Женя ответил
[DOUBLEPOST=1447683752,1447683439][/DOUBLEPOST]Женя, а у меня вот какой ещё есть вопрос.
А нельзя сделать так, чтобы сам скрипт создавал JS плагин и трэк со всеми настройками (спрятаный) и потом проверял - JS уже есть, не генерим его, Трэк уже лежит в проекте - не создаём.
Т.е. первое нажатие на скрипт в проекте, в котором собираются использовать эту функцию сам и генерил всё для этого необходимое - в общем эмитация включение ТАКОГО режима в любой другой DAW где он есть, без всех этих пояснений по JS-у вообще.
Нажали на скрипт, выпало окошко с вопросом о включении режима, пользователь ответил Включить - дальше вот то, что написал я и при последующих нажатиях на скрипт уже только считываем данные с JS и выкладываем на таймлайн. Ответил Не включать - вышли из скрипта без всяких.
Скрипт ведь умеет создавать файлы с любым содержимым и любым расширением (или без него).
[DOUBLEPOST=1447684427][/DOUBLEPOST]
Нужно четко продумать,как программе определять-начался ли новый цикл или это просто пользователь сменил позицию курсора вручную,особенно если внутри самого цикла.
Женя, а не нужно ни чего определять кроме собственно смены позиции курсора и его положения.
Положение ты и так определяешь, осталось только определять, что при плэе сменилось положение курсора скачкообразно (более чем на один сэмпл) - и с этой новой позиции и запоминать новый тэйк и туда его потом и вставлять. И не важно, это в том-же цикле или за его пределами.
А вот обнуление всей памяти JS-а делать ТОЛЬКО при нажатии на Play.