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

zenykmusic

Member
16 Авг 2018
122
2
18
39
Что это означает. Я нашол етот компресор а как мне сделать чтобы он отображался в рипере.
 
Последнее редактирование:

dima4321

New Member
31 Дек 2018
29
1
3
37
Добрый день, где то видел , но потерял..

Интересует скрипт , который берет сообщения от педали sustian и конвертирует это в удлинение нот , удаляя из айтема соответственно сообщение 64.
 
  • Like
Реакции: shuco

shuco

Active Member
26 Ноя 2005
287
46
28
53
Новосибирск
Это скорее в раздел "Помогите создать экшн / кастом экшн / скрипт". Для меня тоже вопрос злободневный, ибо фортепианные треки в этом ключе приходится править через день. Использую вот этот экшн:Edit: Trim right edge of note to edit cursor. Можно сделать кастом в паре вот с этим:Script: Delete Notes Overlaps(poly).lua
 
Последнее редактирование:

dima4321

New Member
31 Дек 2018
29
1
3
37
@shuco, соглашусь я бы и сам сделал но в экшн нет ни одного действия , которое бы продлевало ноту например до правой границы выделения или лупа ( так можно было обозначить вручную например ту самую точку педаль of )
 

shuco

Active Member
26 Ноя 2005
287
46
28
53
Новосибирск
@shuco, соглашусь я бы и сам сделал но в экшн нет ни одного действия , которое бы продлевало ноту например до правой границы выделения или лупа ( так можно было обозначить вручную например ту самую точку педаль of )
dima4321, я себе грубо состряпал скрипт для аранжа и кастом для эдитора. Самое главное работает! Рипер действительно гениален! Я о такой простенькой фиче в кубейсе лет десять мечтал))).
 

Вложения

  • 1.002,4 KB Просмотры: 57
  • 3,2 MB Просмотры: 56
Последнее редактирование:
  • Like
Реакции: dima4321

shuco

Active Member
26 Ноя 2005
287
46
28
53
Новосибирск
function do_actions_from_main_and_midi_sections()(



Main_OnCommand(40109, 0); // MAIN section action "open selected items in primeri MIDI editor"

active_MIDI_editor = MIDIEditor_GetActive(); //get MIDI editor ID
MIDIEditor_LastFocused_OnCommand(40746, 0); //Select all notes in time selection

MIDIEditor_LastFocused_OnCommand(NamedCommandLookup("_BR_ME_SAVE_CURSOR_POS_SLOT_13"), 0); // ME action: "SWS/BR: Save edit cursor position, slot 13"

MIDIEditor_OnCommand(active_MIDI_editor, 40881); // ME action: "Move cursor to end of time selection"

MIDIEditor_OnCommand(active_MIDI_editor, 40791); // ME action: "Trim right edge of note to edit cursor"

MIDIEditor_LastFocused_OnCommand(NamedCommandLookup("_RS7d3c_0e9ffdc242cf1ec9080bf27ec6722c0f926cecfb"), 0); // ME action: "Script: Delete Notes Overlaps(poly)"

MIDIEditor_LastFocused_OnCommand(NamedCommandLookup("_BR_ME_RESTORE_CURSOR_POS_SLOT_13"), 0); // ME action: "SWS/BR: Restore edit cursor position, slot 13"

MIDIEditor_OnCommand(active_MIDI_editor, 2); // ME action: "Close MEditor"

Main_OnCommand(40635, 0); // MAIN section action "Remove time selection"

);

do_actions_from_main_and_midi_sections();
 

Вложения

dima4321

New Member
31 Дек 2018
29
1
3
37
@shuco, попробовал, да это хорошая штука. Но т.к. я человек совсем новенький в рипере , проясни пару моментов.

Скрипт написан на языке eel как я понял , по крайней мере я поставил это расширение в блокнот файле.

В итоге скрипт работает корректно и в поле arrange и в midi editor.

