Скрипт не работает все время в фоне,он запускается,только чтобы вытянуть аудио из JS.Поэтому отследить инпут текущего трека нельзя.Понимаю,что некрасиво,но изменить не получитсяМожно ли сделать так, чтобы input скрытого аудио retrorec-трека подстраивался под инпут записываемого трека?
Да,конечно. Можно и в самом скрипте прописать,надо глянуть,там довольно запутанная схема,если вспомню, то вечером добавлю.автоматом становится моно(L+R).
local tcp_layouts = { -- TCP layout names from the default theme (REAPER v5.0pre36)
"", -- default
--"aa - Standard",
--"ab --- Standard + value readouts",
--"ac --- Standard Media",
--"ad --- Standard Media stretch",
--"ae --- Standard expanding",
--"af --- Standard expanding, popup fader",
--"ag --- Standard Extra-expanding",
--"ba - Small",
--"bb --- Small + value readouts",
--"bc --- Small Media",
"bd --- Small Full Meter",
--"bd --- Small Full Meter + value readouts",
--"be --- Small expanding, popup fader",
--"ca - Large",
--"cb --- Large + value readouts",
--"cc --- Large Media",
"cd --- Large expanding, popup fader"
}
function get_current_layouts_and_pos(track) -- "pos" means index in "tcp_layouts" -table
local current_mcp_layout, current_tcp_layout = reaper.BR_GetMediaTrackLayouts(track)
local i = 1
local pos = 0
for k, v in ipairs(tcp_layouts) do
if v == current_tcp_layout then
pos = i
end
i = i + 1
end
return current_mcp_layout, current_tcp_layout, pos
end
function set_next_tcp_layout()
reaper.PreventUIRefresh(1)
for i=1, reaper.CountSelectedTracks(0) do
local track = reaper.GetSelectedTrack(0, i-1)
if track ~= nil then
current_mcp_layout, current_tcp_layout, pos = get_current_layouts_and_pos(track)
if current_tcp_layout == tcp_layouts[#tcp_layouts] then
new_tcp_layout = tcp_layouts[1]
else
new_tcp_layout = tcp_layouts[pos+1]
end
reaper.BR_SetMediaTrackLayouts(track, current_mcp_layout, new_tcp_layout)
end
end
reaper.PreventUIRefresh(-1)
end
set_next_tcp_layout()
local mcp_layouts = { -- MCP layout names from the default theme (REAPER v5.0pre36)
"eb --- Strip Full Controls",
"ed --- Strip Meter Bridge"
}
function get_current_layouts_and_pos(track) -- "pos" means index in "mcp_layouts" -table
local current_tcp_layout, current_mcp_layout = reaper.BR_GetMediaTrackLayouts(track)
local i = 1
local pos = 0
for k, v in ipairs(mcp_layouts) do
if v == current_mcp_layout then
pos = i
end
i = i + 1
end
return current_mcp_layout, current_tcp_layout, pos
end
function set_next_mcp_layout()
reaper.PreventUIRefresh(1)
for i=1, reaper.CountSelectedTracks(0) do
local track = reaper.GetSelectedTrack(0, i-1)
if track ~= nil then
current_tcp_layout, current_mcp_layout, pos = get_current_layouts_and_pos(track)
if current_mcp_layout == mcp_layouts[#mcp_layouts] then
new_mcp_layout = mcp_layouts[1]
else
new_mcp_layout = mcp_layouts[pos+1]
end
reaper.BR_SetMediaTrackLayouts(track, current_tcp_layout, new_mcp_layout)
end
end
reaper.PreventUIRefresh(-1)
end
set_next_mcp_layout()
local mcp_layouts = { -- MCP layout names from the default theme (REAPER v5.0pre36)
"eb --- Strip Full Controls",
"ed --- Strip Meter Bridge"
}
function get_current_layouts_and_pos(track) -- "pos" means index in "mcp_layouts" -table
local current_tcp_layout, current_mcp_layout = reaper.BR_GetMediaTrackLayouts(track)
local i = 1
local pos = 0
for k, v in ipairs(mcp_layouts) do
if v == current_mcp_layout then
pos = i
end
i = i + 1
end
return current_mcp_layout, current_tcp_layout, pos
end
function set_next_mcp_layout()
reaper.PreventUIRefresh(1)
for i=1, reaper.CountSelectedTracks(0) do
local track = reaper.GetSelectedTrack(0, i-1)
if track ~= nil then
current_tcp_layout, current_mcp_layout, pos = get_current_layouts_and_pos(track)
if current_mcp_layout == mcp_layouts[#mcp_layouts] then
new_mcp_layout = mcp_layouts[1]
else
new_mcp_layout = mcp_layouts[pos+1]
end
reaper.BR_SetMediaTrackLayouts(track, current_tcp_layout, new_mcp_layout)
end
end
reaper.PreventUIRefresh(-1)
end
set_next_mcp_layout()
fx_name = 'RBass Stereo'
tr = reaper.GetSelectedTrack(0,0)
wanded_fx = reaper.TrackFX_GetByName(tr, fx_name, true)
reaper.TrackFX_Show(tr, wanded_fx, 1) -- 1 for show chain, 3 for show floating window
Используя FX GUIDВообще, если нужно, можно написать скрипт, который работает и с переименованными плагинами
for p = 1, 100 do
retval = reaper.EnumProjects(p, '')
if retval == nil then x = p break end
end
for p = 1, 100 do
retval = reaper.EnumProjects(p, '')
if retval == nil then x = p break end
end
retval_0 = reaper.EnumProjects(-1, '')
for p = 1, x do
retval = reaper.EnumProjects(p-1, '')
if retval == retval_0 then cur_proj_tab = p break end
end
вот в этом и причина.P.S. На входе трека установлен режим записи "Record: MIDI overdub"
Да, причина понятна, в другом режиме запись начинается с момента нажатия REC. была просьба помочь создать создать кастом экшн или скрипт.вот в этом и причина.