Commit graph

13323 commits

Author SHA1 Message Date
Len Ovens
dbab25f537 OSC: same fix for /select/* 2017-08-25 10:22:42 -07:00
Len Ovens
d7fcdbfe1d OSC: account for user sending the wrong number of paramters gracefully 2017-08-25 09:45:06 -07:00
Julien "_FrnchFrgg_" RIVAUD
9c793759c8 Remove all manual accounting of connected user bundles
IO used to manually keep a list of user bundles it was connected to, but
it didn't work correctly: sometimes it didn't notice that a bundle
wasn't connected anymore, and the list wasn't correctly persisted across
save/reloads among other things.

Moreover, it wasn't needed at all, since the user bundles are correctly
listed by _session.bundles() and IO already notices they are connected !

Remove all occurrences of |_bundles_connected| and |check_bundles_connected|.
2017-08-24 15:41:40 +02:00
Julien "_FrnchFrgg_" RIVAUD
1aa3a3f4d6 Make IO::connect_ports_to_bundle able to partially connect
Forward the optional |allow_partial| boolean to |Bundle::connect|.
2017-08-23 23:31:28 +02:00
Julien "_FrnchFrgg_" RIVAUD
8cb40ab25b Make Bundle::connect able to connect only some DataTypes
When |allow_partial| is true, only when the number of channels of a
given DataType is the same for both bundles are the corresponding
channels connected together.

When |allow_partial| is false (the default), the number of channels must
match for each DataType (the ChanCounts must be equal) for the
connection to be attempted.

This also fixes the logic in case two bundles have the same number of
channels, or even the same ChanCounts, but not with the DataTypes in the
same order (so connecting the ith channel of the bundle to the ith
channel of the other bundle makes no sense).
2017-08-23 23:31:28 +02:00
Julien "_FrnchFrgg_" RIVAUD
96a6529e2e Improve getting a Bundle total channel count
|Bundle::nchannels()| creates a ChanCount on demand, by iterating over
the |_channel| member variable. The sum of all |nchannels().n(t)| over
all non-NIL DataTypes |t| is thus equal to |_channel.size()|.

Consequently, calling |nchannels().n_total()| is a convoluted (and slow)
way of getting |_channel.size()|. Add a method |Bundle::n_total()| that
directly returns the latter.
2017-08-23 23:31:28 +02:00
Julien "_FrnchFrgg_" RIVAUD
db28d652ca Add a method to get the first DataType
Also put a comment about the ordering of DataTypes.
2017-08-23 22:58:05 +02:00
Julien "_FrnchFrgg_" RIVAUD
e8e1b81177 Use DataType iteration instead of assuming integers 2017-08-23 22:10:51 +02:00
Robin Gareus
ad9551e548 Update "separate_by_channel" API & add Lua bindings
This breaks compilation (GUI)
2017-08-23 21:33:29 +02:00
Robin Gareus
2961db3b6f Use literal for compatibility 2017-08-23 12:43:48 +02:00
Stefan Müller-Klieser
587a2dee55 backends: jack: display playback only devices
When starting ardour using the jack backend, playback only devices
currently do not get displayed. Mixing and Mastering only workspaces
with e.g. a single USB Dac should be a common use case. Take this use
case into account by adding them to the device list. Tested on Linux
with jack-alsa.
2017-08-23 02:17:51 +02:00
Robin Gareus
180cbb0af9 Remove cruft 2017-08-22 15:06:43 +02:00
Len Ovens
ca2d254fdb OSC cue button up events should not be errors, fixed 2017-08-21 20:08:19 -07:00
Len Ovens
ab621b550d OSC: /cue/enable feedback not changing fixed 2017-08-21 12:10:27 -07:00
Len Ovens
6b810b67d9 OSC: aux bus detection fixed for mixbus 2017-08-21 08:40:22 -07:00
Robin Gareus
5a8bdf40f2 Catch Lua exception when scanning scripts 2017-08-21 17:07:54 +02:00
Paul Hedderly
18060e597e prh: Small fix to /cue/send/enable feedback string 2017-08-21 16:23:23 +02:00
Robin Gareus
f15fc38bd8 Fix a tiny memory leak 2017-08-20 22:23:10 +02:00
Johannes Mueller
d2c163e788 Make literals in libs/ardour/template_utils.cc translatable 2017-08-20 21:09:30 +02:00
Johannes Mueller
bd4db1e151 Remove the template description XMLNode before saving the template
... to avoid that the new template description is concatenated to the old one.
2017-08-20 21:09:30 +02:00
Johannes Mueller
419b1c1cfd Extract the route template descriptions
... and put them into the template info list.
2017-08-20 21:09:30 +02:00
Johannes Mueller
245154d06a Let user add a route template description on saving route templates 2017-08-20 21:09:30 +02:00
Johannes Mueller
ae51d5fd4e Let the user add a template description on saving session templates 2017-08-20 21:09:30 +02:00
Johannes Mueller
908369ab3e Save template description at toplevel rather than in <Metadata/> 2017-08-20 21:09:30 +02:00
Robin Gareus
c399954148 Don't use references for constant c-types
This fixes various Lua-scripts: There are no explicit bindings to
turn int64_t, uint64_t into a const reference.

Besides it doesn't make sense to use a reference for constant _t that can
be directly loaded in CPU register or on the stack.
2017-08-20 19:02:17 +02:00
Robin Gareus
fb745cc5a8 Lua may call C++ functions with throw. Catch them 2017-08-19 01:06:44 +02:00
Robin Gareus
be6abce398 Add Lua binding to un/assign VCAs 2017-08-18 22:00:24 +02:00
Robin Gareus
08c1300718 Remove old destructive API (non layered is a dynamic mode) 2/2 2017-08-18 21:12:45 +02:00
Robin Gareus
e0a83a758e Redesign Session+Route Template Meta Script API
Remove special-cased script types. Allow Action-Scripts to be re-used
for session-setup or route-templates.
2017-08-18 20:42:55 +02:00
Robin Gareus
e951e68780 Add luaRef is Boolean 2017-08-18 20:42:55 +02:00
Paul Davis
3421c6e814 NO-OP: whitespace 2017-08-18 09:42:04 -04:00
Paul Davis
f84bebbb30 strip <Actions>/ from displayed path when printing bindings to HTML 2017-08-18 09:42:04 -04:00
Robin Gareus
5ed68fd2f8 NO-OP: whitespace 2017-08-18 00:11:55 +02:00
Robin Gareus
38a029c069 Expose Lua bindings to create/delete VCAs 2017-08-18 00:11:55 +02:00
Ben Loftis
6c49d9555a Track Templates: initial lua backend support. 2017-08-17 13:31:45 -05:00
Robin Gareus
5f0279ab06 Catch some exceptions during session loading. 2017-08-17 19:28:14 +02:00
Robin Gareus
22055a07c0 Check major session file format version.
Don't allow to load sessions created with a newer version of Ardour
with an old one (no forward compatibility).
2017-08-17 18:32:49 +02:00
Robin Gareus
a4ee2d3c17 Expose enums used in RCConfig and other missing classes to Lua. 2017-08-17 01:13:39 +02:00
Robin Gareus
76036ae0f3 Fix unit-test data (XML attributes changed) 2017-08-17 01:13:36 +02:00
Robin Gareus
11aa1d60ae Add RCConfiguration Lua Bindings 2017-08-16 00:51:20 +02:00
Robin Gareus
9f87805d95 The Auditioner is not in the Session's RouteList
Remove various checks, add assert() for now (perhaps some old sessions?)
This fixes an off-by one issue when adding tracks (presentation
info order in add_routes_inner)
2017-08-16 00:51:20 +02:00
Robin Gareus
6ec133ebde Separate "add master bus" (and add Lua bindings)
This is in preparation for "advanced session setup" allow a SessionSetup
Lua script to create the master-bus.
2017-08-16 00:51:20 +02:00
Robin Gareus
1d8c7ef37a Clean up BusProfile:
* requested_physical_in/out was unused
 * input/output Autoconnect just overrides Preference/Config
   (can be done by a template script)
 * master_out_channels is kept for compatibility (allow to create
   new empty session)
2017-08-16 00:51:20 +02:00
Ben Loftis
47d86cf54d Change the template pulldown menu into a tree list. Populate the Description view when a template is selected. 2017-08-14 16:14:42 -05:00
Ben Loftis
0a0eec2adc Session Metadata: add a Description field.
* This is a multi-line text field.
* If the session is a template, we might show this in the New Session dialog.
2017-08-14 14:08:17 -05:00
Paul Davis
8402537493 use a lock to set/get AutomationList automation state
It isn't 100% clear that we should use the list's data lock, but it seems quite likely
that this is the correct design, because of the interlock between data being present
and automation state
2017-08-12 14:40:21 -04:00
Robin Gareus
acd73a9bf8 yet another Windows build fix (LV2 preset 89475b2c9) 2017-08-11 17:33:44 +02:00
Robin Gareus
ee839bda3d Fix Windows builds (amend 89475b2c) 2017-08-11 17:19:45 +02:00
Robin Gareus
89475b2c95 Fix LV2 Preset path for window 2017-08-11 16:54:39 +02:00
Robin Gareus
62ce5465ca Prepare for templates w/description 2017-08-11 15:24:05 +02:00