Но в миди едиторе почему то после выполнения действия сразу выкидывает в arrange , получается надо каждый раз снова заходить в mid editor и править очередную партию нот. Вместо того чтобы все время сидеть там .

И прокомментируй вложение pedal , это расширение sws и прописанная последовательность действий в итоге генерирует сам скрипт - код ?
 

shuco

Active Member
26 Ноя 2005
287
46
28
53
Новосибирск
Но т.к. я человек совсем новенький в рипере...
Я сам его месяц только осваиваю.
Вложение pedal это кастом экшн именно для миди эдитора. А чтобы скрипт не выкидывал обратно в аранж нужно строчку Close MEditor убрать. И первую конечно( "open selected items in primeri MIDI editor")
function do_actions_from_main_and_midi_sections()(

active_MIDI_editor = MIDIEditor_GetActive(); //get MIDI editor ID
MIDIEditor_LastFocused_OnCommand(40746, 0); //Select all notes in time selection

MIDIEditor_LastFocused_OnCommand(NamedCommandLookup("_BR_ME_SAVE_CURSOR_POS_SLOT_13"), 0); // ME action: "SWS/BR: Save edit cursor position, slot 13"

MIDIEditor_OnCommand(active_MIDI_editor, 40881); // ME action: "Move cursor to end of time selection"

MIDIEditor_OnCommand(active_MIDI_editor, 40791); // ME action: "Trim right edge of note to edit cursor"

MIDIEditor_LastFocused_OnCommand(NamedCommandLookup("_RS7d3c_0e9ffdc242cf1ec9080bf27ec6722c0f926cecfb"), 0); // ME action: "Script: Delete Notes Overlaps(poly)"

MIDIEditor_LastFocused_OnCommand(NamedCommandLookup("_BR_ME_RESTORE_CURSOR_POS_SLOT_13"), 0); // ME action: "SWS/BR: Restore edit cursor position, slot 13"

Main_OnCommand(40635, 0); // MAIN section action "Remove time selection"

);

do_actions_from_main_and_midi_sections();
Но лучше кастом собрать.
 
Последнее редактирование:
  • Like
Реакции: dima4321 и riko

HarmonyHabit

New Member
5 Апр 2019
1
4
3
21
Коллеги, нигде не встретил скрипта по добавлению/удалению стретч-маркера под курсором мыши с одной и той же клавиши, написал сам.
Может, кому то тоже пригодится:

Код:
  ----------------------------------------------------------------------------------------
  function nothing() end; function noundo() reaper.defer(nothing) end
  ----------------------------------------------------------------------------------------
  function main()
    -- locals
      local sm_id, item, item_pos, take, pos, rate, _; local r = reaper
      _,_,_ = r.BR_GetMouseCursorContext()
      take = r.BR_GetMouseCursorContext_Take()
      pos = r.BR_GetMouseCursorContext_Position()
      sm_id = r.BR_GetMouseCursorContext_StretchMarker()
      if not take then noundo() return end
    -- remove SM
      if sm_id > -1 then
        r.Undo_BeginBlock()
        r.DeleteTakeStretchMarkers(take, sm_id)
        r.Undo_EndBlock("Remove stretch marker at mouse cursor", -1)
      else
    -- add SM
        if r.TakeIsMIDI(take) then noundo() return end
        r.Undo_BeginBlock()
        item_pos = r.GetMediaItemInfo_Value(r.GetMediaItemTake_Item(take), "D_POSITION")
        rate = r.GetMediaItemTakeInfo_Value(take, "D_PLAYRATE")
        r.SetTakeStretchMarker(take, -1, (pos-item_pos)*rate)
        r.Undo_EndBlock("Add stretch marker at mouse cursor", -1)
      end
    r.UpdateArrange()
  end
  ----------------------------------------------------------------------------------------
  main()

SM at mouse.gif
 

maxmusic

New Member
10 Дек 2008
9
8
3
Папка как в Cubase / Folder items (like Cubase, StudioOne)
Ссылки на скрипты под видео на ютубе
 
Последнее редактирование:
  • Like
Реакции: Moyses

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