Рипер для плейбеков

  • Автор темы Автор темы Chehov
  • Дата начала Дата начала

Chehov

Антон Палыч? Не, не знаю.
3 Мар 2008
1.404
774
113
53
Москва-Руза
sc-band.ru
Мужики (ну и дамы, если есть:)), помогите решить задачку, если она вообще решаема
Текущая ситуация:
Использую рипер так - на каждую песню есть подклад (стерео файл) и клик барабанщику (моно файл). В рипере создаю трек папку и туда укладываю эти два файла. Таких папок с вложенными треками соответственно по количеству песен. Естественно треки в папке разведены на разные выходы карты. Дальше - сделал не сложный custom action, к нему на верхнюю панель закрепил кнопки (1,2,3,4...24), при нажатии на которые воспроизведение файлов в текущей солированной папке останавливается, курсор становится на начало и солируется папка по номеру кнопки. Например играла песня 1, нажимаю кнопку 8- солируется 8-мая папка, курсор на старте. Остается только нажать нажать пробел для воспроизведения. Причем весь проект залочен - работают только кнопки в верхней панели. Сделано в качестве защиты от дурака и максимум простоты (плейбеки включает барабанщик, не очень понимает в рипере, да и случайно может мышкой куда то не туда ткнуть). Сразу оговорюсь почему сделано так, а не все файлы в одну дорожку по порядку и к ним маркеры - в этом случае при составлении плейлиста легко ошибиться и привязать маркер не к той песне (были случаи), если что то не так - долго искать нужную песню. В моем случае все песни с названиями и номерами хорошо видно. Минус моего способа - нагрузка на цпу, ибо все файлы вообщем то проигрываются одновременно, просто одна папка солирована. Но пока 70 песен (140 треков) мой не мощный комп, правда с SSD, тянет и не затыкается
Хочется сделать:
чтобы по окончании проигрывания item- ов текущей папки (песни), воспроизведение автоматом останавливалось, курсор на начало проекта, и автоматом солировалась следующая по порядку папка

есть мысли?
 
Последнее редактирование:
@Chehov, для снижения нагрузки на cpu, вам нужно всё делать не через соло определённой папки, а через unmute этой папки (когда все остальные треки замьютированы).
Для реализации вашей "хотелки" вам нужно сделать следующий кастом
Код:
Transport: Stop
Track: Mute all tracks
Transport: Go to start of project
SWS: Select next folder
Track: Unmute tracks
SWS: Unmute children of selected folder(s)
и повесить его на смарт-маркер в конце каждой композиции.
 
@diggidon, спасибо! буду пробовать

Ой, прошу ногами не бить, а что такое смарт маркер?:)
 
Последнее редактирование:
И кстати, необязательно делать папки из треков с файлами. Можно просто многоканальный файл сделать, и развести каналы по выходам.
 
  • Like
Реакции: Oliver_Cray
Ой, прошу ногами не бить, а что такое смарт маркер?
:)
http://www.sws-extension.org/markeractions.php
Если кратко:
Ставите обычный маркер в нужном месте, в названии маркера ставите восклицательный знак и command ID нужного экшна.
Как только плей курсор достигнет этого маркера, будет выполнен соответствующий экшн.

Упс... Только сейчас сообразил, что в вашем случае это не особо поможет.
Все песни у вас разной длины, и при воспроизведении более длинной песни будет срабатывать маркер, поставленный в конце более короткой песни, и будет полная лажа...
Если бы песни шли последовательно (а не параллельно), всё работало бы отлично.
 
Да, тоже сразу об этом подумал....если б можно было экшн привязывать к концу конкретного айтема тогда да
[DOUBLEPOST=1531412763][/DOUBLEPOST]@patt, эт чет сложно:)
[DOUBLEPOST=1531412926][/DOUBLEPOST]@diggidon, Жень но все равно помог, спасибо:) через мьют и правда легче проект, и потом две кнопки down и up все лучшей чем куча кнопок по номеру песни!
 
  • Like
Реакции: diggidon
это как раз просто и у вас клик навсегда будет жестко привязан к минусовке и папок реально никаких не надо.

