60 lines
1.7 KiB
Lua
60 lines
1.7 KiB
Lua
|
ardour {
|
||
|
["type"] = "SessionSetup",
|
||
|
name = "Advanced Session",
|
||
|
description = [[Allows to configure master-bus and autoconnect]],
|
||
|
master_bus = 0
|
||
|
}
|
||
|
|
||
|
function session_setup ()
|
||
|
|
||
|
local auto_connect_in = {
|
||
|
[0] = "Manually",
|
||
|
[1] = "automatically to physical inputs",
|
||
|
}
|
||
|
|
||
|
local auto_connect_out = {
|
||
|
[0] = "Manually",
|
||
|
[1] = "automatically to physical outputs",
|
||
|
[2] = "automatically to master bus",
|
||
|
}
|
||
|
|
||
|
local dialog_options = {
|
||
|
{ type = "heading", title = "Customize Session: " .. Session:name () },
|
||
|
{ type = "number", key = "master", title = "Master bus channels", min = 0, max = 24, step = 1, digits = 0, default = 2 },
|
||
|
{ type = "checkbox", key = "monitor", title = "Add monitor section", default = ARDOUR.config():get_use_monitor_bus () },
|
||
|
{ type = "dropdown", key = "ac_input", title = "Autoconnect Inputs",
|
||
|
values = {
|
||
|
[auto_connect_in[0]] = 0,
|
||
|
[auto_connect_in[1]] = 1,
|
||
|
},
|
||
|
default = auto_connect_in[ARDOUR.config():get_input_auto_connect ()]
|
||
|
},
|
||
|
{ type = "dropdown", key = "ac_output", title = "Autoconnect Outputs",
|
||
|
values = {
|
||
|
[auto_connect_out[0]] = 0,
|
||
|
[auto_connect_out[1]] = 1,
|
||
|
[auto_connect_out[2]] = 2,
|
||
|
},
|
||
|
default = auto_connect_out[ARDOUR.config():get_output_auto_connect ()]
|
||
|
},
|
||
|
}
|
||
|
|
||
|
local dlg = LuaDialog.Dialog ("Template Setup", dialog_options)
|
||
|
local rv = dlg:run()
|
||
|
if (not rv) then return end
|
||
|
|
||
|
if rv['master'] > 0 then
|
||
|
local count = ARDOUR.ChanCount ( ARDOUR.DataType("audio"), rv['master'])
|
||
|
Session:add_master_bus (count)
|
||
|
end
|
||
|
|
||
|
if rv['monitor'] then
|
||
|
Session:add_monitor_section ()
|
||
|
end
|
||
|
|
||
|
ARDOUR.config():set_input_auto_connect (rv['ac_input'])
|
||
|
ARDOUR.config():set_output_auto_connect (rv['ac_output'])
|
||
|
|
||
|
Session:save_state("");
|
||
|
end
|