ReaScripts (скрипты для Reaper) - делимся (1 онлайн

@Michael

Well-Known Member
14 Дек 2010
899
1.359
93
Орёл / Москва
В этой теме можно и нужно делится всеми крутыми скриптами, что вы нашли.

Ресурсы:
http://ReaPack.com
http://www.admiralbumblebee.com/ReaperScripts.html

Как добавлять скрипты в Reaper:

1) у нас есть код, сохраняем через редактор (IDE)
выделяем весь текст
выделяем текст аккуратно, не удивляйся, что поплывут ошибки после того, как ты скопировал скрипт вместе с html мусором через Ctrl+A, или скачал по контекстному меню,
копируем,
идём в Action List,
жмём ReaScript - New
выбираем новый файл (не забываем указать правильное расширение (об этом ниже),
желательно сохранять в REAPER/Scripts, чтобы потом скрипты сохранялись вместе с конфигом
откроется окно редактора, туда и вставляем
закрываем, предложит сохранить
далее юзаем как экшн (суём в тулбары, мапим на действие мыши, горячие клавиши)
2) у нас есть файл, сохраняем из экшнлиста:
идём в Action List,
жмём ReaScript - Load, загружаем сохранённый файл

Как узнать расширение скрипта:
(лучше, если автор его сам указывает)
открываем скрипт, открывается блокнотом или любым текстовым редактором
смотрим внимательно на функции
если полно всякого, что начинается с "RPR_", перед нами скрипт на питоне (Python, .py)
если начинается с "reaper." - перед нами LUA скрипт (.lua)
если ничего такого не видно - скрипт написан на EEL (.eel)​

Крутяк, где этому всему научиться?
1) Python - требует своих библиотек
ищем в гугле, ресурсов море​
2) EEL - начиная с Reaper 5.0 работает "из коробки"
ищем тут и ... всё, больше ресурсов нет!​
3) LUA - начиная с Reaper 5.0 работает "из коробки"
годный русскоязычный путеводитель
тонны ресурсов и примеров на любой извращённый вкус​
4) Референс REAPER API помимо того, что можно сгенерить из редактора (Action list - ReaScript - New - API Help сверху справа), можно также использовать его же, но в более красивом и не вырвиглазном виде здесь
 
Последнее редактирование:

Oppositionist

терапевт
13 Янв 2008
233
62
28
Санкт-Петербург
Send selected tracks to track under mouse cursor и Send selected tracks to track under mouse cursor (channel 3-4) - говорящее название, это тоже пришло из кубейса, где кажется с зажатым shift посылали все выделенные треки. 3-4 - для сайдчейна от выбранного трека
Вариант с сайдчейном у меня не работает, т.е. посыл создается, а звука нет, баг какой-то. Делаю аналогичную операцию вручную - все ОК. И еще один момент: хотелось бы, чтобы создавались только аудиопосылы, а посыл MIDI по умолчанию был отключен. По понятным причинам это часто приводит к каше (плагины в посыле реагируют на MIDI сообщения с сенд-трека). Иногда это нужно, но чаще, намного чаще - нет.
 

@Michael

Well-Known Member
14 Дек 2010
899
1.359
93
Орёл / Москва
А звука и не должно быть, ты же шлёшь в дополнительную стереопару. Ну и в плагине само собой надо указывать, откуда брать сайдпару.
 

Oppositionist

терапевт
13 Янв 2008
233
62
28
Санкт-Петербург
А звука и не должно быть, ты же шлёшь в дополнительную стереопару. Ну и в плагине само собой надо указывать, откуда брать сайдпару.
Спасибо, я в курсе. Но у меня скрипт периодически работает некорректно. Переподключаю посыл на каналы 3-4 вручную - баг пропадает. Тот, который отправляет на каналы 1-2, нормально работает. Что же, возможно это у меня какой-то частный случай.
Да, кстати, несмотря на снятую галочку в настройках (Sends send MIDI by default), скрипт по умолчанию МИДИ посыл все же делает. А хотелось бы, чтобы его все же не было.
 
