Вопрос о работе с маркерами для концертного плейбека (1 онлайн

Vani4

New Member
28 Янв 2010
11
1
3
Доброго времени суток!

Некоторое время назад приобрел миди-контроллер Korg Taktile, возникло желание управлять воспроизведением концертного плейбека с него. Все настроил, нужные команды добавил.
У меня есть концертный проект на 100+ композиций плейбека. На каждый концерт я с помощью маркеров формирую сет-лист, в случае форс-мажоров могу на ходу поменять номера маркеров. При подаче команды "перейти к следующему маркеру", Reaper переходит к ближайшему на time-line. Соответственно, для работы в таком формате, нужно каждый раз условно "пересобирать" проект, расставляя песни по порядку, что весьма не удобно. Вопрос вот в чем:

Есть ли возможность настроить так, чтобы переход осуществлялся к следующему по номеру маркеру, а не к следующему по time-line и как это сделать?

Заранее спасибо.
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Смогу подсказать вечером 18-го, до этого срока только iPad в руках.
Нужно глянуть как лучше, думаю будет не один вариант.
В скриптах видел возможность задавать переход и по порядку и по номеру, но нужен комп чтоб помочь это сделать.
 

Vani4

New Member
28 Янв 2010
11
1
3
@belovw, для изменения нумерации маркеров использовал Marker\Region Manager. На данный момент нашел только опцию "Расставить номера маркеров по расположению в проекте" или как-то так. Но это не решает моей задачи, к сожалению. Так что буду признателен за иные варианты
 

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
осуществлялся к следующему по номеру маркеру, а не к следующему по time-line
PHP:
  local t = {} for i = 1, ({reaper.CountProjectMarkers( 0 )})[2] do t[#t+1] = {({reaper.EnumProjectMarkers( i-1 )})[3],({reaper.EnumProjectMarkers( i-1 )})[6]} end
  table.sort(t, function (a,b) return a[1]>b[1] end)
  for i =1,#t do if reaper.GetCursorPosition()+0.001 > t[i][1] then  cur = t[i] break end end  if not cur then cur = {0,0} end
  table.sort(t, function (a,b) return a[2]<b[2] end)
  for i =1, #t do if cur[2] < t[i][2] then reaper.SetEditCurPos( t[i][1],true,true) break end end
 
Последнее редактирование:

belovw

Well-Known Member
22 Апр 2009
9.230
8.408
113
50
RK Almaty
@belovw, один из вариантов
По мне так единственный. НМВ лучше пользоваться плэйлистами. Во первых, всегда есть возможность подготовить несколько плейлистов. Собственно у меня уже около 20. Часто используемые композиции, статично закрепленные под своим уникальным регионом, не составит труда и времени оперативно добавить в плейлист или мгновенно вызвать по необходимости. А постоянная перенумерация регионов приведет к хаосу в голове.
Еще один плюс за плейлист - не нужно после каждой песни перематывать к следующей. Просто запустил блок и забыл. Если нужна автопауза, то и этот вопрос решаем автоматизировано.
ТС явно не в теме про плэйлисты,
 
  • Like
Реакции: patt

belovw

Well-Known Member
22 Апр 2009
9.230
8.408
113
50
RK Almaty
Да, Region Playlist крут. Как решить автопаузу?
Добавить короткий регион пустышку содержащий пауза маркер. Регион для удобства так и назвать - автопауза. Название региона нужно только что бы в плэйлисте не потеряться. Длину региона и положение маркера паузы подобрать экспериментально. Содержимое паузмаркера слёзно попросить у @Aleksandr Oleynik.
 

patt

Member
10 Мар 2010
87
24
8
Я понимаю. Пробовал. Но в режиме SVS Region Playlist он не реагирует на паузмаркер. Собсно, видимо в Region Playlist пауза не предусмотрена, даже кнопки такой нет. Он играет регион до паузмаркера, и перескакивает на следующий в списке
 
Последнее редактирование:

patt

Member
10 Мар 2010
87
24
8
!40044, !1016, !1008, !40073 это всё паузы и стопы. Результат один. Играет до маркера и перескакивает на следующий регион.
 

belovw

Well-Known Member
22 Апр 2009
9.230
8.408
113
50
RK Almaty
Играет до маркера и перескакивает на следующий регион.
Есть такое. Сори. Предлагаю альтернативный костыль. Создается пустой регион малой длины. Который собственно и добавляется в качестве паузы в плэйлист. Делается на него бесконечное количество повторов (можно ввести отрицательное число). Как плэйлист доходит до него, он зацикливается. Что бы вывести его из этой петли и заставить играть дальше, нужно запустить команду SWS/S&M: Region Playlist - Play next region.
Проверено.
А по хорошему лучше написать разрабам SWS и попросить в PlayList опцию паузы для региона.
 
  • Like
Реакции: patt

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Region Playlist не подходит для задачи ТС, он писался для совсем другого.
Вообще-то с Маркерами и Регионами в Рипере полный кавардак по причине их сквозной номерации.
Т.е. чтоб вы там в ID Маркеров и Регионов не писали, Рипер будет считывать номера последовательно и учитывать и Маркеры и Регионы - вот такая шняга.
Но есть возможность по считанному номеру выяснить всё что нужно и о Маркере и о Регионе.
Я давно собирался написать скрипт который бы читал Плэйлист Пользователя и правильно задавал очередь проигрываемых фрагментов (Видимо всё-же Регионов).
Но я с GUI скриптовыми на ВЫ и времени особо сейчас нет, увы.
Что-то попробую сделать, чтоб хотябы можно было "скакать" по Регионам не по Тайм Лайн их очерёдности, а по заданным Пользователям номерам ID.
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
В общем могу написать какой-то скрипт (пока без GUI) который бы понимал куда скакнуть дальше по номеру Региона присвоенному Пользователем. Но хотелось бы два раза саблю не вытирать и сделать это максимально удобно.
Могу и по маркерам сделать, как хотел ТС.
[DOUBLEPOST=1508571746][/DOUBLEPOST]@Vani4, а как вы в вашей схеме маркеров останавливаете плэйбэк после проигрывания очередной композиции?
И ещё вопрос - как вы переназначаете номера Маркеров? Ну вот была у вас номерация по таймлайну такая -
1, 2, 3, 4, 5, 6, 7, 8
Теперь вам нужно чтобы второй на таймлайне маркер стал седьмым, а седьмой вторым -
но рипер же не даст назначить существующий номер. Этож какая жутчяйшая морока - в начале 7-ой переименовать в не существующий номер, потом 2-ой в 7-ой и только потом 7-ой во 2-ой - ЭТОЖ КАПЕЦ как не удобно.
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
по мне лучше не заниматься перенумеровкой
По мне тоже (и я ещё кучу аргументов против такого способа привёл выше), но тогда нужно писать полноценный скрипт - Compose Play List, потому как Region Playlist вообще мимо.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Сделал ещё один "пристрелочный" скрипт для Compose Set List на базе Regions.
Что он умеет можно глянуть в анимашке -
Set List 01.gif

Скрипт с defer, т.е. он работает пока не выполнится определённая операция (в данном случаи не закончится проигрвание текущего Региона (Композиции).
По этому его лучше повесить на кнопку тулбара - за одно получите индикацию работы скрипта (вот как у меня).
Перенумеровывать Регионы можно прям при работе скрипта, без проблем, только не трогать тот, что играется в настоящий момент, хотя я наверное и это могу сделать возможным,,,,,
 

Вложения

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

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Если будет хоть какой-то интерес к развитию скрипта, сделаю ещё удобное (более-менее) редактирование Сет Листов.
 
  • Like
Реакции: patt

Martin111

Member
18 Фев 2015
482
20
18
53
@Aleksandr Oleynik, а можно сделать так, чтобы плей курсор переходил с запущенного региона (с любого региона, не реагируя на нумерацию) на таймселекшн, и чтобы проигрывание продолжалось, и при возможности чтобы функция данного скрипта выключалась в ручную ?
 

Buyan

Member
19 Апр 2016
137
24
18
40
Белая Церковь
Можно еще придумать, что будет делать повторный запуск во время отработки скрипта. Как вариант, завершение отработки и остановка проигрывания.
Хотя как по мне, то сам алгоритм можно сделать более удобным. То есть делать остановку проигрывания в конце региона, после вторичного запуска сценария переводить курсор к следующему региону и начинать проигрывание. Просто возникла еще одна идея, добавить кнопку на тулбар для повторного проигрывания текущего региона, что-бы был выбор, проиграть еще раз, или перейти к следующему. Что немного не совпадает с текущей последовательностью действий сценария.
 

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