Commit graph

20705 commits

Author SHA1 Message Date
Paul Davis
0d62997eab restore right-click in track/bus scroller to drive add route 2016-05-31 15:30:41 -04:00
Paul Davis
9197116a1a change API for ARDOUR_UI::add_route() to no longer require a float window 2016-05-31 15:30:41 -04:00
Paul Davis
a598b4a708 use new paned-sizing strategy in editor 2016-05-31 15:30:41 -04:00
Paul Davis
593430a4c5 no-op: comment 2016-05-31 15:30:41 -04:00
Paul Davis
a48fada3c7 move new fractional pane utility functions into libs/gtkmm2ext 2016-05-31 15:30:41 -04:00
Paul Davis
02f2b90e96 a big fat comment 2016-05-31 15:30:41 -04:00
Paul Davis
4ba85da9ea redesign pane-sizing mechanism for mixer
This needs more comments to explain what is going on. It also needs to be applied to the editor
2016-05-31 15:30:41 -04:00
Paul Davis
b9ba91ac1d fix solo isolate controls 2016-05-31 15:30:41 -04:00
Paul Davis
a89b3f5687 clear all solo state should affect VCAs too 2016-05-31 15:30:41 -04:00
Paul Davis
d283cefe12 get VCA status correct in strips on first load 2016-05-31 15:30:41 -04:00
Paul Davis
1c5a08d6d3 fix implicit active display in VCA strips for solo 2016-05-31 15:30:41 -04:00
Paul Davis
5b5e64d860 remove Route::listening_via_monitor()
This is better tested with direct use of the solo_control and
Config->get_solo_controls_are_listen_controls()
2016-05-31 15:30:41 -04:00
Paul Davis
01bba9f910 fix backend logic for PFL/AFL when mastered 2016-05-31 15:30:41 -04:00
Paul Davis
69250b64ea move ever close to working master/slave logic, this time with audio testing 2016-05-31 15:30:41 -04:00
Paul Davis
202ddba9e2 remove more debug output 2016-05-31 15:30:41 -04:00
Paul Davis
bce617375e fix return type of SlavableAutomationControl::get_boolean_masters() to make it usefl 2016-05-31 15:30:41 -04:00
Paul Davis
9e70384ccf fix solo control to use VCA logic as worked out for mute 2016-05-31 15:30:41 -04:00
Paul Davis
0ef0492cbb remove debug output 2016-05-31 15:30:41 -04:00
Paul Davis
3fe50951e4 fix call to base class 2016-05-31 15:30:41 -04:00
Paul Davis
8ee6603561 design changes to various SlavableAutomationControls to make it possible to get the logic right for boolean controls 2016-05-31 15:30:41 -04:00
Paul Davis
01aefd236a move SlavableAutomationControl into its own header 2016-05-31 15:30:41 -04:00
Paul Davis
6de4953be8 a variety of changes that get closer to correctly functioning behaviour for VCA solo+mute (BUT ARE NOT DONE YET) 2016-05-31 15:30:41 -04:00
Paul Davis
7d493b091a do not route AutomationControl changes to an RT thread if we are loading a session 2016-05-31 15:30:40 -04:00
Paul Davis
4a30e1f4c8 add Session::loading() to allow easy detection of "session is being loaded" condition 2016-05-31 15:30:40 -04:00
Paul Davis
4615e090b4 remove some debug output 2016-05-31 15:30:40 -04:00
Paul Davis
e1bcd70712 a slew of as-yet incomplete work to get VCA solo+mute closer to working 2016-05-31 15:30:40 -04:00
Paul Davis
86a9fb2844 stop crash caused by missing conditional 2016-05-31 15:30:40 -04:00
Paul Davis
cba56ade87 fix logic for Session::solo_control_mode_changed() 2016-05-31 15:30:40 -04:00
Paul Davis
b042072df4 fix logic for removing an AutomationControl from a ControlGroup 2016-05-31 15:30:40 -04:00
Paul Davis
b2b5c965c8 some tweaks for solo logic to get things working as they were before (correctly) 2016-05-31 15:30:40 -04:00
Paul Davis
5499bad836 add back some amount of XML save/restore for route controls 2016-05-31 15:30:40 -04:00
Paul Davis
0cf89e76ef add new enums 2016-05-31 15:30:40 -04:00
Paul Davis
e9d72383c7 extend function of Automatable::control_factory() [ this may be the wrong design ... review coming ] 2016-05-31 15:30:40 -04:00
Paul Davis
2ca819c00b add track controls to its Automatable self 2016-05-31 15:30:40 -04:00
Paul Davis
8fc1876626 do not non-automable controls to an Automatable's list of what can be automated 2016-05-31 15:30:40 -04:00
Paul Davis
2c6d595614 add a new Controllable::NotAutomable flag 2016-05-31 15:30:40 -04:00
Paul Davis
537272b3b1 direct connect monitoring changes to the real RouteUI method (no-op, really) 2016-05-31 15:30:40 -04:00
Paul Davis
4aa1c242ab add new files to source tree 2016-05-31 15:30:40 -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
c107f1ab56 show VCA master mute state in RouteUI, even if Config->get_show_solo_mutes() is false (since it is orthogonal) 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
5531c83496 change API of Controllable::Changed signal to include (from_self, GroupControlDisposition)
This allows the signal to convey more information, which may be required by some handlers of a control's Changed signal
2016-05-31 15:30:40 -04:00
Paul Davis
36784ee94f use route automation control Changed() signals for solo/mute in GUI 2016-05-31 15:30:40 -04:00
Paul Davis
4b36593106 fix faderport and mackie to use route AutomationControls to be notified about solo/mute changes 2016-05-31 15:30:40 -04:00
Paul Davis
1c0c9b40b7 new API for route solo/mute state mgmt
Route now calls back into Session when solo/mute/listen state changes. All other interested
parties must use the Route::{solo,mute,...}_control()->Changed() to be notified of changes.

The Session requires more information than the Changed signal can provide, in order to
propagate solo/mute changes across the entire Session correctly.

Note that this uses an experimental use of CRTP to isolate a public API within Session
2016-05-31 15:30:40 -04:00
Paul Davis
8eb45c518d rearrange AutomationControl and RouteAutomationControl to get more shared logic and consistent master/slave behaviour 2016-05-31 15:30:40 -04:00
Paul Davis
91f8c0be54 use new API for control slave/master relationships 2016-05-31 15:30:40 -04:00
Paul Davis
c660703f95 redesign control slave/master system, move code from GainControl to AutomationControl 2016-05-31 15:30:40 -04:00
Paul Davis
74f8a81276 change master records in GainControl to use AutomationControl
The first step of generalizing master/slave to other controls
2016-05-31 15:30:40 -04:00
Paul Davis
9f66fe1ebb start adding a context menu for VCA strips 2016-05-31 15:30:40 -04:00