Помогите создать экшн / кастом экшн / скрипт (4 онлайн)

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
Просьба сделать данное действие с выделенным итемом по тайм селекшну, одним экшином
 

Вложения

BAYANBAYAN

Active Member
4 Мар 2010
515
246
43
@Maestro Sound, Где-то уже проскакивало такое на форуме - вроде делали. Поищите. Может кто-то еще точнее укажет.
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
Просьба сделать данное действие с выделенным итемом по тайм селекшну, одним экшином
у меня это реализовано так (не очень изящно, но работает :)
Screenshot_1.jpg

для этого кастома нужен скрипт select env vol.eel:
Код:
//==Get Act Take from 1-st Item==//
Item_ID=GetSelectedMediaItem(0,0);
Take_ID=GetActiveTake(Item_ID);
//==Get Basic Envelopes by Name==//
Env_Volume_ID=GetTakeEnvelopeByName(Take_ID, "Volume");SetCursorContext(2, Env_Volume_ID);
//Env_Pan_ID=GetTakeEnvelopeByName(Take_ID, "Pan");SetCursorContext(2, Env_Pan_ID);
//Env_Mute_ID=GetTakeEnvelopeByName(Take_ID, "Mute");SetCursorContext(2, Env_Mute_ID);
UpdateArrange();
 

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
SWS/BR: Decrease selected envelope points by 1 db (volume envelope only) в кастоме что выше, плюс мне кажется "Select pointsin time selection" там лишнее, т.к. создаются 4(!) точки как раз для того, чтобы на границе выделения быть нетронутыми, а внутри выделения точки выделены для их дальнейшего перемещения.
 
Последнее редактирование:
  • Like
Реакции: Aleksandr Oleynik

BAYANBAYAN

Active Member
4 Мар 2010
515
246
43
Подскажите, можно ли в принципе создать скрипт, переключающий входящие миди устройства для выбранного трека. Я так понимаю, у каждого устройства есть ID.
Работаю с двумя миди клавиатурами и переключаться в настройках трека неудобно. В экшенах не нашел, есть только переключение каналов, но это не то. Может, кто поможет скрипт написать.
 

BAYANBAYAN

Active Member
4 Мар 2010
515
246
43
@@Michael, Большое человеческое спасибо! Это мне очень пригодится.
Я правильно понял, что ID устройства вставляется в конец этой строчки, где кавычки?
local retval, nameout = reaper.GetMIDIInputName( i, '' )
 
Последнее редактирование:

BAYANBAYAN

Active Member
4 Мар 2010
515
246
43
@@Michael, Подскажите, пожалуйста, куда вставлять ID MIDI устройства, а куда канал. Что-то не смог самостоятельно разобраться.
 

fractala

Well-Known Member
1 Авг 2012
2.416
998
113
Ребята, подскажите пожалуйста скрипт или экшен для online render.
Ситуация такая - нужен именно онлайн рендер миди айтемов по отдельности или всей дорожки, так как работаю с железками (по midi или vst-midi)

Все экшены (по слову bounce или render) из списка (это порядка 3000) перепробовал, они все делают offline render.

ps: можно конечно лезть постоянно в настройки рендера рипера и вручную выставлять online рендер, менять настройки рендера (имя папки, wildcards, тип ресемплинга). А потом при рендере проекта снова возвращать все обратно. Это слишком муторный вариант
Верю что есть скрипт или можно написать его.
 

fractala

Well-Known Member
1 Авг 2012
2.416
998
113
ну можно чутка легче: есть пресеты рендера.
А про скрипт не подскажу...
про пресеты знаю, хотелось бы вообще не лезть в настройки рендера микса , взял скрипт онлайн рендера, повесил его на кнопку тулбара и вперед.

ps: или как вариант, в меню рендера подготовить заранее пресеты, а этим скриптом просто запускать нужный мне пресет рендера
 

BAYANBAYAN

