From 24cb141aa67d9aee85b4ea9b78b2347432a41ecd Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 16 Aug 2017 05:02:26 +0200 Subject: Revert "Revert ongoing SessionDialog changes for 5.11 release." This reverts commit bd40b9132cbac2d2b79ba0ef480bd41d837f8f71. --- scripts/session_template_advanced.lua | 59 +++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 scripts/session_template_advanced.lua (limited to 'scripts') diff --git a/scripts/session_template_advanced.lua b/scripts/session_template_advanced.lua new file mode 100644 index 0000000000..3e8d95f5b2 --- /dev/null +++ b/scripts/session_template_advanced.lua @@ -0,0 +1,59 @@ +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 -- cgit v1.2.3