Помогите создать экшн / кастом экшн / скрипт (2 онлайн)

Supa75

Active Member
21 Мар 2017
590
143
43
43
Днепр, Украина
@belovw, подправь, чтоб выделение айтемов и треков запоминалось и при ресторе восстаналивалось.
ну это ИМХО не обязательно. Если я уже перешел к работе с выделенной областью в арранже, то надобности восстанавливать какие-либо старые выделения после рестора нет (лучше оставить выделения на тех айтемах и треках, где я был в режиме работы скрипта)

Ну и чтоб запоминало состояние что спрятано до применения и не показывало пре ресторе
это да, важно, т.к. почти всегда есть архивные треки, которые спрятаны в TCP и показывать их при ресторе не нужно.
 
  • Like
Реакции: Aleksandr Oleynik

Supa75

Active Member
21 Мар 2017
590
143
43
43
Днепр, Украина
Я за него. Пара экшенов во вложение. Можно так юзать, а можно и через циклэкшен.
немного потестил.
1. Скрипт оставляет только треки с выделенными айтемами. Хотелось бы чтобы он оставлял все треки, у которых в выделенном регионе (тайм-селекшн) есть айтемы (вне зависимости выделены они или нет). Хотя... режим, когда отбражатся тоолько треки с выделенными айтемами тоже хорош. Возможно, это могли бы быть два скрипта: для выделенных айтемов и для выделенного таймселекшена.
2. При повторном запуске скрипта ничего не происходит, т.е. не восстанавливается
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.515
10.563
113
57
Киев
forum.videoediting.ru
@Supa75, Владимир сделал не скрипты, а кастом экшины. Их ДВА - один н прятать, а второй на показывать обратно.
если хотите сделать из них один тогл - то в Цикл Экшине делать нужно.

А вообще - я всё-же напишу именно скрипт.
[DOUBLEPOST=1509112125][/DOUBLEPOST]Такс...., я поговорил с Женей.
- PDC ни трека ни проекта в целом - мы не получим! Будем делать настраиваемый офсет и на включение и на выключение.
- Я останавливаюсь на доработках ЭТОГО скрипта и сел за новый скрипт, более оптимизированный и просто правильный с таблицами, так что будет пауза.
- Может при запуске скрипта делать ещё и оптимизацию самому проекту? Как минимум вырезать тишину из Айтемов?
Я посмотрел свои проекты - у меня куча Glue айтемов везде с тишиной по 5-20 секунд в промежутках.
 
Последнее редактирование:

Supa75

Active Member
21 Мар 2017
590
143
43
43
Днепр, Украина
1. Скрипт оставляет только треки с выделенными айтемами. Хотелось бы чтобы он оставлял все треки, у которых в выделенном регионе (тайм-селекшн) есть айтемы (вне зависимости выделены они или нет).
сори, мой бок. У меня была разорвана связь тайм-селекшена с лупом. Нормально работает. Спасибо

А вообще - я всё-же напишу именно скрипт.
было бы супер. Спасибо
 

Maestro Sound

Active Member
1 Ноя 2007
617
70
28
айтемов везде с тишиной по 5-20 секунд в промежутках
ТО есть будет выключатся внутри итема? Если вырезать? то нужна возможность выбора хочу ли я или нет. Вопрос если Вы складете таблицу потом править ее можно если где баги? Она просто дает АРХИТИКТУРНОЕ представление процессов?
 

Maestro Sound

Active Member
1 Ноя 2007
617
70
28
Может при запуске скрипта делать ещё и оптимизацию самому проекту? Как минимум вырезать тишину из Айтемов?
Я посмотрел свои проекты - у меня куча Glue айтемов везде с тишиной по 5-20 секунд в промежутках.
Отдельным скриптом желательно Оптимизация байпасом это скорей режим проэкта в котором работаешь. А оптимизация по вырезам это скорей "наведение порядка" в аранж поле
 

Maestro Sound

