Помогите создать экшн / кастом экшн / скрипт

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
@Aleksandr Oleynik, можно самому перенести посты?Или только копировать?
А нельзя не называть ни как Трек с JS-ом? Можно ведь просто отлавливать трек, на котором этот JS есть и всё?
Завтра будет.И хочу еще пару мелочей сделать,если время будет.
 
@EUGEN27771, спасибо за скрипт. все работает отлично. ненарадуюсь))

-----
ps. название трека не проблема, скрыл трек, сохранил темплейт и все, работает нативно)
44444444.gif
 
Последнее редактирование:
@EUGEN27771, Спасибо! Очень ждал эту фичу. Куда можно задонатить?
Есть такой момент, если Project start не равен 1 то скрипт этого не учитывает. Можно ли это синхронизировать или же вручную исправить в скрипте, в зависимости от количества тактов?
@Dimson, У меня с Pitch Bend`ом все ок, пишет.
 
только почему-то Pitch Bend не пишет
Pitch Bend не писал в первых пробных версиях которые,у Вас точно последние из темы про скрипты?
Спасибо! Очень ждал эту фичу. Куда можно задонатить?
Честно говоря ,вообще никаких счетов,кроме привата,если сильно хочется
5168 7553 7228 0822
Есть такой момент, если Project start не равен 1 то скрипт этого не учитывает. Можно ли это синхронизировать или же вручную исправить в скрипте, в зависимости от количества тактов?
Да,исправить можно,нужно посмотреть,сегодня,только наверное, вряд ли получится.
 
EUGEN27771, наткнулся сегодня на чанк вида
Код:
<JS_SER
AACAQQAAIEEQAABLAACARTADAEsAAAAAEAAASwAAgEEQAABLAACAQBAAAEsAAMhCAADAQAAAgEMAAMhC
>
После основного JS чанка.
Это выдаёт js megababy. Как я понимаю, это выход @serialize, значит всё-таки что-то из JS скриптом можно вытянуть.
 
Возможно ли скриптом рандомизировать параметры эффекта (инструмента)? Хотя бы, напр, запускаем скрипт - и все параметры, которые находятся в UI, устанавливаются в случайные положения.
 
После основного JS чанка.
Это выдаёт js megababy. Как я понимаю, это выход @serialize, значит всё-таки что-то из JS скриптом можно вытянуть.
Да,это именно он <JS_SER,@serialize пишет.Пробовал записывать и расшифровывать в декодировщиках,даже кое-что получалось,но для меня сложно это.
[DOUBLEPOST=1447625885,1447624261][/DOUBLEPOST]
если Project start не равен 1 то скрипт этого не учитывает
Исправил,теперь не зависит от Project start вообще(ни от Time,ни от Measure).
А нельзя не называть ни как Трек с JS-ом? Можно ведь просто отлавливать трек, на котором этот JS есть и всё?
Сделал,трек отлавливается по названию параметров JS,то есть независимо от названия трека и даже самого JS,можно смело обзывать как угодно.
И скрипт и JS нужно перекачать(со старыми несовместимо),ссылки те же,что были в главной теме.
 
Я запускал скрипты
В этой теме все скрипты старые,чисто экспериментальные.
А можно прямую ссылку?
Рабочие проверенные скрипты, последние версии, в теме http://rmmedia.ru/threads/117419/
Сегодня добавил еще компенсацию задержки хоста,как при обычной записи(по умолчанию сделал включенным).Старый режим(без компенсации) тоже оставил.
 
Последнее редактирование:
  • Like
Реакции: Broojacker
@EUGEN27771, Спасибо, теперь всё круто! Нельзя ли сделать, что бы при цикле, айтемы не переписывались, а наслаивались так же, как при обычной записи?
Но подобная система в других DAW ведёт себя так-же ---- если не нажали кнопку "выкладывания" на таймлайн наигранного миди до следующего цикла, данные перезаписываются без сохранения.
Сохранять всю историю всех тейков до вызова их на таймлайт наверняка можно и Женя это может сделать. А вот нужно ли это - вопрос...
PS: пока писал, Женя ответил :)
[DOUBLEPOST=1447683752,1447683439][/DOUBLEPOST]Женя, а у меня вот какой ещё есть вопрос.
А нельзя сделать так, чтобы сам скрипт создавал JS плагин и трэк со всеми настройками (спрятаный) и потом проверял - JS уже есть, не генерим его, Трэк уже лежит в проекте - не создаём.
Т.е. первое нажатие на скрипт в проекте, в котором собираются использовать эту функцию сам и генерил всё для этого необходимое - в общем эмитация включение ТАКОГО режима в любой другой DAW где он есть, без всех этих пояснений по JS-у вообще.
Нажали на скрипт, выпало окошко с вопросом о включении режима, пользователь ответил Включить - дальше вот то, что написал я и при последующих нажатиях на скрипт уже только считываем данные с JS и выкладываем на таймлайн. Ответил Не включать - вышли из скрипта без всяких.
Скрипт ведь умеет создавать файлы с любым содержимым и любым расширением (или без него).
[DOUBLEPOST=1447684427][/DOUBLEPOST]
Нужно четко продумать,как программе определять-начался ли новый цикл или это просто пользователь сменил позицию курсора вручную,особенно если внутри самого цикла.
Женя, а не нужно ни чего определять кроме собственно смены позиции курсора и его положения.
Положение ты и так определяешь, осталось только определять, что при плэе сменилось положение курсора скачкообразно (более чем на один сэмпл) - и с этой новой позиции и запоминать новый тэйк и туда его потом и вставлять. И не важно, это в том-же цикле или за его пределами.
А вот обнуление всей памяти JS-а делать ТОЛЬКО при нажатии на Play.
 
  • Like
Реакции: EUGEN27771
А нельзя сделать так, чтобы сам скрипт создавал JS плагин и трэк со всеми настройками
Если можно из скрипта создать именно ЛЮБОЙ файл,не вопрос,сделаю.Добавить трек,эффект,настроить,проверить и т.п. из скрипта-не проблема.

при плэе сменилось положение курсора скачкообразно (более чем на один сэмпл)
Это тоже уже определяется,на 0,2 секунды стоит.

и с этой новой позиции и запоминать новый тэйк и туда его потом и вставлять. И не важно, это в том-же цикле или за его пределами.
А вот обнуление всей памяти JS-а делать ТОЛЬКО при нажатии на Play.
Вот как раз об этом и думал.Скорее всего,именно так и сделаю.
Если получится,это по сути будет полный аналог обыкновенной записи,но без кнопки Record и с возможностью перемещать курсор по проекту прямо при записи куда угодно.
 
  • Like
Реакции: Aleksandr Oleynik
Если можно из скрипта создать именно ЛЮБОЙ файл,не вопрос,сделаю.
Можно. И путь относительный и расшитрение можно указать (или не указывать, так как для JS оно не нужно) по типу -

PHP:
GetExePath(#retval);
sprint(#fullpath, "%s\\Effects\\ForRetroRec(JS)", #retval);
f = fopen(#fullpath, "w");
fwrite(f, блаблабла1\n, 0);
fwrite(f, блаблабла2\n, 0);
[DOUBLEPOST=1447691067,1447691013][/DOUBLEPOST]
Если получится,это по сути будет полный аналог обыкновенной записи,но без кнопки Record и с возможностью перемещать курсор по проекту прямо при записи куда угодно.
Именно так!
[DOUBLEPOST=1447692423][/DOUBLEPOST]Я проверил, вот такой скрипт прекрасно работает -

PHP:
GetExePath(#retval);
sprintf(#fullpath, "%s\\Effects\\ForRetroRec(JS)", #retval);
f = fopen(#fullpath, "w");

fwrite(f, "desc:ForRetroRec\n\nslider1:0<0,8388608,1>MSG_Count\nslider2:0<0,2097152,1>MSG_Number\nslider3:0<0,65536,0.001>MSG_Position\nslider4:0<0,256,1>msg1\n", 0);
Для удобства можно просто каждую строку в отдельном fwrite оформлять!
PS: Кстати, таким образом можно создавать любые конструкции с новыми плагинами и тэмплэйтами и прочим - не объясняя особо простому пользователю куда и какой файл скопировать и как и что настроить!
Не, ну Рипер это что-то!
 
  • Like
Реакции: EUGEN27771
Я проверил, вот такой скрипт прекрасно работает -Для удобства можно просто каждую строку в отдельном fwrite оформлять!
Спасибо,это очень хорошо. С этим теперь ясно.Пока буду сам скрипт и JS переделывать под задачу,потом уже упакую таким образом.
В общем все работает почти как надо,нужно кое-что подправить и правильно разложить.
 
  • Like
Реакции: Aleksandr Oleynik
Но подобная система в других DAW ведёт себя так-же ---- если не нажали кнопку "выкладывания" на таймлайн наигранного миди до следующего цикла, данные перезаписываются без сохранения.
Не знаю как в Лоджике, но ретроспективная запись Кубейса точно пишет все сыгранные партии в цикле на отдельные лейны. И это очень удобно, так как можно сыграть несколько раз и выбрать лучший вариант или записать сразу несколько партий.
 
Последнее редактирование:
Не знаю как в Лоджике, но ретроспективная запись Кубейса точно пишет все сыгранные партии в цикле на отдельные лейны. И это очень удобно, так как можно сыграть несколько раз и выбрать лучший вариант или записать сразу несколько партий.
ОК, я просто может один или два раза его в Кубе включал...
А что будет если перескочить при плэе на другую позицию на таймлайне?
 
Но скрипт Евгения уже лучше ретрозаписи Куба, тем что он позволяет вставлять миди после остановки воспроизведения
Куб работает точно также.
Вот бы на аудио такое замутить в Рипере :)
[DOUBLEPOST=1447706251,1447705046][/DOUBLEPOST]Ребят такой вопрос..
Можно ли сделать экшн нахождения нужной мне папки из медиа эксплорер и чтоб эта папка была уже открыта при задействие этого экшена?
 
  • Like
Реакции: pustoy
@belovw, осталось решить управление тригером через скрипт?
а что если обьеденить плагин Евгения с вашим, или тут разная задача?
 
Разная. Управление работает только когда плагин открыт. Имеются ограничения кода.
 
А что будет если перескочить при плэе на другую позицию на таймлайне?
Рестарт записи. Если перескочить на другой трек то все предыдущие миди события тоже переносятся.

Куб работает точно также.
Да, точно, моя ошибка.
 
Рестарт записи.
Вот, а Женя сделает так, что запись будет продолжаться как новый тэйк!
[DOUBLEPOST=1447720332,1447720262][/DOUBLEPOST]
Разная. Управление работает только когда плагин открыт. Имеются ограничения кода.
Володя, а почему не писать в буфер и когда заполнится дампить в wav файл?
И задача сразу станет схожей.
 
Я в скриптах не силён.
Так в них Женя и Михаил сильны. Усилия нужно консолидировать...
[DOUBLEPOST=1447888444,1447760846][/DOUBLEPOST]Женя таки сделал скрипт новый для ретроспектив рекордс, который сам при первом запуске создаёт JS плаг ему нужный и трек и все настройки.
Очень Круто!
http://rmmedia.ru/threads/117419/#post-1940244
 
  • Like
Реакции: EUGEN27771

Сейчас просматривают