Commit graph

25364 commits

Author SHA1 Message Date
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
cc63df7e8d Populate strips output menus with a more user-friendly heuristic
Ensure the master bus is the first proposed bundle if it is present.
Also propose internal route inputs before physical outs or other
software via JACK.

Last, but not least, add to the menu not only exactly matching bundles,
but also bundles that have the same number of channels than the route
output when considering only the DataType we think the user wants to
use. This covers both the case of a MIDI+STEREO instrument track
connecting to master, and the case of a STEREO track connecting to a
MIDI+STEREO vocoder track.
2017-08-23 23:31:10 +02:00
Julien "_FrnchFrgg_" RIVAUD
452e22e9c9 Improve maybe_add_bundle_to_output_menu
Avoid proposing the monitor section in the list if the current route is
not the master bus. Also allow the caller to pass a DataType as argument
to allow partial bundle match on that datatype only.
2017-08-23 22:59:43 +02:00
Julien "_FrnchFrgg_" RIVAUD
8119026bc8 Use port enumeration instead of manual indexed loop 2017-08-23 22:59:43 +02:00
Julien "_FrnchFrgg_" RIVAUD
ce9bdd1db0 Generalise heuristic for user-intended main type of a route's IO
The heuristic currently used to display port connections in a
compact user-friendly way only considers Audio and MIDI data types.

Replace it by a better heuristic that does essentially the same thing
with all DataTypes, assuming they are ordered by likeliness of usage.
Currently the result is the same since there are only two DataTypes.
2017-08-23 22:59:38 +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
f90a70e774 Remove never changing and/or unused arguments 2017-08-23 22:10:51 +02:00
Julien "_FrnchFrgg_" RIVAUD
e8e1b81177 Use DataType iteration instead of assuming integers 2017-08-23 22:10:51 +02:00
Robin Gareus
5f2132e9cc Fix Route-template file suffix 2017-08-23 21:33:29 +02:00
Robin Gareus
a96d64e4f3 Example Stereo to 2 x Mono track Lua script 2017-08-23 21:33:29 +02:00
Robin Gareus
ea5d75a05b Use new separate_by_channel API 2017-08-23 21:33:29 +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
Ben Loftis
6f0dec2bd8 Track Templates: remove uninteresting script. 2017-08-23 12:13:40 -05: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
Ben Loftis
337d5b3e4a Track Templates: Add verbose descriptions for the built-in track types. 2017-08-22 16:20:26 -05:00
Ben Loftis
c0e513de76 Track templates: clean-up widget sensitivity based on selection. 2017-08-22 14:35:50 -05:00
Robin Gareus
62fc4621e5 RouteDialog: implicit "Add (+close)" on <enter> or double-click 2017-08-22 17:28:08 +02:00
Robin Gareus
201d536ee9 Reset RouteDialog: name edited by-user
* after each "Add" operation
* when cleaning the name field
2017-08-22 17:07:42 +02:00
Robin Gareus
28a7e4a3e0 Tweak RouteDialog bottom area 2017-08-22 16:45:14 +02:00
Ben Loftis
052ca8e0de Track Templates: yet another layout tweak. 2017-08-22 09:19:11 -05: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
Robin Gareus
9d1a793fec Mark session dirty after applying MIDI transform 2017-08-22 04:12:18 +02:00
Robin Gareus
d2371a6a90 MIDI Transform channel-count 1..16 (not 0..15) 2017-08-22 04:09:19 +02:00
Robin Gareus
05247255fe Add Lua bindings for ArdourUI's translate_order()
e.g. calculate the route insert position:
print (ArdourUI.translate_order (ArdourUI.InsertAt.BeforeSelection))
2017-08-22 03:12:07 +02:00
Robin Gareus
39a3705d3a RouteDialog: retain prior type selection 2017-08-22 02:17:22 +02:00
Robin Gareus
3164f4ac30 remove debug output 2017-08-22 02:11:56 +02:00
Robin Gareus
735d791e42 RouteDialog: Move built-in types into template list experiment 2017-08-22 02:03:47 +02:00
Len Ovens
ab621b550d OSC: /cue/enable feedback not changing fixed 2017-08-21 12:10:27 -07:00
Julien "_FrnchFrgg_" RIVAUD
efd7293847 Fix spacing in french usage strings 2017-08-21 19:46:04 +02: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
f0387f07bd AddRouteDialog: Indicate Type: template 2017-08-21 16:10:48 +02:00
John Emmas
1c4eb82365 Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour) 2017-08-21 09:22:44 +01:00
Robin Gareus
0034f246cb Fix some GUI side XML node mem-leaks 2017-08-20 22:26:54 +02:00
Robin Gareus
f15fc38bd8 Fix a tiny memory leak 2017-08-20 22:23:10 +02:00
Johannes Mueller
258fa81d90 Strip trailing whitespace in template descriptions 2017-08-20 21:09:30 +02:00
Johannes Mueller
70addf1ed0 TemplateDialog: Lable the RESPONSE_OK button "Done" rather than "Ok"
Labeling it "Ok" would imply that by clicking it, descriptions would be saved
without further interaction. If we did so, we would also need to add a
cancel-button or handle simple closing of the dialog window appropriately.
2017-08-20 21:09:30 +02:00
Johannes Mueller
c6ecd2a6e1 TemplateDialog tweaks
* don't ask whether to save the description when renaming the template

* sane behavior when a template is deleted
2017-08-20 21:09:30 +02:00
Johannes Mueller
ea3f58a27f Clear and deactivate description editor widget when nothing is selected 2017-08-20 21:09:30 +02:00
Johannes Mueller
43b69e1fa3 TemplateDialog: keep private things private and header files simple 2017-08-20 21:09:30 +02:00
Johannes Mueller
d2c163e788 Make literals in libs/ardour/template_utils.cc translatable 2017-08-20 21:09:30 +02:00
Johannes Mueller
c834e88e9e Ask user whether to save or discard unsaved template descriptions 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
bb20327959 Pass session description or route comment as default description
... to SaveTemplateDialog
2017-08-20 21:09:30 +02:00