В том, чтобы вместить эти экшны на одной горячей клавише и минимизировать действия, необходимые для совершения сплита.В чём вообще смысл?
Мегаполезно, спасибо!!!Цикл экшн в одну строчку:
CONSOLE i0m
@arkaine, пиля, второй раз за день вопрос, на который я бы полгода назад с закрытыми глаами ответил. А сейчас, только пальцем в нужную сторону ткнуть могу:
Вот все тело функции надо впихнуть в while луп, и поменять на кошерную команду get***Track из API. Он должен возвращать всегда только один id трека.
Подскажите, пожалуйста (вопрос опытным скриптоделам).
Мне вот потребовался экшн/скрипт (именно экшн/скрипт), позволяющий изменить Input канал(а/ов) с дефолтного "Input: Stereo" на "Input: Midi".
Благо, нашёл созданный предусмотрительным Михаилом Пилявским скрипт:
Prepare MIDI input for last touched track.
Как гласит название и каково его содержание:
View hidden content is available for registered users!
Этот скрипт работает только с последним "тронутым" треком.
Можно ли как-либо заставить скрипт воздействовать на все выделенные треки?
Пробовал вместо 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
Это уже готовый для использования в скриптах Рипера код?)решение так себе, хотя работает