Помогите создать экшн / кастом экшн / скрипт

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

@Michael

Well-Known Member
14 Дек 2010
971
1.638
93
Орёл / Москва
MOD.
Важно!
http://rmmedia.ru/threads/119732/
---------------------------------------------


Привет.
Заметил, что на форуме нет до сих пор треда, посвящённого именно скрипт реквестам, наподобии этого треда на официальном форуме Cockos. Есть обсуждение, но оно не подразумевает написание скриптов / кастомов. И, насколько мне известно, есть множество ребят, способных помочь в этом деле. Общими усилиями проще находить решения проблем ;)

Предлагаю постить сюда все ваши вопросы в стиле "как сделать такое то действие", при условии того, что вы целую вечность бились и к настоящему моменту всё ещё не нашли как.
 
Последнее редактирование:
ок, начну тогда)
1)запуск скрипта для piano roll(mouse modifiers) через левый клик без перемещения эдит курсора так и не получилось сделать, двигается даже с пустым экшеном, можно было б ставить ноты с велосити последней выбраной ноты, это было б мега удобно, как во фруктах, save restore не помогает с undo move cursor тоже как то криво выходит и через set edit cursor тоже никак, уже спрашивал но может кто понял уже.
2)экшен duplicate events не работает если piano roll timebase - source beats, и midi item сдвинут онтосительно начала проекта, пробовал скриптом через copy paste не получилось ,без copy paste
duplicate делается столко раз сколько нот в других миди каналах айтем, такая ерунда:
PHP:
act_editor = MIDIEditor_GetActive();
take = MIDIEditor_GetTake(act_editor);
fntk=extension_api("FNG_AllocMidiTake", take);
chan=MIDIEditor_GetSetting_int(MIDIEditor_GetActive(), "default_note_chan");

notescount=extension_api("FNG_CountMidiNotes", fntk);
extension_api("FNG_FreeMidiTake", fntk);

MIDI_Sort(take);

i=0;
i2=0;

//Count selected notes
loop(notescount,
MIDI_GetNote(take, i2, selectedOut, mutedOut, startppqpos, endppqposOut, chanOut, pitchOut, event_value);
//MIDI_SetNote(take, 2, 1, mutedOut, 0, 2, chanOut, pitchOut, event_value);
selectedOut ==1 ? (
Count_selected=Count_selected+1;
);
i2=i2+1;
);

//duplicate((
loop(notescount,
MIDI_GetNote(take, i, selectedOut, mutedOut, startppqpos, endppqposOut, chanout, pitchOut, event_value);
//MIDI_SetNote( take, i, 0,mutedOut, startppqpos, endppqposOut, chanout, pitchOut, event_value);
MIDI_InsertNote(take, 0, 0, startppqpos+3840, endppqposOut+3840, chan, pitchOut, 96);
i=i+1;
);
получилось сделать только так что скопированые ноты не выделены и если нужно сделать duplicate несколько раз нужно выделять их снова
 
Продолжу :).
Очень хотелось бы иметь возможность открывать "морду" ревербератора (к примеру) прямо из трека,с которого организован посыл в микшере(аналог кнопки "е" на сенде в Кубэйсе).
В микшере ПКМ на сенде есть команда "Go To Send Destination Track" .От этого,по идее,можно "плясать",но вот как это скриптом реализовать?
 
float ReaVerb in send of selected track, в plugname (первая строка) в кавычках имя своего плагина.
Ага,разобрался.Упростил для себя :).
Код:
sel_track = reaper.GetSelectedTrack(0,0)
send_track = reaper.BR_GetMediaTrackSendInfo_Track(sel_track, 0, 0, 1)
reaper.TrackFX_Show(send_track, 0, 3)
Показывает первый FX для первого сенда выбранного трека.
Если я правильно понял,пока в API BR_GetMouseCursorContext параметров для сендов нет,написать "мышкозависимый" скрипт не получится?
 
Смотря что хочешь написать. Там есть контекст для трека (а значит и трека в качестве посыла).
Как мне объяснил BReeder, в теории конечно можно настрогать на C++ контекст для плагинов/посылов под курсором в микшере, кнопок всяких в тулбарах и т.д., но эти дела все упираются в Walter, что увеличивает сложность написания таких операторов в разы.
 
  • Like
