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

zenykmusic

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

dima4321

Member
31 Дек 2018
64
5
8
42
Добрый день, где то видел , но потерял..

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

shuco

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

dima4321

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

shuco

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

Вложения

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

shuco

Active Member
26 Ноя 2005
439
109
43
58
Новосибирск
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

Member
31 Дек 2018
64
5
8
42
@shuco, попробовал, да это хорошая штука. Но т.к. я человек совсем новенький в рипере , проясни пару моментов.

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

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

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

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

shuco

Active Member
26 Ноя 2005
439
109
43
58
Новосибирск
Но т.к. я человек совсем новенький в рипере...
Я сам его месяц только осваиваю.
Вложение 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
5
7
3
26
Коллеги, нигде не встретил скрипта по добавлению/удалению стретч-маркера под курсором мыши с одной и той же клавиши, написал сам.
Может, кому то тоже пригодится:

Код:
  ----------------------------------------------------------------------------------------
  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
17
10
3
Папка как в Cubase / Folder items (like Cubase, StudioOne)
Ссылки на скрипты под видео на ютубе
 
Последнее редактирование:
  • Like
Реакции: Moyses

Анатоль

Active Member
17 Янв 2012
101
28
28
Автозум трека при выборе, прикольно достаточно


Скрипт в описании под видео
Привет, понимаю ,что прошло четыре года... я о том что под видео уже ссылка не действительна. А где бы этот скрипт таки взять?))
 

vax

Чукча-писатель
13 Ноя 2002
7.397
4.620
113
44
Kiev/UA
www.andivaxmastering.com
Коллеги, нигде не встретил скрипта по добавлению/удалению стретч-маркера под курсором мыши с одной и той же клавиши, написал сам.
Может, кому то тоже пригодится:

Код:
  ----------------------------------------------------------------------------------------
  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()

а можно версию с привязкой к сетке? и чтоб swing соблюдала?
спс
 
  • Like
Реакции: Nagor

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
а можно версию с привязкой к сетке? и чтоб swing соблюдала?
спс
Archie_Item; Add Remove stretch marker under mouse cursor.lua
Archie_Item; Add Remove stretch marker to nearest grid under mouse cursor.lua
Archie_Item; Add Remove stretch marker under mouse cursor and snap to nearest grid.lua
Archie_Item; Add-Remove stretch marker under mouse cursor and snap to previous grid.lua
Archie_Item; Add Remove stretch marker under mouse cursor and snap to next grid.lua
 
Последнее редактирование:
  • Like
Реакции: chiibiis

vax

Чукча-писатель
13 Ноя 2002
7.397
4.620
113
44
Kiev/UA
www.andivaxmastering.com
Archie_Item; Add Remove stretch marker under mouse cursor.lua
Archie_Item; Add Remove stretch marker to nearest grid under mouse cursor.lua
Archie_Item; Add Remove stretch marker under mouse cursor and snap to nearest grid.lua
Archie_Item; Add-Remove stretch marker under mouse cursor and snap to previous grid.lua
Archie_Item; Add Remove stretch marker under mouse cursor and snap to next grid.lua
Отлично работает!!!
А реально сделать скрипт, чтобы edit cursor не сдвигался?
А то после установки stretch marker-ов всё время приходится устанавливать курсор вручную для воспроизведения..

PS Задонатил чуток )
 
  • Like
Реакции: Archie's

Martin111

Member
18 Фев 2015
482
20
18
53
@Archchie а как сделать чтобы марекры выставлялись по edit cursor ? (toogle, поставить-удалить)
 

Martin111

Member
18 Фев 2015
482
20
18
53
@Archchie Item: Add stretch marker at cursor ставит маркер, хотелось бы чтобы при повторном нажатии удалял маркер.
 

vax

Чукча-писатель
13 Ноя 2002
7.397
4.620
113
44
Kiev/UA
www.andivaxmastering.com
@vax, Не понял. Там же не куда не сдвигается edit cursor.
когда использую add stretch marker - курсор остаётся на своём месте.
когда твой скрипт или старые скрипты по добавлению стретч маркера и квантайзу - курсор двигается к тому месту, куда stretch marker привязывается.
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
когда твой скрипт или старые скрипты по добавлению стретч маркера и квантайзу - курсор двигается к тому месту, куда stretch marker привязывается.
У меня никуда курсор не двигается, вот гиф
Или наоборот надо что бы он прыгнуть к добавленному маркеру ?
 

Вложения

  • 100,9 KB Просмотры: 533
Последнее редактирование:

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