Последнее редактирование:

@Michael

Well-Known Member
14 Дек 2010
899
1.359
93
Орёл / Москва
Мой скрипт обходит преференсы, т.к. напрямую пишет данные в файл проекта.
MIDI посылы убрал. Насчёт бага с 3/4 хз.
 

odinzavseh

Well-Known Member
3 Апр 2011
1.318
420
83
Самара
muzpodarki.ru
Обновил свою страничку, часть бета-версий
3. https://github.com/MichaelPilyavskiy/ReaScripts/blob/master/FX/mpl_Float_Custom_FX_on_send_of_selected_track.lua
Открывает интерфейс указанного плагина, который находится в посыле выделенного трека (например, если вы хотите открыть ревер, в который отправляется выделенный трек).

Приветствую!Всё сделал как показано тут http://rmmedia.ru/threads/49259/page-2#post-1882126 и ничего не происходит когда кликаю на посыл.Подскажите как дальше жить?)
 

@Michael

Well-Known Member
14 Дек 2010
899
1.359
93
Орёл / Москва
Этот скрипт для кастомного плагина (если например в посыле несколько плагинов, например, фильтры висят перед ревером или ещё что-то, а надо открывать именно ревер). Его имя нужно вписать в первую строку, по образцу.
 

Tito

Active Member
17 Янв 2005
245
60
28
51
Питер
Посетить сайт

EUGEN27771

Well-Known Member
23 Апр 2010
2.289
1.968
113
А возможно сделать скрипт для "toggle bypass" всех инстанций кастомного плагина в проекте?
На примере ReaEQ
PHP:
Undo_BeginBlock();
#fx_name = "ReaEQ";//set FX Name(ignoring case),Don't use "VST:" in name!!!
Add = 0;//Set 0 or 1(If the FX is not in the chain,it will be inserted)

