Думаю стоит не убирать в байпас трек который стоит в режиме записи, там их два режима думаю на два режима делать исключение rec и активный arm record
Дело в том, что REC на треке это САМЫЙ злейший враг производительности, его бы при работе над аранжем ВООБЩЕ отключать.На эти два состояния трека исключить уход в оптимизацию
Да, я понимаю, но это два разных режима - запись и аранжировка и под них лучше наверное иметь и два разных подхода и скрипта, как следствие.в том то и дело что иногда пустить тех несчастных два три процента а порой и семь CPU с не играющего трека, на запись .
Не, скриптинг тут не при чём. Просто это две разные задачи, которые совместить сложно, да и не нужно скорее всего - так как при Аранже треки со включённой записью не нужны, а при записи, скорее всего, часть треков уже записанных могут быть не нужны или их уж точно лучше фризить на тяжёлых проектах и слабых компах.А тут я уже не знаю специфику скриптинга и его работы какие его особенности на записи и на плее
На самом деле по сути это один режим. Т.Е. не отключать фх с армированых треков.Думаю стоит не убирать в байпас трек который стоит в режиме записи, там их два режима думаю на два режима делать исключение rec и активный arm record
Не совсем понял механику процесса, но думаю что мы мыслим одинаково. Напишу по своему.по идее, лучше собирать данные об айтемах(start, end) на треке при изменениях в проекте Proj Change, это редко происходит.
Так, кстати, ничего не потеряется не по трекам, ни по айтемам. Создать как бы маршрут, где и на каких треках делать проверку.
Потом доставать все из таблицы, а не перебирать при каждом цикле дефера все это богатство, тем более, когда его много.
Устанавливать в "I_FXEN" постоянно на уже глухих треках не стоит.
Латенси можно получить из АПИ. Правда, там были мелкие расхождения, насколько помнится, но не существенные.
Ну а дальше примерно так как и сделано.
-------------
И по поводу Proj Change момент, если будете делать - нужно не учитывать изменения, внесенные самим скриптом. Если это будет счетчик - после того, как скрипт вносит свои изменения - просто сразу обновляйте счетчик.
То перестать наверное отключать фх на том треке где произошли изменения до тех пор пока не восстановится карта автоматизации. Или же перейти на режим слежки с последующим восстановлением таблицы. А вообще наверное как-то можно восстанавливать таблицу по мере изменений проекта.при изменениях в проекте Proj Change
Кто у нас монстры мы знаем, не будем тыкать пальцами, я же просто - ушки на макушке, люблю разбираться с интересными и полезными задачками, ну и если что - телефончик одного монстра имеется - звонок Другу всегда поможет.@Aleksandr Oleynik, ты просто монстр. Замутить такое!!!!!!!!!!!
Я на глаз поставил порог, он, к сожалению снимается API не в dB. Можно просто поменять ручками значение - сейчас, до компа доберусь и скажу какая строка.@Aleksandr Oleynik, нарвался на баг с реверберацией. Детектор отловил минимальное значение амплитуды и ревер прервался значительно ранее чем нужно. Видимо волна через ноль проскочила. Давай ка считать по RMS. Тогда не будет ложного обрывания сигнала.
Смоделировал на 4-ёх Reacomp с макимальным лукахидом по 250. Итого получилось 44100 сэмплов. Запуская проект с пустого места, проигрываем чутка айтем и, не дожидаясь его окончания, стопуем. Далее снова стартуем с того же места и ловим баг при начале айтема. Также баго показательно ведёт себя JS Time Adjust Delay or Negative Delay при отрацательных задержках. По идее он должен начать играть ранее, а получается что съедает часть айтема как раз на величину задержки.А вот по поводу PDC не очень понял, он ведь только задерживает, он начало айтема ни как не передвинет в лево.
Само собой. Но там не сложно. Не надо особо изгаляться, выбрать окно в 50 мс и всех делов. Функцию знаешь же?Чтоб считывать RMS, нужно функцию писать
В общем получается то, что бы плагин с PDC отрабатывал правильно, FX надо включать заранее на то количество сэмплов, которое репортируется в окне ФХ. Причем надо брать максимальное, т.к. оно и есть реальное. Рипер же кратно буферу задерживает. Как я и думал так и получилось.По идее он должен начать играть ранее, а получается что съедает часть айтема как раз на величину задержки.
Вопрос с лукахидом наверное то же не обделён вниманием. Если нет, то поделюсь размышлениями. На некоторых FX может использоваться лукахид. Например тотже самый Reacomp. Плагины будут давать репорт о PDC, и вот на эту величину и надо заранее включать FX.
Само собой. Но там не сложно. Не надо особо изгаляться, выбрать окно в 50 мс и всех делов. Функцию знаешь же?
RMS=квадратный корень (суммы квадратов значений поделённых на их количество).
Вопрос, а функция reaper.Track_GetPeakInfo( track, 0 ) возвращает значение модуля или может быть как положительное так и отрицательное значение? Если последние, тогда надо использовать модуль функции.Это не будет работать. Частота обновления ReaScript от 20Гц.
Вот так вот и можно сделать. Причем временного промежутка работы скрипта вполне хватит как единицы временной дистанции. Если указание времени всё равно нужно то используй 250 мс. Ну и конечно просчёт стерео обязательно надо сделать. Баг отловлен. Если поставить стерео файл, повесить восьмушками делэй с фидбэком -6 дБ, то при повороте панарамы круто влево - звучит как надо, то при повороте вправо - звучит только один повтор и далее звук прерывается.я могу сделать не разовый опрос, а по двум точкам с временной дистанцией (какой-то), чтоб избежать ложного срабатывания на кратковременное снижение уровня ниже порога.
Ну и ещё для стерео сигналов добавлю высчитывание среднего значения.
Кстати, сейчас заметил особенность работы скрипта. Если на треке нет айтемов, то ФХы скрипт не отключает. Что собственно хорошо для аук треков.
Хорошее замечание для работы с миди инструментами. Но тут мы можем столкнуться с другой проблемой, когда одна "миди" дорожка посылает миди данные на другую дорожку с инструментом. Придется последнюю заполнять пустыми айтемами.При первом варианте (Выключенный плей) нужно дать функцию чтобы выделеный трек оcтавался в UnBypass а при смене на другой выделеный уходил в Байпас и выводя новый виделенны из байпаса.
Очепятка, сори. Аукс, он же Aux, он же FX track. Используется для временных эфектов. Вторая разновидность - групп трэки.Что именно это АУК? И чем собственно хорошо? Если Вас не затруднит
Работает.усреднённое значение пиков уровня для стерео сигналов
Понял а отсутствие айтемов на треке сыграло положительную роль для моего ForRetroRec(MIDI) v20151213 на первом скрытом треке Он в обеих режимах всегда пока в "тонусе"Хорошее замечание для работы с миди инструментами. Но тут мы можем столкнуться с другой проблемой, когда одна "миди" дорожка посылает миди данные на другую дорожку с инструментом. Придется последнюю заполнять пустыми айтемами.
[DOUBLEPOST=1508914675][/DOUBLEPOST]
Очепятка, сори. Аукс, он же Aux, он же FX track. Используется для временных эфектов. Вторая разновидность - групп трэки.
@Maestro Sound, дальнейшее объяснение выходит за рамки топика.