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

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
@Aleksandr Oleynik, а можно Вас попросить, если не сложно, доделать два экшна выше (! Pan Group & revers & Vol Mute Solo Group" и ! Pan Group & revers), чтобы при каждой следующей группировке использовалась первая свободная группа (как аналогичный стандартный экшн SWS/S&M: Set selected tracks to first unused group (default flags), только чтобы флаги были не по-умолчанию, а согласно Ваших скриптов: в первом - реверс панорамы, а во втором - плюс громкость, соло и мьют. Спасибо.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
@Supa75, эти мои скрипты очень сырые в принципе, в них не учтены ни какие исключения......
Что скрипту делать, когда все группы заняты?
Что ему делать, если вы выделили 1 или более 2-х треков?
Что ему делать если вы выделили один из треков, который уже состоит в какой-то группе?

Это я только лежащие на поверхности проблемы описал, которые за вас должен решать скрипт.

Если у вас есть о веты на все эти вопросы - опишите подробно, и я сделаю толковый скрипт, а так - это просто игрушка.
 

Vilia33

Active Member
8 Ноя 2009
418
103
43
@Aleksandr Oleynik, Если можно переделайте скрипт ! Pan Group & revers & Vol Mute Solo Group
так же для двух выделенных треков но,чтоб для следующих двух треков выбирало бы
следующую свободную группу.
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
Ну, например мне было бы достаточно, если бы оно работало "как в Кубе" линковвание (пришлось даже вспоминать).

Что скрипту делать, когда все группы заняты?
ничего. писать Error. No unused group
Что ему делать, если вы выделили 1 или более 2-х треков?
- если выделен один трек - не исполнять скрипт. Куб например в этом случае так и делает, т.е. ничего не происходит.
- выделены 2 и более треков - группировать их все
Что ему делать если вы выделили один из треков, который уже состоит в какой-то группе?
в Кубе в этом случае работает принцип:
- если выделенный трек уже в группе из двух треков, то предыдущая группа распадается и создается новая на основании выделенных треков
- если выделенный трек уже в группе из более двух треков, то он залинкует выделенный трек в новую группу, а из старой его исключит.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
- выделены 2 и более треков - группировать их все
По какому принципу линковать третий к первым двум? А четвёртый, пятый? Там числа сочетаний может быть куча.

в Кубе в этом случае работает принцип:
В Кубе кто-то головастый сидел и все эти условия ПРОДУМЫВАЛ.
Вы представить себе не можете, сколько условия я ещё не перечислил, которые будут влиять на эту функциюб и скрипту нужно принимать решение.
Я не хочу заниматься дурной работой, а если прописать ВСЕ в данном случаи возможные ситуации, то я просто на неделю утону в логике.... САМОЙ трудоёмкой частью любого скрипта является написание всех условий - "а что делать, если" и этих если может быть тысячи.
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
Согласен. Если всё предусмотреть, то работы на неделю. Можно заточить скрипт исключительно под два трека, т.е. не группировать или группировать первые два, если выделено более? Главное, чтобы каждая следующая группировка была в неиспользованную (новую группу). Не знаю, как для заказчика, а для меня теряется весь смысл от скриптов выше, если все будет работать в рамках только одной группы.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
теряется весь смысл от скриптов выше, если все будет работать в рамках только одной группы.
Да! Игрушка, я так и написал.
ОК, я посмотрю что можно сделать. Я пока немогу разобраться как считывать принадлежность к конкретной группе.
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
Быстренько наваял кастом экшн на эту тему
group lr.jpg
перед этим нужно конечно же корректно настроить дефалт-режим в окне выбора параметров группировки - выделить что нужно и нажать на Save default flags.
group.jpg

Но вот беда. Ловлю конкретный глюк. Панорама не группируется в режиме реверса (даже без кастома, стандартным методом). Что я не так делаю? ниже мультик.
Pan.gif
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
@Supa75, выделили оба трека, когда включили галочку на пан реверсе, а нужно было только на одном из двух треков
 
  • Like
Реакции: Supa75

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
выделили оба трека, когда включили галочку на пан реверсе, а нужно было только на одном из двух треков
Спасибо. Мда, мой кастом развалился :)))) нет экшена "reverse pan into group for selected track"
Вообще конечно странно. Почему бы не сделать это в одном окне при группировке? сейчас чтобы реверснуть панораму, мне нужно кучу телодвижений сделать:
- выделить оба трека
- вызвать окно настройки параметров
- выбрать необходимые чек-боксы
- закрыть окно
- выделить один из треков группы
- вызвать окно настройки параметров
- проставить чек-бокс реверса панорамы для трека
- закрыть окно
ужас...... :)))))
 