Active Member
4 Мар 2010
515
246
43
@@Michael, Отлично, все работает! Скажите, а можно сделать изменение входа для всех выделенных треков? Сейчас переключается только первый выделенный трек.
 

Snjuk

Active Member
11 Июн 2014
265
126
43
43
Житомир UA
Здравствуйте, Есть экшн SWS/FNG: Time stretch selected items by 2
можно сделать скрипт Time stretch selected items by 0,5 спасибо
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
можно сделать скрипт Time stretch selected items by 0,5 спасибо
Не совсем вопрос понятен. Как можно растянуть в 0.5 ?
Ведь если мы растянем в 0.5, то он станет в 2 раза короче
Может вы инели в виду в 1.5 раза ? (то есть к основному прибавить половину) или 1.25
 
Последнее редактирование:

HDVulcan

Active Member
23 Окт 2016
176
37
28
@Michael, я обновил реапак и протестировал новую версию скрипта "mpl_Send selected tracks to track under mouse cursor (channel 3-4)". Все работает хорошо.
Теперь стало намного удобнее пользоваться.
Спасибо большое,Михаил!
 

arkaine

Active Member
13 Сен 2007
640
128
43
О нотах в MIDI Editor'е:

Подскажите, пожалуйста, есть ли (или мог бы кто создать?) экшн/скрипт, который бы располагал все выделенные разновысотные ноты на высоте первой из выделенных нот?

Стандартным функционалом это можно реализовать посредством Multiple Note Properties, но это всё же совершение нескольких действий, да и пока определишь высоту (точный номер) первой из них -- это значительно замедляет совершение данного действия, которое можно было бы реализовать одним экшном/скриптом при наличии такового.

Test.gif
 

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
@arkaine не уверен, что будет работать с пересекающимися нотами, но с монофонией должно быть ок
PHP:
  function main()
    local ME  = reaper.MIDIEditor_GetActive()
    if not ME then return end
    local take= reaper.MIDIEditor_GetTake( ME )
    if not take or not reaper.TakeIsMIDI(take) then return end
 
    local gotAllOK, MIDIstring = reaper.MIDI_GetAllEvts(take, "")
    if not gotAllOK then return end
    local MIDIlen = MIDIstring:len()
    local fstselP, P
    local s_unpack, s_pack, out_str, nextPos, prevPos, offset, flags, msg1 = string.unpack, string.pack, '', 1, 1
    while nextPos <= MIDIlen do
      prevPos = nextPos
      offset, flags, msg1, nextPos = s_unpack("i4Bs4", MIDIstring, prevPos)
      if not fstselP and flags&1==1 and msg1:byte(1)>>4 == 0x9 then fstselP = msg1:byte(2) end
      if fstselP and flags&1==1 then P = fstselP else P = msg1:byte(2) end
      str_per_msg = string.pack("i4Bi4BBB", offset, flags, 3,
                                        msg1:byte(1),
                                        P,
                                        msg1:byte(3))
      out_str = out_str..str_per_msg
    end
    reaper.MIDI_SetAllEvts(take, out_str)
    reaper.MIDI_Sort(take)
  end

  main()
 
  • Like
Реакции: arkaine и BAYANBAYAN

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
Кто поможет создать скрипт - удаление папки, без удаления дочерних треков? В том числе если есть и подпапки, и я удаляю только подпапку - должно все корректно работать, чтобы дочерние треки тогда переместились в папку, в которой была подпапка. Также удаление несколько выделенных папок одновременно, желательно
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Кто поможет создать скрипт - удаление папки, без удаления дочерних треков? В том числе если есть и подпапки, и я удаляю только подпапку - должно все корректно работать, чтобы дочерние треки тогда переместились в папку, в которой была подпапка. Также удаление несколько выделенных папок одновременно, желательно
Сегодня сделаю.

P.S. Archie_Track; Delete folder(s) not removing child tracks.lua / ReaPack / Raw
 
Последнее редактирование:

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