summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-08-18 22:45:47 +0200
committerRobin Gareus <robin@gareus.org>2017-08-18 22:45:47 +0200
commit6edb3f8f9e8c93170e0b3432bb5a25cc8ffd4727 (patch)
tree26aeca96080f8401ef89e13c427d78e2d030c6df /scripts
parentbe6abce398a82e2387aa6423993f039db6d2b9bf (diff)
Update Route-template example script & documentation
Diffstat (limited to 'scripts')
-rw-r--r--scripts/_route_template_example.lua26
1 files changed, 21 insertions, 5 deletions
diff --git a/scripts/_route_template_example.lua b/scripts/_route_template_example.lua
index b7dacec6c9..a3642bf54d 100644
--- a/scripts/_route_template_example.lua
+++ b/scripts/_route_template_example.lua
@@ -14,15 +14,17 @@ function route_setup ()
return
{
-- keys control which AddRouteDialog controls are made sensitive.
- -- The following keys accept a default value to pre-seed the dialog
+ -- The following keys accept a default value to pre-seed the dialog.
['how_many'] = t[4]:size(),
['name'] = 'Audio',
['channels'] = 2,
- -- these keys just need to be set (to something other than nil)
- ['insert_at'] = ARDOUR.PresentationInfo.max_order,
- ['group'] = false,
['track_mode'] = ARDOUR.TrackMode.Normal,
['strict_io'] = true,
+ -- these keys just need to be set (to something other than nil)
+ -- in order to set the control sensitives
+ ['insert_at'] = ARDOUR.PresentationInfo.max_order,
+ ['group'] = false, -- return value will be a RouteGroup*
+ ['instrument'] = nil, -- return value will be a PluginInfoPtr
}
end
@@ -38,6 +40,9 @@ end
function factory (params) return function ()
+ -- When called from the AddRouteDialog, 'params' will be a table with
+ -- keys as described in route_setup() above.
+
local p = params or route_setup ()
local name = p["name"] or 'Audio'
local how_many = p["how_many"] or 1
@@ -46,8 +51,19 @@ function factory (params) return function ()
local group = p["group"] or nil
local mode = p["track_mode"] or ARDOUR.TrackMode.Normal
local strict_io = p["strict_io"] or false
+ local chan_out = 0
+
+ if ARDOUR.config():get_output_auto_connect() == ARDOUR.AutoConnectOption.AutoConnectMaster then
+ if not Session:master_out():isnil() then
+ chan_out = Session:master_out():n_inputs ():n_audio ()
+ end
+ end
+
+ if chan_out == 0 then
+ chan_out = channels;
+ end
- local tl = Session:new_audio_track (channels, channels, group, how_many, name, insert_at, mode)
+ local tl = Session:new_audio_track (channels, chan_out, group, how_many, name, insert_at, mode)
if strict_io then
for t in tl:iter() do