trackcount = CountTracks(0);
i = 0;
loop(trackcount,
      Track_id = GetTrack(0,i);      
      FX_index = TrackFX_GetByName(Track_id, #fx_name, Add);  
      enabled = TrackFX_GetEnabled(Track_id, FX_index);
      enabled == 1 ? enabled = 0 : enabled = 1;
      TrackFX_SetEnabled(Track_id, FX_index, enabled);              
      i += 1;
     );

Undo_EndBlock("~Toggle Bypass FX on ALL Tracks by Name~", 0); //Undo End
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.459
10.522
113
57
Киев
forum.videoediting.ru
Я пока не вижу,как получить данные о задержке плагина.
Для этого нужно чтоб эта информация могла быть полученна какой-то командой скриптовой.
Можно написать на форуме - они периодически добавляют ведь...
 

EUGEN27771

Well-Known Member
23 Апр 2010
2.289
1.968
113
Ретроспектив рекорд(МИДИ).
Retrospective Record(MIDI).eel
12345.gif
Описание простейшее: просто запустить скрипт.
Запись в буфер в фоне, работает полностью аналогично обычной записи. При этом можно спокойно менять позицию проигрывания, включить проигрывание в цикле, прыгать по проекту и т.п., что при обычной записи невозможно.
Записываются Ноты, PKeyPressue, ControlChange, ProgramChange, ChanPressue, PWheel Change.
Остальные(специфические) сообщения для игры, наверное, и не нужны.
Буфер выкладывается на трек в виде тейков, то есть каждая смена позиции будет выкладываться в виде нового тейка.
Буфер начинает переписываться только при остановке и повторном нажатии Play(если при этом поступили новые миди-данные), либо после вставки буфера на трек.
До этого момента все сохраняется и доступно для извлечения на трек.
 
Последнее редактирование:

EUGEN27771

Well-Known Member
23 Апр 2010
2.289
1.968
113
Retrospective Record(audio).eel для Аудио.
RRaudio demo.gif
Принцип тот же,все работает так же как и с миди.
При первом запуске нужно указать кол-во буферов.
Ресурсы процессора практически вообще не жрет.
Но пишет в память - поэтому, расшифрую:
Один буфер-около 380 секунд, 10 буферов - около 63 минут непрерывной записи.
Один буфер(только при заполнении) займет 256м RAM, потому ставить кол-во нужно по реальной необходимости!
Если не пишутся куски более 6 - 12 минут за раз, то соответственно - 1-2 буфера хватит с головой.
=============
 
Последнее редактирование:

diggidon

Super Moderator
Команда форума
26 Май 2008
6.576
6.722
113
46
Днепр UA
Нарыл хороший скрипт, как временную альтернативу скрипту Sort_project_folder_garbage.lua от @Michael (который почему-то не хочет у меня работать).
http://forum.cockos.com/showthread.php?t=157898
Тестирую, всё отлично работает.
UPD.
С кириллицей в названиях файлов к сожалению не работает, в остальном - конфетка.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.459
10.522
113
57
Киев
forum.videoediting.ru
Домучал код который превращает любое кол-во скриптов - кнопок на тулбаре в тригерно-зависимые.
Вот такие -


Код дописывается к каждому из скриптов, которые вы хотите превратить в подобные кнопки.
Если нужно запускать Action или Custom Action, то в начале каждого такого скрипта просто пишите одно из указанных выражений, или несколько.
PHP:
//Main_OnCommand(41051, 0);  // вместо 41051 пишем ID любого штатного Action
//Main_OnCommand(NamedCommandLookup("_SWS_RESTSELITEMS2"), 0);  // вместо _SWS_RESTSELITEMS2 пишем ID любого кастомного Action

//Если нужно ЭкшинСкриптом запускать ЭкшинСкрипт, то делать следует так -
cmd = NamedCommandLookup("_88696ecdd7464b6c9d54d65e071cfa5b"); // cmd - ID ЭкшинСкрипта
defer("Main_OnCommand(cmd, 0);");

/*Код, который следует дописать в конец каждого скрипта,
   если он одна из зависимых друг от друга кнопок*/
get_action_context(_,sectionID,cmdID,_,_,_);

GetExtState(ID,"Triger","cmdD");
strlen(ID) > 0 && ID !== cmdID ? (
  sprintf(#func, "cmd=%s;", ID);
  eval(#func);
  SetToggleCommandState(0, cmd, 0);
  RefreshToolbar2(sectionID, cmd);
);

  sprintf(ID, "%i", cmdID);
  SetExtState("Triger","cmdD", ID, 0);
SetToggleCommandState(sectionID, cmdID, 1);
Если нужно сделать несколько групп подобных кнопок, то в следующей группе в двух местах кода просто смените "Triger" на "Triger1" потом в следующей на "Triger2" и т.д.
Обсуждения все и пожелания, если нужно -
ЗДЕСЯ
Для просто кнопок: нажал - залипла, ещё раз нажал - отлипла ---- сделаю чуть позже.
 

Вложения

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

EUGEN27771

Well-Known Member
23 Апр 2010
2.289
1.968
113
Delete Notes Overlaps(poly).lua
Работает и из Midi-Editor,и из Arrange,причем по разному,так и задумано.
Из Midi-Editor- с выделенными нотами
ME.gif
Из Arrange-со всеми нотами в выделенном тейке.
Arr.gif
Так как мне неизвестно,как Нуендо поступает с нотами внутри аккорда(не выходящими за пределы аккорда),сделал по-умолчанию вот так
notes ins chord.gif
И оставил на всякий случай флаг для другого варианта,когда ноты внутри тоже учитываются.
notes ins chord2.gif

=============
Скрипт по идее @belovw,
Explode multichannel Audio(Non-destructive).lua
Работает примерно аналогично заводскому экшну,только каналы исходного файла не дублируются физически,а просто меняются настройки в свойствах активного тейка.
Оригинальный айтем мьютируется,а айтемы с отдельными каналами собираются в папку.
Это выгодно для больших файлов.
123.gif

=============
Тоже по идее @belovw,
Open media item(source relative).lua
Скрипт выполняет разные экшны,в зависимости от содержимого(midi,wave,empty,rex и т.п) активного тейка выделенного айтема.
123.gif
Можно назначить другие экшны(в начале скрипта) - какие удобно, для каждого свои, я назначил пару -только для примера.
=============
 
Последнее редактирование:

Wefilev

Member
22 Мар 2015
188
23
18
Доброго дня. Прослышал, что есть скрипт который при создании проекта автоматом создает папку с подпапками с прописанными путями: Аудио, Save, Backup или вроде того.. Поделитесь, у кого есть?
 

Nagor

Active Member
4 Окт 2010
513
65
28
@diggidon, из-за полнейшего нуля в английском ткните носом, пожалуйста. где конкретно, если возможно, скачать этот скрипт?
 

Furqat

Active Member
27 Окт 2012
567
203
43
Tashkent
Друзья, кто пользуется Retro Rec Midi скриптом от EUGEN27771?
Нормально ли у вас работает скрипт в загружённом проекте?
Уже пару раз у меня глюканул.
Сначала распознаёт только половину или какую то часть сыгранного пассажа, а потом вообще перестал работать.
Открываю свежий проект - всё нормально.
С чем это связано?
P.S. Retro Rec Audio везде работает без глюков.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
18.459
10.522
113
57
Киев
forum.videoediting.ru
Простой скрипт - добавляет вколоченный префикс к именам выделеных треков
[DOUBLEPOST=1455311339,1455290120][/DOUBLEPOST]К скрипту добавляющему префикс, написал скрипт, который по введенному префиксу прячет все треки в Микшере, у которых такого префикса нет.
Префикс пока может состоять из трёх букв. Мне показалось достаточно. Если нужно больше - пишите в ветке обсуждения
"не документированные возможности :) " - если ввести восклицательный знак - делает видимыми все треки, если ни чего не ввести - ни чего и не происходит.
Если кому-то понадобиться, могу сделать, чтоб пряталось в окне аранжа или и там и та.
 

Вложения

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

Mateush1982

Active Member
5 Авг 2009
404
148
43
37
Krasnoyarskiy kray
Народ, где-то проскакивал скрипт который переносил бы выделеный трек(айтем) в Melodyne studio, а после правки вставлял его на ту же позицию, но дорожкой ниже? (что бы еще и исходник сохранялся в проекте (для сравнения типа До и После :)
PS на mac os

Прошу прощения не в ту тему написал - запарился ;-) но все же?
 
  • Like
Реакции: Furqat

Banson

Well-Known Member
15 Апр 2009
1.001
144
63
Докладываю про проделанную работу о создании синхронного текста песни и создании
субтитров в Рипер-Студии, закончил, можно пользоваться.
Нужные скрипты:
1 HeDa_ Notes Reader (R5).eel- текстовый монитор
2 HeDa_Toggle Note's stretch to fit item of selected items.eel- растягивает текст в ITEM (опционально)
3 X-Raim_Quantize selected items start and end.lua- подготовка к экспорту, склеивает айтемы для полного экспорта в SCR (субтитры)/ Подсказал Beckoff/
4 HeDa_Export SRT.lua - экспорт субтитров.
5 HeDa_Import SRT.lua- импорт субтитров
6 _TXT import.eel- импорт из ТХТ
Также, напомню, тект из буфера обмена можно вставлять непосредственно в empty item из любого текстового приложения.
Успехов! Так у меня выглядит этот узел-

http://s36-temporary-files.radikal.ru/7eb1fe7f5876403dbf510de66547c3ec/-88693455.jpg
 
Последнее редактирование:
  • Like
Реакции: Doomsterion и Beckoff

abrokadabra2

Member
2 Дек 2014
85
16
8
temirtau
Привет всем. вопрос. работаю с миди событиями а именно с бочкой хочу заменить её на аудио .полезный был бы скрипт если на ауди трек выбрать бочку и он по миди событиям раставил бочку по всему треку есть ли такой скрипт ?
 

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