realhlop

New Member
10 Янв 2016
2
0
1
удобно зумировать проект по границам, а зачем скрипт просто если экшном в рипере то он движется плавно как анимация а не за раз. как-то так)
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
помогите со скриптом плиз. "Показать все активные энвелопы для выделенного тейка" по аналогии с Show All Active Envelope for Selected track.
На картинке ниже сама кнопка есть, но экшн для неё не нашел
Envelope.jpg
 

Vilia33

Active Member
8 Ноя 2009
418
103
43
@Supa75, может это? Envelope: Toggle show all active envelopes for all tracks это для всех треков
Envelope: Toggle show all active envelopes for tracks это для выделенных
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
@Vilia33, нет, не то. Нужно, чтобы активные энвелопы появлялись на тейках, а не субдорожками под треком, как в приведенных Вами экшенах.
 

Vilia33

Active Member
8 Ноя 2009
418
103
43
@Supa75, в субдорожках под треком есть выпадающее меню ,там выбрать: move to media lane и огибающая
перейдёт на трек.
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
@Supa75, в субдорожках под треком есть выпадающее меню ,там выбрать: move to media lane и огибающая
перейдёт на трек.
спасибо, я знаю как это сделать без скрипта...путем манипуляций мыши и вызова окон :) и даже знаю как сделать кастом, чтобы показать все энвелопы на тейке, но нужно показать именно активные, чтобы повесить это на хоткей
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
Ловите, проверяйте.
Я пока скрипту не дал возможность принимать самостоятельно решение что делать если выделенный трек (треки) уже находятся в какой-то группе - он просто говорит об этом пользователю и пользователь сам должен это решить.
Появится продуманное ТЗ на всякого рода условия и решение - пишите, возможно смогу внести.
 

Вложения

  • Like
Реакции: Supa75

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
Я могу рассказать как добовлять, исключать что угодно из настроек группы в моём скрипте - будете делать это сами.
Но нужно поставить Notepad +, так как в обычных текст редакторах скрипты писать нельзя
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
Я чуть поменял структуру скрипта, чтоб было проще править (в атаче)

Вам нужно добавлять (удалять) строки вот в эту часть скрипта -

PHP:
function SetTrackGroupMembership (track, stm_n)
  reaper.GetSetTrackGroupMembership(track, "PAN_MASTER", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "PAN_SLAVE", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "VOLUME_MASTER", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "VOLUME_SLAVE", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "MUTE_MASTER", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "MUTE_SLAVE", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "SOLO_MASTER", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "SOLO_SLAVE", stm_n, stm_n )
end
В общем-то из текста понятно какая строка за что отвечает.

Вот перечень имён групп (тоже из имени ясно что это, думаю) -

PHP:
VOLUME_MASTER
VOLUME_SLAVE
VOLUME_VCA_MASTER
VOLUME_VCA_SLAVE
PAN_MASTER
PAN_SLAVE
WIDTH_MASTER
WIDTH_SLAVE
MUTE_MASTER
MUTE_SLAVE
SOLO_MASTER
SOLO_SLAVE
RECARM_MASTER
RECARM_SLAVE
POLARITY_MASTER
POLARITY_SLAVE
AUTOMODE_MASTER
AUTOMODE_SLAVE
VOLUME_REVERSE
PAN_REVERSE
WIDTH_REVERSE
NO_MASTER_WHEN_SLAVE
VOLUME_VCA_SLAVE_ISPREFX
По этому, если в линковку нужно добавить ещё Recarm, то эта часть кода изменится вот на такую -

PHP:
function SetTrackGroupMembership (track, stm_n)
  reaper.GetSetTrackGroupMembership(track, "PAN_MASTER", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "PAN_SLAVE", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "VOLUME_MASTER", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "VOLUME_SLAVE", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "MUTE_MASTER", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "MUTE_SLAVE", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "SOLO_MASTER", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "SOLO_SLAVE", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "RECARM_MASTER", stm_n, stm_n )
  reaper.GetSetTrackGroupMembership(track, "RECARM_SLAVE", stm_n, stm_n )
end
Попробуйте!
 

Вложения

Последнее редактирование:
  • Like
Реакции: Supa75

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