bench: official param bridge (setparam/dump_params.lua) + rpp_setparam format tool; 22c — XML params decorative, depth=+-18dB, trim=+-24dB, reduction curves measured
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
-- setparam.lua : set soothe2 FX params by name (normalized 0..1), save-as, quit.
|
||||
-- Env: S2_SET "name=value;name=value" (value normalized 0..1)
|
||||
-- S2_OUT full path to save the modified project copy to
|
||||
local spec = os.getenv("S2_SET") or ""
|
||||
local outpath = os.getenv("S2_OUT")
|
||||
local log = io.open("/tmp/opencode/setparam.log", "w")
|
||||
log:setvbuf("line")
|
||||
|
||||
local tr = reaper.GetTrack(0, 0)
|
||||
if tr == nil then
|
||||
log:write("NO TRACK\n") ; log:close() ; return
|
||||
end
|
||||
|
||||
local function find_idx(name)
|
||||
local np = reaper.TrackFX_GetNumParams(tr, 0)
|
||||
for p = 0, np - 1 do
|
||||
local _, pn = reaper.TrackFX_GetParamName(tr, 0, p, "")
|
||||
if pn:lower() == name:lower() then return p end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
for pair in spec:gmatch("[^;]+") do
|
||||
local name, val = pair:match("^(.-)=(.-)$")
|
||||
val = tonumber(val)
|
||||
local idx = find_idx(name)
|
||||
if idx == nil then
|
||||
log:write(string.format("param %-16s NOT FOUND\n", name))
|
||||
else
|
||||
reaper.TrackFX_SetParam(tr, 0, idx, val)
|
||||
local rv = reaper.TrackFX_GetParam(tr, 0, idx)
|
||||
local _, fmt = reaper.TrackFX_GetFormattedParamValue(tr, 0, idx, "")
|
||||
log:write(string.format("set %-16s -> raw=%.6f fmt=%s\n", name, rv, fmt))
|
||||
end
|
||||
end
|
||||
|
||||
if outpath and outpath ~= "" then
|
||||
reaper.Main_SaveProjectEx(0, outpath, 0)
|
||||
log:write("saved " .. outpath .. "\n")
|
||||
end
|
||||
log:close()
|
||||
local t0 = reaper.time_precise()
|
||||
while reaper.time_precise() - t0 < 2 do reaper.defer(function() end) end
|
||||
reaper.Main_OnCommand(40004, 0) -- File: Quit REAPER
|
||||
Reference in New Issue
Block a user