Custom Actions - обсуждаем

  • Автор темы Автор темы Fargos
  • Дата начала Дата начала
Digidon большое спасибо за скрипт но уже не доступен для закачки, можно еще раз ??? Большое спасибо

Hide/Show Tracks In Folder.

Для тех, кому не нравится дефолтное представление папок и их содержимого в Рипере, и хочется, как в других DAW, полностью скрывать содержимое папок - два простеньких экшна.

Первый экшн скрывает содержимое папки, второй - показывает. Назначаем на две соседние кнопки, и радуемся жизни:

Картинка

Как вариант - можно потом из двух этих экшнов создать Cycle Action, и управлять процессом одной кнопкой (типа скрыть/показать):

Картинка

Во вложении - zip-архив с двумя кастом экшнами, и одним cycle экшном.
 
  • Like
Реакции: LilColt
подскажите пожалуйста. В кубэйсе была удобная фича, когда выделяешь несколько миди дорожек сразу и открываешь Key editor (Piano Roll), открывается одно окно, в котором отображаются миди ноты с разных со всех выделенных дорожек, очень удобно было для редактирования партий. Как такое в Рипере провернуть??
 
подскажите пожалуйста. В кубэйсе была удобная фича, когда выделяешь несколько миди дорожек сразу и открываешь Key editor (Piano Roll), открывается одно окно, в котором отображаются миди ноты с разных со всех выделенных дорожек, очень удобно было для редактирования партий. Как такое в Рипере провернуть??
Например так -

AllMidi001.gif
 
  • Like
Реакции: NuSound
Помогите, что-то я в трёх соснах запутался.
Нужно сделать пул Экшинов, которые бы работали так -
Нажимаем первый - выделяем ТОЛЬКО Track 01, нажимаем на него ещё раз - снимаем выделение с этого трэка
Нажимаем второй - выделяем ТОЛЬКО Track 02 (т.е. если Track 01 остался выделенным, то его выделение снимается!), нажимаем на него ещё раз - снимаем выделение с этого трэка
И т.д.
В силу того, что нет Экшина Toggle selected Track 00 - не могу сделать что-то этого.
 
Сделал на F2 один вид окна, на F3 другой (МИКШЕР) Как сделать чтоб эти команды срабатывали с одной кнопки по очереди?
 
Сделал на F2 один вид окна, на F3 другой (МИКШЕР) Как сделать чтоб эти команды срабатывали с одной кнопки по очереди?
Через цикл-экшн. Экшн должен выглядеть примерно так:
Screen Set.jpg
 
Спасибо огромное за скрипт .
Какие есть баги

1 При нажатии -10 волюма и дойдя до минимальных значений миди нота исчезает полностью , а должна оставаться на 0 . при 127 все в порядке (при нажатии +10)
2 Так же на мой взгляд скрипт должен работать и при простом нажатии на миди айтем (он при этом выделяется)
3 работает почему то крайне медленно ( + - volume )
Конечно в нормальных условиях должна выпадать иконка с предложением выбора на сколько уменьшить или увеличить громкость , но +-10 это так же не плохо ... Просто очень медленно почему-то нажимается ..
вот киношка Посмотреть вложение 106164 быстрой работы
 

Вложения

  • digi 1 ищдгьу midi.gif
    digi 1 ищдгьу midi.gif
    105,4 KB · Просмотры: 190
EUGEN27771, совет - сделай себе шару (GitHub или ReaperStash, например), так гораздо проще распространять. На форуме это быстро потеряется в треде (уже через несколько сообщений могут спросить то же самое, а через какое-то время и сервак может внезапно всё это потерять), а в шаре статичная ссылка, ну и ты сам отредактировать сможешь (исправить баги, улучшить, изменить что угодно и т.д.). Ну и плюс кого заинтересует, может быстро побродить по другим скриптам и найти себе полезные.
 
  • Like
Реакции: Aliko
поделитесь пожалуйста экшеном, который позволяет скопировать все в time selection (с энвелопами тоже) и вставить правее. кто-то вроде выкладывал в начале темы, но там все аттачи слетели
 
