В том, чтобы вместить эти экшны на одной горячей клавише и минимизировать действия, необходимые для совершения сплита.В чём вообще смысл?
Мегаполезно, спасибо!!!Цикл экшн в одну строчку:
CONSOLE i0m
@arkaine, пиля, второй раз за день вопрос, на который я бы полгода назад с закрытыми глаами ответил. А сейчас, только пальцем в нужную сторону ткнуть могу:
Вот все тело функции надо впихнуть в while луп, и поменять на кошерную команду get***Track из API. Он должен возвращать всегда только один id трека.
Подскажите, пожалуйста (вопрос опытным скриптоделам).
Мне вот потребовался экшн/скрипт (именно экшн/скрипт), позволяющий изменить Input канал(а/ов) с дефолтного "Input: Stereo" на "Input: Midi".
Благо, нашёл созданный предусмотрительным Михаилом Пилявским скрипт:
Prepare MIDI input for last touched track.
Как гласит название и каково его содержание:
[HIDE] function MIDI_prepare(tr)
local tr = reaper.GetLastTouchedTrack()
if not tr then return end
local bits_set=tonumber('111111'..'00000',2)
reaper.SetMediaTrackInfo_Value( tr, 'I_RECINPUT', 4096+bits_set ) -- set input to all MIDI
reaper.SetMediaTrackInfo_Value( tr, 'I_RECMON', 1) -- monitor input
reaper.SetMediaTrackInfo_Value( tr, 'I_RECARM', 1) -- arm track
reaper.SetMediaTrackInfo_Value( tr, 'I_RECMODE',0) -- record MIDI out
end
MIDI_prepare() [/HIDE]
Этот скрипт работает только с последним "тронутым" треком.
Можно ли как-либо заставить скрипт воздействовать на все выделенные треки?
Пробовал вместо GetLastTouchedTrack ставить CountSelectedTracks -- приводит к ошибке.
Есть!есть ли экшн/скрипт "Shuffle Selected Notes" -- т.е., который бы рандомно изменял порядок располагающихся в айтеме нот?
function GetNotes(take)
local t = {}
for i = 0, 1000 do
local ret, sel, mute, start_note, end_note, chan, pitch, vel = r.MIDI_GetNote(take, 0)
if not ret then break end
t[#t+1] = {i, sel, mute, start_note, end_note, chan, pitch, vel}
r.MIDI_DeleteNote(take, 0)
end
for i = 1, #t do
local _, sel, mute, start_note, end_note, chan, pitch, vel = table.unpack(t[i])
r.MIDI_InsertNote(take, sel, mute, start_note, end_note, chan, pitch, vel, 0)
end
return t
end
Это уже готовый для использования в скриптах Рипера код?)решение так себе, хотя работает