Commit Graph

98 Commits

Author SHA1 Message Date
Robin Gareus 05ffd4821e
Add Surround Send Enable Grouping 2024-01-30 23:58:40 +01:00
Robin Gareus 70e56ba4e9
Amend 2f3841a8, fix Mixbus build 2023-04-21 03:01:26 +02:00
Robin Gareus 2f3841a81d
Add support for MIDI subgroup busses
This also fixes the channel-count use by the bus,
depending on the type (aux or direct out).

Mixbus detection is also moved from the GUI to the
backend.

This also limits the number of subgroup busses to one,
so that "Remove subgroup bus" works properly.
Eventually we should allow multiple subgroup busses
for aux-sends.
2023-04-21 00:40:59 +02:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus e9bafde628
Catch manual removal of subgroup bus (#9022) 2022-10-21 20:40:27 +02:00
luz paz 1e640563d6
Fix source comment typos in `libs/ardour`
Found via `codespell`
2022-05-11 00:14:28 +02:00
Paul Davis 7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06:00
Robin Gareus a22f918d9d
Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus 2f91bdfa53
NO-OP: <tab> after <space> fixes in libs 2019-04-13 19:19:29 +02:00
Len Ovens 88c82aeb56 Fix code style 2018-06-30 14:14:31 -07:00
Robin Gareus 9334c99b35 Update Slavable API
Do not use AutomationType to identify parameters, use complete
Evoral::Parameter and Automatable.

For "batch connections", a Slavables needs to implement an API to return
the relevant controls.

This is only a first step towards a more generic Master/Slave framework.
2017-06-22 22:04:10 +02:00
Robin Gareus 9cb8978c86 Remember subgroup-bus 2017-06-13 01:08:30 +02:00
Robin Gareus 293ab1ef53 Allow group gain sharing + VCA again 2017-06-13 01:08:30 +02:00
Robin Gareus b5c6f06a99 Move RouteGroup color into libardour.
This allows to change it from scripts and surfaces and consolidates code.
2017-05-03 17:53:00 +02:00
Tim Mayberry 7ba9223f9f Use XMLNode::get/set_property API in ARDOUR::RouteGroup 2017-04-19 09:36:53 +10:00
Tim Mayberry 334ec95e43 Use ID::to_s() in libardour instead of ID::print() 2017-04-19 07:49:58 +10:00
Paul Davis 196bdf8394 more fully disable gain adjustment sharing in a RouteGroup that is assigned to a VCA master 2017-03-26 14:42:28 +02:00
Robin Gareus 46fe83cfff Prevent adding "master" to a group 2017-03-08 17:49:01 +01:00
Paul Davis edd1061c3d save/restore VCA master state inside slaves, so that a reloaded session ends up back in the same state 2017-02-06 16:49:08 +01:00
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis 24b514797a make route group master a real property.
Required for state save/restore to know about the master
2016-07-08 11:46:01 -04:00
Paul Davis 2cc33684c7 treat VCA assign as a RouteGroup property.
Newly added routes,removed routes etc. all correctly assign or
unassign to the group's VCA.
2016-07-08 09:25:18 -04:00
Robin Gareus 86763cba90 Enable build for FreeBSD (part 1/2)
Adopted from Michael Beer -- GH pull-request #232 with minor changes:

*   rebased on master,
*   removed trailing whitespace,
*   don't explicitly change saved configuration defaults (wscript)
*   moved sys/wait (WNOHANG) to header include
*   separate changes in GUI and lib
2016-06-26 16:43:07 +02:00
Paul Davis ec8a4de015 make relative gain control in route groups work (again) 2016-06-10 16:59:34 -04:00
Paul Davis 78ad42fd88 fix up logic that connects ControlGroups and RouteGroups
This makes deactivating a RouteGroup also stop the ControlGroups from having any effect
2016-06-07 09:48:17 -04:00
Paul Davis e4a588901b change property names (not quark/strings) for RouteGroup properties to avoid collisions with new ones 2016-06-05 16:33:01 -04:00
Paul Davis 2380bbae5b remove useless code recently added to RouteGroup
When a slaved automation control is changed because of a Master changing
its own value, the slave notifies about the change with NoGroup as the
GroupControlDisposition. There is therefore no need to disable a RouteGroup's
enabled status for its ControlGroups - the changes initiated by any Master
will not propagate to the group (which is precisely what we intend)
2016-05-31 15:30:44 -04:00
Paul Davis b5869ac0a4 fix issues with route group assignment to control master 2016-05-31 15:30:43 -04:00
Paul Davis 57f4706204 provisional code to support assigning an entire RouteGroup to a VCA master 2016-05-31 15:30:43 -04:00
Paul Davis e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
Paul Davis 653ae4acd6 universal change in the design of the way Route/Track controls are designed and used. The controls now own their own state, rather than proxy for state in their owners.
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31 15:30:40 -04:00
Paul Davis 17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
Robin Gareus 326611c024 fix compilation on OSX (in the wake of eaca325c) 2016-03-22 17:03:13 +01:00
Paul Davis 22a20c7333 change exposed type of various objects' gain controls; remove Amp::gain() as a shortcut 2016-01-25 11:47:21 -05:00
Robin Gareus a51ea6cf2e fix crash when creating subgroup-bus - fixes #6642
the actual issues is in the connection management:
bundle.cc:323: void ARDOUR::Bundle::connect(): Assertion `N == other->nchannels().n_total()' failed.

That could be resolved. However, combining tracks without panners will
almost never do what the user really wants, so this case has been 
disabled for now.
2015-10-15 17:47:02 +02:00
Robin Gareus 22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis 4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Todd Naugle 233c144c2c Update RouteGroup property defaults.
This is part of a larger fix for #6450. Previously new route groups were
created with different default properties depending on which code created
the new group. The group tab method had all properties set and that is now
going to be the default.
2015-09-21 14:49:31 -05:00
Ben Loftis 21ea94c000 grouped faders should have relative gain by default 2014-07-28 16:20:24 -05:00
Paul Davis 52167705ef expose operation to remove subgroup
git-svn-id: svn://localhost/ardour2/branches/3.0@13762 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-03 19:34:07 +00:00
Paul Davis 54ce76e8fd remove "edit" property from track/bus groups; use "select" property which should force region selection to propagate, and then rely on "edit-applies-to-selection"
git-svn-id: svn://localhost/ardour2/branches/3.0@13734 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-26 17:50:29 +00:00
Paul Davis 2d9ed69fe2 change input/output button context menus for mixer strip to be non-additive: when selecting a new IO bundle, disconnect from any existing connections before connecting to the new one (fixes #5087)
git-svn-id: svn://localhost/ardour2/branches/3.0@13308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-18 16:15:11 +00:00
David Robillard 6fa6514cfd Remove over 500 unnecessary includes (including 54 of session.h).
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff).  I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.

This commit only targets includes of ardour/*.h.  There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.


git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
Paul Davis 94658aa66e send correct PropertyChange for RouteGroup::set_route_active
git-svn-id: svn://localhost/ardour2/branches/3.0@10927 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-07 03:22:06 +00:00
Paul Davis 1c1c570898 send PropertyChange for RouteGroup::set_edit
git-svn-id: svn://localhost/ardour2/branches/3.0@10925 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-07 03:00:55 +00:00
Paul Davis 06b52150ba send PropertyChange messages when changing RouteGroup properties
git-svn-id: svn://localhost/ardour2/branches/3.0@10922 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-07 02:04:09 +00:00
Carl Hetherington 09211cf049 Fix somewhat confusing method names.
git-svn-id: svn://localhost/ardour2/branches/3.0@10439 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-04 16:41:25 +00:00
Carl Hetherington 98370b39c4 Make sure that the old route group is left properly when
setting a new one.  Should fix #4441 and #4404.


git-svn-id: svn://localhost/ardour2/branches/3.0@10438 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-04 16:41:02 +00:00
Paul Davis bfe9010959 add route group support for monitoring choices
git-svn-id: svn://localhost/ardour2/branches/3.0@10268 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-21 15:47:50 +00:00
Paul Davis 4085309cdb make Stateful::_id private and provide appropriate methods to set it, and use them throughout ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@10222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18 13:18:47 +00:00