Скрипт для работы с RS5000,удобный для барабанов.
В общем,скрипт открывает из окна миди-редактора RS5000 "привязанный" по диапозону нот
Посмотреть вложение 105916
к текущей активной линейке в миди-редакторе(она подсвечивается прозрачным красным цветом).
Посмотреть вложение 105917
Короче,если на треке есть,например,три сэмпломатика,настроенные на ноты 36,38 и 40,
то при запуске скрипта будет открываться именно тот сэмпломатик,нота которого соответствует текущей активной линейке в МИДИ-редакторе.
Если ни один из экземпляров сэмпломатика не совпадает по настройке с текущей активной линейкой в МИДИ-редакторе,будет добавлен новый экземпляр и автоматически настроен на нужную ноту(также автоматически откроется Медиа-Эксплорер,для добавления семпла,но это можно отключить,если не нужно).
PHP:
/*===
Script finds and opens RS5000 with Note range = Active Note Row in Active MIDI-Editor
If these instances do not exist, they will be added automatically
===*/
Show = 3;//Set it Value(1=Show Chain,3=Show Float)

Undo_BeginBlock();//For Undo
ME = MIDIEditor_GetActive();//Get Active MIDI Editor
ME ?
(Take = MIDIEditor_GetTake(ME);//Get opened in ME Take
Active_Note_Row = MIDIEditor_GetSetting_int(ME, "active_note_row");//Get Active_Note_Row
Item = GetMediaItemTake_Item(Take);//Get Take parent item
Track_id = GetMediaItem_Track(Item);//Get Item parent Track
FX_Count = TrackFX_GetCount(Track_id);//Count Track FXs

//====Find RS5000 w Correct Note range====//
FX_index = 0;
Exist_FX = 0;
loop(FX_Count,
     TrackFX_GetParamName(Track_id,FX_index,3, #3_par_name);//Parmtr Name
     TrackFX_GetParamName(Track_id,FX_index,4, #4_par_name);//Parmtr Name
       (stricmp(#3_par_name,"Note range start") + stricmp(#4_par_name,"Note range end")) == 0 ?                  
                  (TrackFX_GetFormattedParamValue(Track_id,FX_index,3,#Note_range_start);//Note_range_start
                   TrackFX_GetFormattedParamValue(Track_id,FX_index,4,#Note_range_end);//Note_range_end
                   match("%i",#Note_range_start, Note_range_start);//Val as Int
                   match("%i",#Note_range_end, Note_range_end);//Val as Int
                     (Active_Note_Row >= Note_range_start && Active_Note_Row <= Note_range_end) ?
                                        (TrackFX_Show(Track_id,FX_Index,Show);//Show FX(In FX-Chain or Float)
                                         Exist_FX += 1;);//Count Existing FX(RS500 w Correct Note range)
                   );
      FX_index+=1;
     );//Loop End

//====ADD RS5000 w Correct Note range IF it not Existing====//
Exist_FX == 0 ?
  (Main_OnCommand(NamedCommandLookup("_S&M_PASTE_TRACKFXCHAIN10"), 0);//MAIN section action SWS "Paste FX Chain,slot 10"
   TrackFX_SetParamNormalized(Track_ID, FX_Count, 3, Active_Note_Row/127);//SET Note_range_start
   TrackFX_SetParamNormalized(Track_ID, FX_Count, 4, Active_Note_Row/127);//SET Note_range_end
   TrackFX_Show(Track_id,FX_Count,Show);//Show Last FX(In FX-Chain or Float)
   Cur_M_Expl_State = GetToggleCommandStateEx(0,50124);// Media explorer Current State
   Cur_M_Expl_State == 0 ?  Main_OnCommand(50124, 0) : // Show Media explorer
                  (Main_OnCommand(50124, 0);Main_OnCommand(50124, 0););//Close-Open M-explorer for it in SET FOCUS!!!
   );
);
Undo_EndBlock("~Open(or Add) RS5000 for Active Row~", 0);//End Undo

UpdateItemInProject(Item);
UpdateArrange();
Gif(но там не очень понятен смысл)
Посмотреть вложение 105919

П.С.Забыл написать,в 10 слот в "resources" нужно добавить сэмпломатик,или в любой другой слот и в скрипте в конце исправить на нужный.
[
[DOUBLEPOST=1446050804,1446050582][/DOUBLEPOST]===============================
Скрипт,для транспонирования нот в выделенном айтеме в выделенном временном диапозоне вверх не заходя в МИДИ-редактор.Чтобы сделать вниз,в первой строке изменить 1 на -1.Для октавы- 12 и -12 и т.п.
PHP:
Transpose = 1;//Set Transpose Range
function Up_Notes_One_Semitone()
(Undo_BeginBlock();//Start Undo
GetSet_LoopTimeRange(0,0, Time_Sel_Start, Time_Sel_End,0); //Get Current Time Sel
Time_Sel_Start_PPQ = MIDI_GetPPQPosFromProjTime(ActiveTake, Time_Sel_Start);//Time Sel Start to PPQ
Time_Sel_End_PPQ = MIDI_GetPPQPosFromProjTime(ActiveTake, Time_Sel_End);//Time Sel End Start to PPQ

FNG_Take = extension_api("FNG_AllocMidiTake", ActiveTake);//Get FNG TAKE
FNG_Count_Notes = extension_api("FNG_CountMidiNotes", FNG_Take);//Count_Notes in take
  //==Select Only Notes In Current  Time Selection==//
note_index=0;
loop(FNG_Count_Notes,
      FNG_Note_ID = extension_api("FNG_GetMidiNote", FNG_Take, note_index);//GET FNG_Note_ID
      FNG_Note_Start_PPQ = extension_api("FNG_GetMidiNoteIntProperty", FNG_Note_ID , "POSITION");//note position(PPQ)
      FNG_Note_LENGTH_PPQ = extension_api("FNG_GetMidiNoteIntProperty", FNG_Note_ID , "LENGTH");//note lenght(PPQ)
        (FNG_Note_Start_PPQ >= Time_Sel_Start_PPQ) && (FNG_Note_Start_PPQ+FNG_Note_LENGTH_PPQ <= Time_Sel_End_PPQ) ? SEL = 1 : SEL = 0;//check!!!
      extension_api("FNG_SetMidiNoteIntProperty", FNG_Note_ID , "SELECTED" , SEL);//Sel-Unsel Notes
      note_index+=1;
      );
//==Operation With Selected Notes==//
note_index=0;
loop(FNG_Count_Notes,
      FNG_Note_ID = extension_api("FNG_GetMidiNote", FNG_Take, note_index);//GET Note_ID
      FNG_Note_Sel = extension_api("FNG_GetMidiNoteIntProperty", FNG_Note_ID , "SELECTED");//note prop
         //IF Note Selected-Apply Transpose
        FNG_Note_Sel ? (Curr_Pitch = extension_api("FNG_GetMidiNoteIntProperty", FNG_Note_ID , "PITCH");//note prop
                        New_Pitch = Curr_Pitch + Transpose;
                        extension_api("FNG_SetMidiNoteIntProperty", FNG_Note_ID , "PITCH" , New_Pitch););//note prop
      note_index+=1;
     );
extension_api("FNG_FreeMidiTake", FNG_Take);
Undo_EndBlock("~Transpose Sel_Item Notes in Time_Sel Up One Semitone~", -1);//End Undo
);

MediaItem = GetSelectedMediaItem(0, 0);//Get selected media item
ActiveTake = GetActiveTake(MediaItem);//Get ActiveTake
TakeIsMIDI(ActiveTake) ?  Up_Notes_One_Semitone();//If ActiveTake is MIDI execuate function
UpdateArrange();

/*===Example for extension_api("FNG_GetMidiNoteIntProperty", FNG_Note_ID,prop)
prop = "PITCH","CHANNEL","VELOCITY","POSITION","LENGTH","SELECTED"========== */
Посмотреть вложение 106121
Точно так же можно менять и другие параметры.Чуть позже выложу для велосити и перемещения нот влево-вправо по сетке.
[DOUBLEPOST=1446066860][/DOUBLEPOST]================================
Скрипты для питч,велосити и перемещения нот:
Посмотреть вложение 106149
При проверке показалось удобнее выделять не полностью длину ноты,а только начало(старт ноты),
поэтому так и сделал,но оставил в начале скриптов VAR_FLAG(оба варианта по желанию).

можно исправить скрипт транспонирования на -12 +12 что бы он работал и на айтем по которому кликнули ?

Вот есть хороший скрипт Create Sel_Item Notes in Time_Sel Velocity Change(Menu).eel
можно такой же только с транспортом сделать ? впринципе он заменяет предыдущие скрипты . Здесь ты указываешь значение и все ..
Еще почему то при вводе значения в скрипт Create Sel_Item Notes in Time_Sel Velocity Change(Menu).eel (на нум лок клавиатуре кнопка ентер не работает ) нужно нажимать "большой " энтер или мышой ... хотелось бы на клаве нум лок .
спасибо
 
Последнее редактирование:
можно исправить скрипт транспонирования на -12 +12 что бы он работал и на айтем по которому кликнули ?
, здесь все так и работают,я вроде проверял все.Для изменения диапозона транспонирования просто замените в начале скрипта значение на любое другое.
можно такой же только с транспортом сделать ? впринципе он заменяет предыдущие скрипты
Можно,в принципе,вообще все эти скрипты объединить в один с меню велосити,питч и позицией,там везде один принцип.Сейчас только не могу,завтра
Про num lock enter не знаю,у меня работает,но это точно не от скриптов зависит,другие причины
 
  • Like
Реакции: diggidon и crutifixus
, здесь все так и работают,я вроде проверял все.Для изменения диапозона транспонирования просто замените в начале скрипта значение на любое другое.

Можно,в принципе,вообще все эти скрипты объединить в один с меню велосити,питч и позицией,там везде один принцип.Сейчас только не могу,завтра
Про num lock enter не знаю,у меня работает,но это точно не от скриптов зависит,другие причины

как я понял питч на -12 +12 был из старых "запалов" .. у меня не работает на выделенном айтеме , но работает с выделенными "воротами"

по питчу думаю хватит отдельной менюшки как велосити , указал -12 +12 , -1 +1 и так далее ,

по велосити думаю можно усложнить менюшку с выборам подменю
например .
1 режим add (что сейчас и есть ) указываем свои параметры изменения громкости
2 режим set - указываем значение (напр 70) которое будет применено ко всем выделенным нотам (т,е, все ноты будут 70 )
3 режим лимит задаем границы в кот будут велосити (напр 40 и 70 ) - значит от40 до 70 порог велосити
4 compress/expand (аля куб -лодж ) когда можем сжимать или расжимать дин диапазон
5 смотч режим позволяет рисовать кривую для нот (например от 1 до 70 ) и получится крещендо .

Все режимы обсуждаемы .. в реалии пользуюсь режимом 1,2 и при наличии куба лоджа совместным режимом 4-5
режим 4-5 хорошо бы иметь в пиано ролле
 
Последнее редактирование:
  • Like
Реакции: Strannicom и crutifixus
Тут можно опус целый написать о том, как это можно сделать в Рипере. Вы сразу начали копать максимально приближенный к тому варианту, который использовали в Лоджике. Не вопрос, наверное вам так проще.
Но за уже годы общения в разделе Рипера я этот запрос увидел от вас одного.
Как бы делал я?
1. Не использовал бы плагины с задержкой ВООБЩЕ в Лайв Проектах и/или проектах, в которые предпологается в Лайве дописывать партии. UAD-ы так точно в мусорку, но то такое....
2. Если вот ни как без UAD-ов или подобных с задержкой - за минуту отфризил бы для себя готовый микс по треково (или целиком) и под него записал бы новую партию инструмента, а потом отфризил бы всё обратно...
3. Сделал бы для себя скрипт (экшин) - отрендерить весь проект, положить файл в проект, все прочие треки замьютить и плаги все в Байпас.
Записал бы новый инструмент под этот промежуточный минус и вернул одной кнопкой всё обратно (через Скрипт или Экшин).
4.Сделал бы риалтайм мониторинг для записи инструментов минуя Рипер
ну ещё бы нашёл какие-то адекватные варианты....
Ни когда бы не стал пользоваться методом, при котором половина НУЖНЫХ в миксе плагинов вдруг выключается для записи нового инструмента.
Как-то так.
[DOUBLEPOST=1446564356,1446564289][/DOUBLEPOST]
Потому как вы не внимательны!
Не
Unbypass selected FX for selected track
а
Unbypass all FX for selected track

Уже есть вроде,на кокосовском форуме видел давно уже.
По 1-2-3,позже посмотрю,не проблема.
Пока объединил все в одно меню:
Change Parameters(Menu).eel
И отдельно для питча добавил меню:
Transpose(Menu).eel

если пунтк 4-5 есть !! то это просто супер !!! как его найти , как они его на англ обозвали ?
 
если пунтк 4-5 есть !! то это просто супер !!! как его найти , как они его на англ обозвали ?
http://forum.cockos.com/showthread.php?t=136929
[DOUBLEPOST=1446570358,1446569892][/DOUBLEPOST]
1 режим add (что сейчас и есть ) указываем свои параметры изменения громкости
2 режим set - указываем значение (напр 70) которое будет применено ко всем выделенным нотам (т,е, все ноты будут 70 )
Дак всё и сейчас прекрасно работает, через стандартное меню Note Properties:
Note Properties.gif

Там даже шпаргалка висит:
Note Prop 2.jpg
 
  • Like
Реакции: crutifixus
http://forum.cockos.com/showthread.php?t=136929
[DOUBLEPOST=1446570358,1446569892][/DOUBLEPOST]
Дак всё и сейчас прекрасно работает, через стандартное меню Note Properties:
Посмотреть вложение 106407

Там даже шпаргалка висит:
Посмотреть вложение 106408

Речь идет о случаях что бы не лазить в нотный редактор ... имеем айтем (выделили его , кликнули хот кей и ввели данные)
[DOUBLEPOST=1446571497][/DOUBLEPOST]
Уже есть вроде,на кокосовском форуме видел давно уже.
По 1-2-3,позже посмотрю,не проблема.
Пока объединил все в одно меню:
Change Parameters(Menu).eel
И отдельно для питча добавил меню:
Transpose(Menu).eel

женя , спасибо огромное это супер скрипт ! Единственное пож-та поменяй местами колонки табличек .
1 Velocity
2 Transpose ( пусть называется именно транспозиция )
3 Position

заранее спасибо ..
[DOUBLEPOST=1446571912][/DOUBLEPOST]

да , с этим можно работать , единственное жаль что она не работает без окна миди редактора , напишу на кокосе .
 
Похоже пора завести ветку "экспериментальные кастом экшены", скоро будет трудно найти, то, что действительно нужно в практике.
 
действительно нужно в практике.
Предположим, Вы написали песню, куплет 1 - припев - куплет 2 - припев... И вдруг захотели увеличить куплет 1 в два раза, изменив у второй части только пару партий. Ваши действия?
 
@lil-burn, Insert Region (from time selection) В главном меню рипера вам о чем нибудь говорит?
Дело то все в том, что есть экшены, которые облегчают рутинную работу, востребованы в любом проекте, и они нужны на каждый день. А есть те, которые, возможно, когда нибудь, да пригодятся. Вот их я и предлагаю перенести в ветку экспериментов, типа как ваш экшен по замене плагинов на треках. Честно говоря, так и не понял его полезности на практике. Однако понимаю, что и он дает вам неоценимый опыт для реализации мыслей. Рипер упакован по самые я-ца изначально, и это хорошо, что мы можем его улучшать. Думаю весьма полезно, каждому начинающему экшеностроителю, посмотреть как можно больше видюков на том же ютюбе, чтобы как минимум, знать, изучить!!!, что умеет рипер после установки, дабы не городить городки. И наверное не ошибусь если напишу, что на ресурсах по риперу, выложены уже тысячи экшенов, и пойди найди то что нужно, среди всего этого добра. Проще зайти сюда и найти то, что реализует практическую задачу, или спросить, здесь всегда помогут. Только как искать, когда через пол года в этой ветке будет, к примеру - 555 экскриментальных экшенов, а реально полезных, рабочих лошадок - 23???
 
Последнее редактирование:
  • Like
Реакции: Aleksandr Oleynik

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