А по вашему вопросу у меня тоже есть вариант. Вам надо в качестве шортката повесить на нужный экшн МИДИ-команду (в Рипере есть такая опция). А в конце каждого звукового айтема на треке прилепить еще один маленький МИДИ-айтем с этой командой. Единственная тонкость: чтобы эта МИДИ команда попала по адресу, нужно воспользоваться внешним виртуальным МИДИ-лупером (типа такого http://www.tobias-erichsen.de/software/loopmidi.html). Т. е. отдаем команду наружу на лупер прямо или через Reainsert, забираем с него же, выставив в настройках Рипера против порта лупера галку "enable for control messages"
 
Последнее редактирование:
@Chehov, а как происходит навигация между песнями? Мышкой по папке? Кнопками вверх\вниз?
 
@Ortseam, ну я никогда не сводил в мультиканальный файл%) поэтому пока разберусь много воды утечет:)
[DOUBLEPOST=1531414039][/DOUBLEPOST]@diggidon, ну да...ща гифку сделаю
 

Вложения

  • 1.gif
    1.gif
    1,6 MB · Просмотры: 701
пока разберусь много воды утечет
чепуха какая! если уж кастом экшн сами написали, то тут и вообще делать нечего. Рендерите его из Рипера в четырехканалку (число каналов выбирается в окне Render to file) - всего-то и делов.

зы: гляньте выше, я там решение вашей задачи еще добавил в сообщение
 
  • Like
Реакции: borya
@Ortseam, не выходит:) два файла рендерятся в первые два канала, другие два пустые

по Вашему предложению спасибо! только сложно это в плане реализации, у меня вообщем то и так все работает, а перелопачивать 70 треков, прописывать туда миди файл итд, слишком затратное мероприятие. Тем более у меня вот такая штука есть http://rmmedia.ru/threads/132758/
правда пока работает куево:))) но надеюсь разрабы исправят косяки
 

Вложения

  • 2.gif
    2.gif
    3,1 MB · Просмотры: 616
Последнее редактирование:
не выходит два файла рендерятся в первые два канала, другие два пустые
Естественно не выходит, нужно же настроить роутинг выходных каналов))
Нужно вторую дорожку направлять в 3-4 выходы, сейчас она фигачит в 1-2.
По поводу многоканальных вавок абсолютно согласен с @Ortseam, раз перевести всю программу в многоканалку, и забыть про папки и т.д.
 
@Chehov, а что в роутинге канала с кликом?.. или лучше выложите архив с проектом и 2-мя файлами: минусом и кликом, так быстрее будет
[DOUBLEPOST=1531415255][/DOUBLEPOST]
прописывать туда миди файл итд
как же вы все усложняете (в воображении) :) это будет один айтем, которые вы копипастнете на 70 треков. 5 минут работы. Ну и на установку лупера и донастройку Рипера пускай еще минут 15. Ну с запасом это полчаса. Разве много за то, чтобы все заработало так, как вы хотите?
 
Последнее редактирование:
@Chehov, по твоей хотелке есть решение.
Повесь на клавишу Play следующий кастом:
Код:
  Track: Mute all tracks
  Track: Unmute tracks
  SWS: Unmute children of selected folder(s)
  SWS: Select children of selected folder track(s)
  Xenakios/SWS: Select first items of selected tracks
  Time selection: Set time selection to items
  Transport: Play
  SWS: Wait until end of loop (if playing)
  Track: Mute all tracks
  Transport: Go to start of project

Обрати внимание, что
SWS/BR: Options - Toggle "Stop/repeat playback at end of project"
должно быть on, о Repeat (на транспорте) - off!
 
  • Like
Реакции: Ortseam
@diggidon, хитро)) только надо еще селекшн папки вначале засейвить, а в конце реколнуть и сделать
SWS: Select next folder
 
@Ortseam, это можно, но имхо автоматический выбор следующей композиции - это уже горе от ума, там элементарно можно запутаться, и здорово попасть на живом выступлении.
Например, в процессе концерта оперативно принимается решение играть не следующую по списку песню, а какую-то другую - всё, вот и попадос, потому что при старте заиграет не она, а следующая за ней))
Я бы оставил как есть сейчас, и выбирал бы нужный трек ручками.
Короче говоря, пусть @Chehov решает, как ему будет удобнее))
 
@Chehov, оч странно, у меня всё работает отлично...
Попробуй эту модификацию, тут с автовыбором следующей папки.

Код:
  SWS: Save current track selection
  Track: Unmute tracks
  SWS: Unmute children of selected folder(s)
  SWS: Select children of selected folder track(s)
  Xenakios/SWS: Select first items of selected tracks
  Time selection: Set time selection to items
  Transport: Play
  SWS: Wait until end of loop (if playing)
  Track: Mute all tracks
  Transport: Go to start of project
  SWS: Restore saved track selection
  SWS: Select next folder
