I remember i was not the only one having problems with multiple dragonfly room reverb plugins causing xruns in this forum. The solution for me was switching all dragonfly plugins off and on again manually.
As seen in this topic: Help with changing a Lua script (reset dragonfly room reverb)
I finally managed to make with a script that works. I just wanted to share it.
ardour {
["type"] = "EditorAction",
name = "Reset Dragonfly Room Reverbs",
license = "MIT",
author = "Ccee(modified by erojahn)",
description = "Turns on and off Dragonfly Reverb plugins"
}
function factory ()
return function ()
print("Turning off Dragonfly Reverbs...")
for route in Session:get_routes():iter() do
local i = 0
repeat
local p = route:nth_processor(i)
if not p:isnil() then
local name = p:display_name() or ""
if name:lower():find("dragonfly") and p:active() then
print("Turning off plugin: " .. name .. " on track: " .. route:name())
p:deactivate()
elseif
name:lower():find("dragonfly") and not p:active() then
print("Turning on plugin: " .. name .. " on track: " .. route:name())
p:activate()
os.execute("sleep 0.1")
end
end
i = i + 1
until p:isnil()
end
for route in Session:get_routes():iter() do
local i = 0
repeat
local p = route:nth_processor(i)
if not p:isnil() then
local name = p:display_name() or ""
if name:lower():find("dragonfly") and p:active() then
print("Turning off plugin: " .. name .. " on track: " .. route:name())
p:deactivate()
elseif
name:lower():find("dragonfly") and not p:active() then
print("Turning on plugin: " .. name .. " on track: " .. route:name())
p:activate()
os.execute("sleep 0.1")
end
end
i = i + 1
until p:isnil()
end
print("Done resetting Dragonfly Reverbs.")
end
end