Active Member
1 Ноя 2007
617
70
28
Заинтересовали Вы меня друзья LUA. Буду вечерками ковырять книги видео и Ваши скрипты в изучении. Не знаю насколько получится ну пока интересно нужно отрывать от себя свободное время в основном с 21.00 до первых петухов.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.515
10.563
113
57
Киев
forum.videoediting.ru
оптимизация по вырезам это скорей "наведение порядка" в аранж поле
Просто кто-то это делает, а кто-то нет, а если в проекте будет колбаса от старта до конца из одного айтема с фрагментом в середине на 5 секунд - то мой скрипт НИ ЧЕГО не оптимизирует.
Я видел как работают опытные звукорежисёры - у них всегда все звуковые и миди фрагменты на таймлайне отдельными кусочками айтемов, а не колбасой.
Вот только что с Женей Доном поговорил - он ТОЛЬКО так работает ----- получил трекинг (а он ведь колбасой) - порезал, вырезав тишину ШТАТНЫМИ инструментами Рипера - Auto trim/split items, разукрасил, разложил по папкам - и только потом аранжировка.
С ТАКИМ проектом мой скрипт у него до 25% экономии выдаёт, а с колбасой будет 0%
[DOUBLEPOST=1509124158][/DOUBLEPOST]
Заинтересовали Вы меня друзья LUA. Буду вечерками ковырять книги видео и Ваши скрипты в изучении.
Мои не нужно - я не правильно пишу!
[DOUBLEPOST=1509124544][/DOUBLEPOST]
ТО есть будет выключатся внутри итема?
Можно и так, но это приведёт к необходимости перейти на отслеживание по звуку и как следствие вводить лукахед (задержку) чтоб успеть включить с офсетом и не потерять начальные транзиенты да и вот плагины с задержкой внесут свои фокусы.
В общем лучше проект оптимизировать штатными средствами Рипера и убрать тишину из айтемов, порезав их на отдельные клипы с пустыми промежутками ---- и тогда мой скрипт сработает на отлично и навигация по проекту будет удобной и вообщее - так правильнее!
 

Maestro Sound

Active Member
1 Ноя 2007
617
70
28
Я отом что в процессе накопления у меня и так все по кусочкам просто хотелось чтоб он оставлял как есть мои кусочки Потому и хотелось право выбора
 

Maestro Sound

Active Member
1 Ноя 2007
617
70
28
Но вы всё-же попробуйте пройтись по аудио айтемами - Dynamic split items - там настройки очевидные
У меня в этом плане итемы в большинстве стартуют и заканчиваются по сетке к ближней началу звучания
 

belovw

Well-Known Member
22 Апр 2009
5.461
3.702
113
RK Almaty
если в проекте будет колбаса от старта до конца из одного айтема с фрагментом в середине на 5 секунд - то мой скрипт НИ ЧЕГО не оптимизирует.
Да, просто положение и размеры айтемов в таком случае ничего не дадут. Выход айтема на наличие полезного участка тоже накладно сканировать. А что если отсканировать не айтемы, а Peak файлы айтемов? Там же как раз инфа о ххх и зашита. Они компактные, посему обращение к ним и последующая обработка произойдет за считанные мгновения. И во как раз по Peak инфе пропущенной через гейт и занести инфу в первую таблицу. Которая по сути будет являться полезным содержимым айтемов. Это и будет якобы зеркалом проекта. Конечно, если какие-либо изменения в поле аранжировке произошли, то внести их в таблицу.

На правах рац предложения. Глупости если и есть, прошу спокойно и вдумчиво мне объяснить, что бы следующий раз я не мучил серьёзное сообщество околонаучными размышлениями ))
Товарищ@Aleksandr Oleynik, давайте уже совместно обсуждать алгоритм действия скрипта и его условий, так будет продуктивнее.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.515
10.563
113
57
Киев
forum.videoediting.ru
Товарищ@Aleksandr Oleynik, давайте уже совместно обсуждать алгоритм действия скрипта и его условий, так будет продуктивнее.
Пан @belovw, а мы шо по вашему делаем? :)

Вова, я сейчас полностью заново делаю проект, он будет с тблицами и универсальными функциями, я в нём сразу напишу коменты - тебе будет понятно.

А что если отсканировать не айтемы, а Peak файлы айтемов?
Идея хорошая, попробую её обсудить с Женей, он жеж на этих вэйформах СЛОНА съел, я без него за это не возьмусь, я даже не знаю как эти файлы прочесть.
Тем более, что Peak файлы при изменениях в проекте пересохраняются.
Но нужно не забывать, что есть ещё и MIDI Item's

PS: Есть такая замечательная функция, кстати -

