Commit Graph

31 Commits

Author SHA1 Message Date
Paul Davis
a89b3f5687 clear all solo state should affect VCAs too 2016-05-31 15:30:41 -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
194b213456 add implicit mute state to MuteMaster and use when a master of a mute control is enabled/disabled. Add AutomationControl::master_changed() as a virtual method to handle ... master value changes 2016-05-31 15:30:40 -04:00
Paul Davis
a3c5b81ca1 Session API changes to enable VCAs to set soloed-by-upstream on assigned routes 2016-05-31 15:30:39 -04:00
Paul Davis
1f6800d421 redesign Route and VCA objects to inherit from ARDOUR::Stripable 2016-05-31 15:30:39 -04:00
Paul Davis
dd40138d38 make Session::rt_set_monitoring() conform to new Track API 2016-01-31 21:49:59 -05:00
Paul Davis
9e5b7db89f first compiling, mostly working version of group controls changes 2016-01-22 11:58:31 -05:00
Robin Gareus
477d1f3f42 implement solo group override 2015-10-07 01:44:02 +02:00
Robin Gareus
e73fa8413e add a "reset all solo state" safeguard 2015-10-06 20:05:38 +02:00
Robin Gareus
96720089cf remove newly unused code 2015-10-06 18:16:12 +02:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Robin Gareus
58d59177bb fix various stuck-solo cases:
* solo groups
* cancel-solo
* SIP <> AFL/PFL changes

The optimized plural-form route_solo_changed() relied on the false
premise that solo-groups and port-connections are disjoint sets.

-=-

e.g. "cancel all solo" calls set_solo(get_routes(), false);
Since All routes are affected, the "non_solo_change" set is empty, and
no changes were propagated up/downstream.

Routes that indirectly change state as group-members, wrongly end up in
the "non_solo_change" list instead of the "solo_change" list.

If a route feeds another in the same group, no changes were propagated.
2015-10-05 00:08:55 +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
Paul Davis
c55b659f39 add Session::routes_solo_changed(), a plural method which makes changing many route solo states much faster.
Code originally by Grygorii Zharun in Tracks
2015-07-27 09:41:57 -04:00
Paul Davis
90220998af add Record-Safe feature to libardour (from Nikolay Polyanovskii) 2015-06-16 08:44:03 -04:00
David Robillard
e584ae0bf9 Mute automation via normal mute button. 2014-12-18 02:26:51 -05:00
Paul Davis
cd6cbba299 rename Route::is_hidden() to Route::is_auditioner() and Route::Hidden to Route::Auditioner. this has been the meaning of these terms for years now and it would be better to make it explicit 2013-04-06 16:04:02 -04:00
Paul Davis
241a9edd3e replace final(?) incidences of program name (ardour, Ardour) with PROGRAM_NAME (thanks to edgar for tracking them all down)
git-svn-id: svn://localhost/ardour2/branches/3.0@14050 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-02-05 18:18:35 +00:00
Paul Davis
e0a1e756d3 mute-all should not mute monitor or master
git-svn-id: svn://localhost/ardour2/branches/3.0@14045 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-02-03 13:20:54 +00:00
Paul Davis
8ca9061b30 fix issues with rec-enabling being done in RT context by splitting it into two parts, an RT-safe and RT-unsafe part. along the way, remove "do not record plugins" option which is just so 1999 and creates problems for various (all?) plugin APIs
git-svn-id: svn://localhost/ardour2/branches/3.0@13613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-07 15:48:38 +00:00
Paul Davis
9b3aefec1b an improvement to the previous patch to catch up with solo state after a disconnect, but still not really done because it doesn't get triggered for both ends of a disconnect
git-svn-id: svn://localhost/ardour2/branches/3.0@11353 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-25 21:19:48 +00:00
Paul Davis
9ac351e60c fix #4405, by explicitly cancelling solo when a route's inputs drop to zero
git-svn-id: svn://localhost/ardour2/branches/3.0@11346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-25 15:30:02 +00:00
Paul Davis
3764eedca0 add initial implementation of explicit monitor (input|disk) control. some behaviour to be worked out, still
git-svn-id: svn://localhost/ardour2/branches/3.0@10256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-20 18:50:29 +00:00
David Robillard
a473d630eb Fix broken whitespace. I'd apologize for the compile times if it was my fault :D
git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 16:50:12 +00:00
Paul Davis
c685724c80 step editing now accessed via a context menu on MIDI track rec-enable buttons. along the way, fixed up confusion between set_rec_enable() and set_rec_enabled() methods in Route/Track/Diskstream
git-svn-id: svn://localhost/ardour2/branches/3.0@7482 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-24 16:40:56 +00:00
Paul Davis
f2ceb5c340 lots of odds and ends to do with solo isolate and its GUI
git-svn-id: svn://localhost/ardour2/branches/3.0@7072 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-06 18:40:37 +00:00
Paul Davis
14b0ca31bc handle deletion of UI objects between the time that a callback is queued with the UI event loop and the execution of the callback (intrusive, big)
git-svn-id: svn://localhost/ardour2/branches/3.0@6807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-30 15:18:43 +00:00
Paul Davis
f450df300c fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00
Paul Davis
738387f9a4 remove a couple of boost::signals2 trouble spots; fix some --strict compile time warnings
git-svn-id: svn://localhost/ardour2/branches/3.0@6378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-20 16:50:41 +00:00
Paul Davis
401c7091c8 switch to use boost::function for UI::call_slot operations, to avoid a serious thread safety issue with libsigc++
git-svn-id: svn://localhost/ardour2/branches/3.0@6355 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:30:48 +00:00
Paul Davis
90d6916ca3 restore rec-enable, solo & mute functionality; remove all Global*Command cruft; reimplement momentary solo&mute; refactor session RT event stuff to be even cleaner and finally compatible with everything-is-a-UI idea ; make all UIs derive from a primitive type that pprovides only void call_slot (sigc::slot<void>) as a way to execute arbitrary code in the UI thread
git-svn-id: svn://localhost/ardour2/branches/3.0@6338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 17:45:18 +00:00