Реакции: Strannicom и Tito
Ну,идеально было бы открывать FX того сенда,который под курсором.А так можно сделать срипт для 1-2-3-сенда,запихать их в цикл и листать одной кнопкой,к примеру.Только не понял пока,как избавиться от ошибки,если при "переборе" сендов пустой попадается. (
 
Добрый день! Не соображу пока, как реализовать выделение нескольких треков с помощью shift + вверх/вниз. Интересует поведение, аналогичное выделению нескольких файлов в windows.
Пока реализовано в таком виде
2.JPG
1.JPG

Но данные кастомы не умеют снимать выделение с последних выделенных треков, что не удобно, если случайно были выделены лишние треки
 
что-то под вечер совсем запутался: если перед кастомом поставить Unselect all tracks, так ведь со всех треков снимется выделение. вроде как. а нужно, чтобы было вот как
1.gif
 
Да, Unselect all tracks не нужно. Тут определённо нужен скрипт.
Только зачем, если удерживая shift можно выбрать хоть 100500 треков без клацания хоткеями?
если случайно были выделены лишние треки
Да и заменять один лишний клик по нужному треку целым скриптом - это уже извращение.
 
Последнее редактирование:
Так у многих "крышу срывает" от возможностей Рипера - вот и ....... изобретают то, что уже давно есть и так.
Спрашивал выше... А поисковый запрос в MediaExplorer уже есть в скрипте или его еще изобретают?))
 
@RJ Baker, если @@Michael ни чего не ответил - значит нет.
А зачем, если не секрет?
Чем не устраивает поиск в самом Media Explorer-е?
PS: Пока писал Михаил ответил.
 
@RJ Baker, если @@Michael ни чего не ответил - значит нет.
А зачем, если не секрет?
Чем не устраивает поиск в самом Media Explorer-е?
Молчание можно трактовать по-разному. Хотелось по старинке - словами.
А вбивать ручками - это совет дельный. Заменяет любой скрипт и экшн впринципе.
А надо мне было для того же что и всем - автоматизировать некоторые рутинные операции по поиску медиаконтента. Ну да ладно. ClipX в помощь! Спасибо.
 
Нашел в сети замечательный custom action "copy selected take to new track"
Вопрос, помогите пожалуйста реализовать то же самое, но с использованием time selection (выбранный кусок тейка на новый трек в ту же самую позицию)
Заранее огромное спасибо!
Screen Shot 2015-08-10 at 12.10.38.png
 
  • Like
Реакции: Andrey Marchenko
Спасибо!!!! А можно сделать так , что бы не удалялись исходники? Вдруг какие нибудь куски дублей еще пригодятся в дальнейшем
исходник
Screen Shot 2015-08-12 at 13.28.27.png


После применения
Screen Shot 2015-08-12 at 13.28.47.png

То есть исходники пропали!
 
@@Michael,Спасибо огромное - большое дело делаете. может хоть "кошелек" добавите? , все таки труд велик и на радость всем, а он должен вознаграждаться !!!!
 
@@Michael, Все работает как часы!
[DOUBLEPOST=1439365790,1439365129][/DOUBLEPOST]@@Michael, Кстати а не планируете допиливать Quantize tool , и какие у Вас задумки по доработке данного скрипта?
 
Можно ли как-нибудь осуществить посыл выделенных треков на заранее определенный (к примеру, первый) трек одной клавишей (в идеале тугл).
 
А в lua возможно добавить конкретный плагин на выделенный трек (или несколько треков).
Это можно сделать средствами cycle action, но в случае, если этот плагин уже есть на треке, то он больше не добавляется, просто открывается его окошечко.
Может быть средствами скриптов это можно обойти?
 
Есть много дорожек, на них много атемов мютованых и нет. как в одно движение: 1 выделить только немютованые айтем. 2 скопировать их на новый трек. 3 старые немютованые треки покрасить в один цвет и заглушыть?
 
@fugas20051, вы в самом деле ПОДОБНЫЕ действия делаете каждый день по десять раз подряд?
Потому как если нет, то смысла писать Кастом Экшин или Скрипт на эту последовательность нет!!!!!, будет дольше, чем сделать это ручками пару-тройку раз.
Ставить задачу для написания скрипта можно ТОЛЬКО, если эта задача ПОСТОЯННО ПОВТОРЯЕТСЯ В РАБОТЕ.
 
  • Like
Реакции: borisuperful и @Michael
Можно ли устанавливать параметры МИДИ-эдитора,прерыл весь API,нашел только,как считать,конкретно интересует-
Снимок.PNG

Есть,конечно, обходной путь,устанавливать через экшны next snap scale root и next snap scale,считывать и сверять,покуда не будет соответствия.
Но,может,я не заметил и все проще,через API?
 

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