integer reaper.GetMediaItemTake_Peaks(MediaItem_Take take, number peakrate, number starttime, integer numchannels, integer numsamplesperchannel, integer want_extra_type, reaper.array buf)
Gets block of peak samples to buf. Note that the peak samples are interleaved, but in two or three blocks (maximums, then minimums, then extra). Return value has 20 bits of returned sample count, then 4 bits of output_mode (0xf00000), then a bit to signify whether extra_type was available (0x1000000). extra_type can be 115 ('s') for spectral information, which will return peak samples as integers with the low 15 bits frequency, next 14 bits tonality.

Она делает сразу массив данных, который, как я подозреваю, нам очень пригодятся.
И Женя эту функцию в своих скриптах использует - значит знает как её поюзать в наших целях.
 
Последнее редактирование:
  • Like
Реакции: Maestro Sound и RJ Baker

Maestro Sound

Active Member
1 Ноя 2007
617
70
28
Пока Александр осуществляет прорыв в оптимизации роботы CPU. Добры люди "скриптознавцы" Есть у меня ЦиклКАКШЕН Заморозки VSTi и возвращение. Соответственно Миди фризится в Залоченое аудио а потом возвращается при повторном нажатии в миди. Я продумал и то, что если трек с не фризеным VSTi (не в байпасе) он его зафризит (забайпасит) перед фризом, а если он он с зафризеным VSTi он вернет его обратно. В любом варианте все FX что на треке остаются не тронутыми. Так вот если у кого будет времячко и желание сделать продуманый скрипт желательно с комментариями внутри что на что включает ( честно? для наглядного анализа и образования). Скрипта с такими функциями я не нашел . Есть похожый Freez Instrument Но там он фризит а назад не возвращает Vsti. Да и есть ньюанс и лажа в моем екшене. Если виделить несколько треков то моя Бадяга не работает. Специфика там такова что перед фризом трека сразу COPY FXChain потом байпасятся все Fx кроме Vsti что первый в списке. Фризится все, при этом стираются все Fx на уже зафризеном . PASTE FXChain и затем байпасится один VSTi. Так вот при выдилении нескольких треков PASTE FXChain вставляет на все выделенные треки, только то, что он скопировал в первом выделеном. Вообще если интересно то вот ЕКШЕН.
 

Вложения

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.515
10.563
113
57
Киев
forum.videoediting.ru
@Supa75, @Slick -
ловите скрипт
Он требует выделения тайм селекшина - зоны, в которой хотите работать, но при старте заменяёт её маркерами начала и конца зоны - чтоб тайм селекшин, как инструмент вы могли тоже в этой зоне использовать при работе для других целей и при этом видели границы зоны.
Ну и все пожелания вроде учёл, проверяйте!
 

Вложения

Последнее редактирование:

Maestro Sound

Active Member
1 Ноя 2007
617
70
28
@Supa75, @Slick -
ловите скрипт
Он требует выделения тайм селекшина - зоны, в которой хотите работать, но при старте заменяёт её маркерами начала и конца зоны - чтоб тайм селекшин, как инструмент вы могли тоже в этой зоне использовать.
Ну и все пожелания вроде учёл, проверяйте!
Баг. Когда Итем заканчивается ровно на конце тайм селекшена трек с этим итемом скрывается тоже. Не знаю стоит ли скрывать также фолдер трек нескрываемых треков Проверил теперь знаю не стоит он мутируется и мутирует не скрываемые треки.. Скрипт с комментариями - хороший пример заботы о пользователях. Тоже не знаю стоит ли скрипт заносить в историю операций UNDO. Этот исключен. И опять же сенды стоит ли и их Мутировать и скрывать, если на них идут посылы нескрываемых треков
 

Вложения

Последнее редактирование:

Slick

IDDQD
13 Май 2008
1.998
924
113
34
Москва, Апрелевка
www.vk.com
@Aleksandr Oleynik, отчитываюсь о скрипте по оптимизации CPU. Это великолепно ) работаю на буфере 128 в большом проекте. раньше 1024 тянул, плюс playback опции опускал до LOW. Комп не такой старый, но уже было напряжно. Сейчас я передумал апгрейдить =)) огромное вам спасибо. пока багов не заметил (скорее всего таких ситуаций у меня в проекте просто нет).
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.515
10.563
113
57
Киев
forum.videoediting.ru
@Slick, так вы о каком из двух скриптов написали?
[DOUBLEPOST=1509230232][/DOUBLEPOST]@Maestro Sound, понял - то что точно по границе - подправлю, с остальным..... чуть позже.

