Commit graph

10770 commits

Author SHA1 Message Date
Paul Davis
d7cce2ff7d implementation side of Controllable::get_user_string() with const arg 2016-05-31 15:30:42 -04:00
Paul Davis
99bc6a4290 add two more AutomationControl fetch methods to VCA 2016-05-31 15:30:42 -04:00
Paul Davis
dd57a83793 add Stripable analogs for Route signals and methods in ControlProtocol
These will go away once all surfaces have migrated to Stripables
2016-05-31 15:30:42 -04:00
Paul Davis
96faa622ee fwd declaration of Stripable and associated lists 2016-05-31 15:30:42 -04:00
Paul Davis
534b2de35b Add PanControllable::get_user_string() (provide indirect access to Panner::value_as_string(); make ::get_user_string() use a const arg everywhere 2016-05-31 15:30:42 -04:00
Paul Davis
8346fab567 remove irrelevant, out of date and incorrect comment 2016-05-31 15:30:42 -04:00
Paul Davis
d5127001bb move ControllableDescriptor from libpbd to libardour; add support for describing VCAs 2016-05-31 15:30:42 -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
0ab10bf8e3 API and implementation tweaks for destroying VCAs 2016-05-31 15:30:42 -04:00
Paul Davis
f485cfa324 rearrange inheritance so that Automatable IS-A Slavable
Share assign code via Slavable; add visibility tags to Slavable+SlavableAutomationControl
2016-05-31 15:30:41 -04:00
Paul Davis
eee3837245 remove explicit setting of Toggle flag for AutomationControls
Make it be based on the ParameterDescriptor, which indicates toggle status anyway
2016-05-31 15:30:41 -04:00
Paul Davis
52b150ba5d generalize VCA assign/unassign code.
Need to share this approach across Slavables
2016-05-31 15:30:41 -04:00
Paul Davis
f2984260d4 add rec-enable and monitor controls to VCAs 2016-05-31 15:30:41 -04:00
Paul Davis
1e9b2abe73 save and restore vca assignments 2016-05-31 15:30:41 -04:00
Paul Davis
83e51ee69b add Slavable API for VCA assign/unassign 2016-05-31 15:30:41 -04:00
Paul Davis
84a0386f9c new files 2016-05-31 15:30:41 -04:00
Paul Davis
be4e898996 improve cleanup of VCA related objects 2016-05-31 15:30:41 -04:00
Paul Davis
51064f77a8 fix compiler issues with pair<T1,T2> construction 2016-05-31 15:30:41 -04:00
Paul Davis
d0f5958542 fix chaining of masters for boolean controls 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
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
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
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
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
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
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
4b36593106 fix faderport and mackie to use route AutomationControls to be notified about solo/mute changes 2016-05-31 15:30:40 -04:00