[DOUBLEPOST=1531417738][/DOUBLEPOST]Блин, действительно подглючивает иногда, причём рандомно...
Не могу поймать причину.

[DOUBLEPOST=1531417969][/DOUBLEPOST]@Chehov,
поменял местами пару строк, сейчас у меня всё работает совершенно корректно, ничего не глючит.

Код:
  SWS: Save current track selection
  Track: Mute all tracks
  Action: Wait 0.1 seconds before next action
  Track: Unmute tracks
  SWS: Unmute children of selected folder(s)
  SWS: Select children of selected folder track(s)
  Xenakios/SWS: Select first items of selected tracks
  Time selection: Set time selection to items
  Transport: Play
  SWS: Wait until end of loop (if playing)
  Transport: Go to start of project
  SWS: Restore saved track selection
  SWS: Select next folder
  Track: Mute all tracks
Попробуй у себя.
 
Последнее редактирование:
  • Like
Реакции: Archie's
А это скрипт, в которой можно запаковать выше перечисленный кастом, чтобы устранить мерцания :) Впрочем любой экшн можно так.
Код:
script_title = "user name"
reaper.Undo_BeginBlock()
reaper.PreventUIRefresh(1)

commandID = reaper.NamedCommandLookup ("сюда ввести ID кастом экшна, не убирая кавычек") 
reaper.Main_OnCommand(commandID, 0)

reaper.UpdateArrange()
reaper.PreventUIRefresh(-1)
reaper.Undo_EndBlock(script_title, 0)
 
  • Like
Реакции: diggidon
ага работает ....только по пробелу остановить проигрывание нельзя! Дигич спасибо тебе! и так уже слишком напросил:)
 
  • Like
Реакции: diggidon
@borisuperful, а наоборот - два скрипта в кастом можно? (в начале "цепочки" скрипт устанавливающий запрет обновления экрана, а в конце - отменяющий). Получится так?
 
чтобы по окончании проигрывания item- ов текущей папки (песни), воспроизведение автоматом останавливалось, курсор на начало проекта, и автоматом солировалась следующая по порядку папка
@Chehov, Смотри - подойдет нет (работает только с папками)
— При запуске скрипта солируется первая выделенная папка,если таковой нет,то от первого выделенного трека первая папка выше,если и выделенных треков нет ,то первая солированная папка,если и таковой нет, то просто первая папка(папка солируется, все остальное мутируется )
— При запуске скрипта появится окно с информацией (№ трека папки,№ папки,PlayState-play/stop/pause/rec, время начала композиции, время воспроизведения,время конца композиции),если это окно закрыть или снять соло с папки то скрипт завершит работу
Когда Воспроизведение дойдет до конца композиции - воспроизведение остановится и курсор переместится в начало проекта (можно сделать что бы перемещался на начало композиции) и выделится следующая папка далее откроется окно с вопросом продолжить воспроизведение (Да -продолжить Нет - остановить скрипт)(окно с вопросом можно убрать)
----------------------------
zzzz.PNG
Обновленно:
GIF
SCRIPT
 

Вложения

Последнее редактирование:
  • Like
Реакции: Chehov
@diggidon, подскажите, тоже хочу чтоб просто останавливалось автоматом. Что нужно сделать для этого?
 
@vitalker, не как у тс. У меня 1 трек барабанный ну и куча клавишных для каждой песни, располагаются в длинну проекта, треки я переключаю маркерами. И вот нужен автостоп.
 
@andy felon, в вашем случае отлично подойдёт маркер-экшн (с восклицательным знаком в названии), второе сообщение в этой теме.
Если совсем просто - в конце каждой композиции поставтье маркер, в названии каждого маркера введите "!1016" (без кавычек).
Как только плей курсор упрётся в такой маркер, воспроизведение остановится.
Upd.
Если нужен не автостоп, а автопауза (чтобы плей курсор оставался в месте остановки) - вводите в название маркеров "!1008" (без кавычек).
В обоих случаях
SWS: Toggle marker actions enable
должен быть on.
 
ага работает ....только по пробелу остановить проигрывание нельзя
Если нужна одна кнопка и на старт и на стоп, это можно сделать через cycle action. Постараюсь завтра.
 
  • Like
Реакции: Chehov

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