Сегодня в общем благодаря Володе Белову была попытка найти функцию, которая бы давала нам значение пиков на аудио айтемах, чтоб не по границам айтомов строить работу, а по реальному сигналу.
Благодаря Евгению такую функцию нашли и разобрались как с ней работать.
Если всё получиться - то скрипту будет всё равно - порезали ли вы айтемы и убрали ли тишину.
Вот так вот
 
Последнее редактирование:
  • Like
Реакции: Maestro Sound

Maestro Sound

Active Member
1 Ноя 2007
617
70
28
А вот в другом проэкте Баг 1 уже не баг? Не пойму
[DOUBLEPOST=1509230482][/DOUBLEPOST]
@Slick, так вы о каком из двух скриптов написали?
[DOUBLEPOST=1509230232][/DOUBLEPOST]@Maestro Sound, понял - то что точно по границе - подправлю, с остальным..... чуть позже.

Сегодня в общем благодаря Володе Белову была попытка найти функцию, которая бы давала нам значение пиков на аудио айтемах, чтоб не по границам айтомов строить работу, а по реальному сигналу.
Благодаря Евгению такую функцию нашли и разобрались как с ней работать.
Если всё получиться - то скрипту будет всё равно - порезали ли вы айтемы и убрали ли тишину.
Вот так вот
Замечательно Низкий поклон
 

Вложения

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.515
10.563
113
57
Киев
forum.videoediting.ru
@belovw, Женя рассказал как пользоваться reaper.GetMediaItemTake_Peaks
это то, что нам нужно!
Буду пытаться делать без относительно начала и конца айтема, а по реальному сигналу
[DOUBLEPOST=1509230576][/DOUBLEPOST]
А вот в другом проэкте Баг 1 уже не баг? Не пойму
Я знаю почему, исправлю.
 
  • Like
Реакции: belovw и Maestro Sound

Slick

IDDQD
13 Май 2008
1.998
924
113
34
Москва, Апрелевка
www.vk.com
так вы о каком из двух скриптов написали?
О Optimization 6_5. Использую постоянно ) сейчас тестирую скрипт по Hide Show. По поводу time selection, хотелось бы действительно оставлять. в целом очень удобно. тестирую )
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.515
10.563
113
57
Киев
forum.videoediting.ru
А там и есть одна строка, которая убирает слекшин после установки двух маркеров.
Ставете в начале строки два тире и она не работает, убираете их и она работает.
Вот это место -
PHP:
reaper.AddProjectMarker2( 0, 0, init_start_timesel, 0, "START", 5000, 18219002 )
reaper.AddProjectMarker2( 0, 0, init_end_timesel, 0, "END", 5001, 18219002 )
reaper.GetSet_LoopTimeRange(1, 0, 0, 0, 0)
Делаете вот так -

PHP:
reaper.AddProjectMarker2( 0, 0, init_start_timesel, 0, "START", 5000, 18219002 )
reaper.AddProjectMarker2( 0, 0, init_end_timesel, 0, "END", 5001, 18219002 )
--reaper.GetSet_LoopTimeRange(1, 0, 0, 0, 0)
И селекшн не будет удаляться?

Каждый сам может сделать.
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.515
10.563
113
57
Киев
forum.videoediting.ru
Мамой клянусь!
[DOUBLEPOST=1509282249][/DOUBLEPOST]Так, Парни -
Благодаря @EUGEN27771 есть прорыв, я могу строить любые таблицы офлайн пиков Аудио Айтемов и по ним создавать любые схемы включения выключения.
Мне теперь не нужно чтоб айтемы были порезанны и была убранна тишина, всё будет работать и с "колбасой" на 10 часов без удаления тишины.
Вот что я уже умею -

GetPeaks02.gif

Парни, за 250 миллисекунд - создание таблицы со 100 пиками в секунду и установка маркиров по заданному Гейту и Офсету и это у айтема длинной ПОЛТОРА ЧАСА - 540 тыс записей в таблицу и их обработка!!!
@EUGEN27771, таки ДА!!! больше миллиона операций в секунду!

При этом я проверил - для наших целей достаточно замерять со скоростью дефера - 33 пика в секунду - ТОТ ЖЕ результат, с тем-же размером айтема (полтора часа) имеем за 85 мс!
 
Последнее редактирование:

Maestro Sound

Active Member
1 Ноя 2007
617
70
28
Помедленней пожалуйста я записую:confused:. А по словянски можно? Так что даже в танке...... на диссертацию сдать. Интересно же
 

Сейчас онлайн (Пользователей: 1, Гостей: 1)