Просто замечательно. Один маленький нюанс, когда нажимаешь "родную" команду из всплывающего окна, в окошке, в котором нужно вводить значение, указано текущее значение точки автоматизации (удобно, соответственно уменьшаешь его или увеличиваешь), в скрипте же - пустое окошко. Нет ли возможности немного подправить скрипт? Заранее благодарен.
Да, вводить значения можно и с "+" и с "-". Нет ли возможности подправить скрипт, чтобы окно для ввода значений открывалось, как в "родной" команде? То есть уже со значением текущей, выделенной точки автоматизации.@@Michael, Можно "+" и "-" вроде использовать (могу ошибаться, с телефона неудобно код смотреть).
midieditor = reaper.MIDIEditor_GetActive()
if midieditor ~= nil then
is_scale_enabled = reaper.MIDIEditor_GetSetting_int(midieditor, "scale_enabled")
if is_scale_enabled == 1 then
--form pattern table
scale_root = reaper.MIDIEditor_GetSetting_int(midieditor, "scale_root")
retval, scale_pat_original = reaper.MIDIEditor_GetSetting_str(midieditor, "scale", "")
scale_pat = string.sub(scale_pat_original, 13-scale_root).. string.sub(scale_pat_original, 0, 12-scale_root)
scale_pat_t={}
scale_pat:gsub(".",function(c) if c ~= "0" then c = "1" else c = "0"end table.insert(scale_pat_t,c)end)
--loop through selected items notes
sel_item_count = reaper.CountSelectedMediaItems(0)
if sel_item_count ~= nil and scale_pat_t ~= nil then
for i = 1, sel_item_count do
item = reaper.GetSelectedMediaItem(0, i-1)
count_takes = reaper.CountTakes(item)
if count_takes ~= nil then
for j = 1, count_takes do
take = reaper.GetTake(item, j-1)
if take ~= nil then
table_to_insert = {}
retval, notecnt = reaper.MIDI_CountEvts(take)
if notecnt ~= nil then
for k = 1, notecnt do
retval,selected, muted, startppqpos, endppqpos, chan, pitch, vel = reaper.MIDI_GetNote(take, k-1)
pitch_norm = pitch % 12
if scale_pat_t[pitch_norm+1] == "0" then
set_pitch = pitch
m = 1
repeat
set_pitch = set_pitch + m
pitch_norm = pitch % 12
until
(scale_pat_t[pitch_norm+1] == "0")
else
set_pitch = pitch
end
temp_table = {selected, muted, startppqpos, endppqpos, chan, set_pitch, vel}
table.insert(table_to_insert, temp_table)
end
end
reaper.MIDI_Sort(take)
-- delete notes from take
if notecnt ~= nil then
for o = 1, notecnt do
reaper.MIDI_DeleteNote(take, 0)
reaper.MIDI_Sort(take)
end
end
-- insert new notes from table
if table_to_insert ~= nil then
for n = 1, #table_to_insert do
temp_table = table_to_insert[n]
selected, muted, startppqpos, endppqpos, chan, pitch, vel =
temp_table[1],temp_table[2],temp_table[3],temp_table[4],temp_table[5],temp_table[6], temp_table[7],
reaper.MIDI_InsertNote(take, selected, muted, startppqpos, endppqpos, chan, pitch, vel, true)
end
end
end
reaper.MIDI_Sort(take)
end
end
reaper.UpdateItemInProject(item)
end
end
end
end
А почему бы просто через Mouse Modifiers не настроить всплывающее окно эдитора для точки автоматизации? У меня оно всплывает просто по дабл-кику по точкеПарни, команда Set point value давно существует в всплывающем меню (ПКМ на точке автоматизации), в вот в списке actions ее нет, не могли бы Вы помочь написать какой-нить скрипт, чтобы эта опция появилась в списке actions и на нее можно было повесить shortcut
Посмотреть вложение 102987
Я уже попадался на этом.В FNG специально естьНо MIDI_Sort не всегда корректно работает
@lil-burn, Есть ли эшен, который квантизует по сетке только конец (правый край) ноты? Не нашел
Quantize notes position and end to grig - его совсем недавно допилили, мы просто не нарадуемся он до этого срабатывал не совсем корректно, Джастину скинули описание бага и он сделал все как надо.
Именно так и есть, команда Quantize notes position and end to grig квантизует только правый край (end), что видно даже из названия команды.@lil-burn, Может, не совсем правильно выразился - нужно двигать только правый край, левый всегда должен оставаться на месте (даже если не квантизован по сетке)
Странно, но почему-то до сих пор думал, что под Quantize notes position скрывается квантизация начала нот (левого края), тогда Quantize notes position and end to grid - не что иное, как подгонка начала и конца ноты к соответствующим ближайшим делениям сетки. По крайней мере у меня оно работает именно так, пруф уже в студииИменно так и есть, команда Quantize notes position and end to grig квантизует только правый край (end), что видно даже из названия команды.
Тогда используй основной экшн квантайза.
Посмотреть вложение 103293
Так ни у кого и не получилось осуществить это?? Тоже хотелось бы при нажатии клавишей или группой клавиш и мышкой получить открытие плагина с эффектом на который назначен посыл.Очень хотелось бы иметь возможность открывать "морду" ревербератора (к примеру) прямо из трека,с которого организован посыл в микшере(аналог кнопки "е" на сенде в Кубэйсе).
В микшере ПКМ на сенде есть команда "Go To Send Destination Track" .От этого,по идее,можно "плясать",но вот как это скриптом реализовать?
да, только вот я ничего не понял. Было б круто если бы тут мне помогли)@naash_g, там было более конкретное условие-по имени ревера,уже в следующем посте есть упрощенный вариант