Вот на этот вопрос я затрудняюсь ответить!А как вам удалось понять что из за нее скрипт не работал?)
Просто натыкался как то уже на это
Последнее редактирование:
Вот на этот вопрос я затрудняюсь ответить!А как вам удалось понять что из за нее скрипт не работал?)
isSet = reaper.GetSet_LoopTimeRange( 0, 0, 0, 0, 0 ) -- Берём переменную "Time selection"
focus = reaper.GetCursorContext() -- Берём переменную значения где сейчас фокус?
if isSet == 0 then
reaper.Main_OnCommand(40697, 0)
else
if focus == 1 then
reaper.Main_OnCommand(reaper.NamedCommandLookup('41384'), 0)
elseif focus == 2 then
reaper.Main_OnCommand(40089, 0)
end
end
а чем чревато? Я некоторое время пользовался - ничего не заметил необычного. Так то я рад бы очищать буфер, но экшенов для этого не нашёл.@Kokarev Maxim, нельзя Cut использовать если сразу не освободить буфер.
function Msg(param)
reaper.ShowConsoleMsg(tostring(param).."\n")
end
function move_to_next_note()
local take = reaper.MIDIEditor_GetTake(reaper.MIDIEditor_GetActive()) ---Берем активный миди редактор
if take == nil then
return
end
local retval, notecntOut, ccevtcntOut, textsyxevtcntOut = reaper.MIDI_CountEvts(take)--- считаем ноты
local curpos = reaper.GetCursorPosition() ---- Берем позицию курсора
for i = 1, notecntOut do --- Запускаем цикл
local retval, selectedOut, mutedOut, startppqposOut, endppqposOut, chanOut, pitchOut, velOut = reaper.MIDI_GetNote(take,i-1) ---Следующая нота
local note_position = reaper.MIDI_GetProjTimeFromPPQPos(take, startppqposOut) --- конвертим в значение
if note_position > curpos then
reaper.SetEditCurPos(note_position, 1, 1) ----Ставим курсор на следующую ноту
break
end
end
end
reaper.defer(move_to_next_note) -- заглушка
if reaper.CountSelectedTracks() > 0 then
for i = 0, reaper.CountSelectedTracks(0)-1 do
local tr = reaper.GetSelectedTrack(0,i)
if tr then
local env_count = reaper.CountTrackEnvelopes(tr)
for z = 0, env_count-1 do
local tr_env = reaper.GetTrackEnvelope(tr,z)
if tr_env then
local br_env = reaper.BR_EnvAlloc(tr_env, false)
local active, visible, armed, inLane, laneHeight, defaultShape, minValue, maxValue, centerValue, type, faderScaling = reaper.BR_EnvGetProperties(br_env, true, true, true, true, 0, 0, 0, 0, 0, 0, true)
if visible == false then
reaper.BR_EnvSetProperties(br_env, active, true, armed, inLane, laneHeight, defaultShape, faderScaling)
end
reaper.BR_EnvFree( br_env, true )
end
end
end
end
end
Брать Кривую по имени и показывать её.но когда трек только добавлен (новый), ничего не показывается. Я так подозреваю, что в данном случае
CountTrackEnvelopes = 0. Тогда как заставить их показаться принудительно?
Понятно, то есть если не активирована скриптом не показать. Тогда получается экшн (Track: Toggle track volume envelope visible) на уровне кода программы работает, так?Вот только если на кривой нет ни одной точки - и она вами принудительно не активирована - вы её и не покажите не как, так как она будет NIL
Почему же, каждому свое.В общем в LUA мы тебя больше не увидим?
Окно закрывается. но скрипт продолжает выполнятся...
if gfx.getchar() >= 0 and gfx.getchar() ~= 27 then reaper.defer(СКРИПТ) else reaper.atexit(gfx.quit) end