Paul Davis [Mon, 16 May 2016 20:43:48 +0000 (16:43 -0400)]
more const value_as_string fixes
Paul Davis [Mon, 16 May 2016 20:43:30 +0000 (16:43 -0400)]
fix check for order max in PresentationInfo::parse (string&)
Paul Davis [Mon, 16 May 2016 20:43:00 +0000 (16:43 -0400)]
add Session::get_stripables()
Paul Davis [Mon, 16 May 2016 20:41:50 +0000 (16:41 -0400)]
implementation side of Controllable::get_user_string() with const arg
Paul Davis [Mon, 16 May 2016 20:36:09 +0000 (16:36 -0400)]
add two more AutomationControl fetch methods to VCA
Paul Davis [Mon, 16 May 2016 20:36:01 +0000 (16:36 -0400)]
add Stripable analogs for Route signals and methods in ControlProtocol
These will go away once all surfaces have migrated to Stripables
Paul Davis [Mon, 16 May 2016 20:34:53 +0000 (16:34 -0400)]
fwd declaration of Stripable and associated lists
Paul Davis [Mon, 16 May 2016 20:18:52 +0000 (16:18 -0400)]
Add PanControllable::get_user_string() (provide indirect access to Panner::value_as_string(); make ::get_user_string() use a const arg everywhere
Paul Davis [Mon, 16 May 2016 15:23:51 +0000 (11:23 -0400)]
remove irrelevant, out of date and incorrect comment
Paul Davis [Mon, 16 May 2016 15:08:32 +0000 (11:08 -0400)]
move ControllableDescriptor from libpbd to libardour; add support for describing VCAs
Paul Davis [Mon, 16 May 2016 14:50:34 +0000 (10:50 -0400)]
fix dialog message shown when a backup of an old session file is made
Paul Davis [Mon, 16 May 2016 11:30:28 +0000 (07:30 -0400)]
first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
Paul Davis [Fri, 29 Apr 2016 15:07:57 +0000 (11:07 -0400)]
make VCA delete button work
Paul Davis [Fri, 29 Apr 2016 15:07:27 +0000 (11:07 -0400)]
API and implementation tweaks for destroying VCAs
Paul Davis [Fri, 29 Apr 2016 14:33:05 +0000 (10:33 -0400)]
show/hide VCA assign buttons depending on VCA existence
Paul Davis [Mon, 25 Apr 2016 17:41:38 +0000 (13:41 -0400)]
rearrange inheritance so that Automatable IS-A Slavable
Share assign code via Slavable; add visibility tags to Slavable+SlavableAutomationControl
Paul Davis [Mon, 25 Apr 2016 16:31:50 +0000 (12:31 -0400)]
remove explicit setting of Toggle flag for AutomationControls
Make it be based on the ParameterDescriptor, which indicates toggle status anyway
Paul Davis [Mon, 25 Apr 2016 16:31:18 +0000 (12:31 -0400)]
generalize VCA assign/unassign code.
Need to share this approach across Slavables
Paul Davis [Mon, 25 Apr 2016 16:30:34 +0000 (12:30 -0400)]
add rec-enable and monitor controls to VCAs
Paul Davis [Mon, 25 Apr 2016 15:03:08 +0000 (11:03 -0400)]
save and restore vca assignments
Paul Davis [Mon, 25 Apr 2016 01:48:05 +0000 (21:48 -0400)]
use Slavable API in GUI
Paul Davis [Mon, 25 Apr 2016 01:47:52 +0000 (21:47 -0400)]
add Slavable API for VCA assign/unassign
Paul Davis [Mon, 25 Apr 2016 01:46:39 +0000 (21:46 -0400)]
use setlocale() in preference to gtk_set_locale()
Paul Davis [Mon, 25 Apr 2016 01:46:14 +0000 (21:46 -0400)]
new files
Paul Davis [Sat, 23 Apr 2016 22:25:49 +0000 (18:25 -0400)]
improve clean-up of GUI VCA-related objects
Paul Davis [Sat, 23 Apr 2016 22:25:32 +0000 (18:25 -0400)]
improve cleanup of VCA related objects
Paul Davis [Sat, 23 Apr 2016 17:16:53 +0000 (13:16 -0400)]
fix compiler issues with pair<T1,T2> construction
Paul Davis [Sat, 23 Apr 2016 17:04:08 +0000 (13:04 -0400)]
fix chaining of masters for boolean controls
Paul Davis [Sat, 23 Apr 2016 15:56:22 +0000 (11:56 -0400)]
restore right-click in track/bus scroller to drive add route
Paul Davis [Sat, 23 Apr 2016 15:55:58 +0000 (11:55 -0400)]
change API for ARDOUR_UI::add_route() to no longer require a float window
Paul Davis [Sat, 23 Apr 2016 03:02:39 +0000 (23:02 -0400)]
use new paned-sizing strategy in editor
Paul Davis [Sat, 23 Apr 2016 03:02:21 +0000 (23:02 -0400)]
no-op: comment
Paul Davis [Sat, 23 Apr 2016 02:53:39 +0000 (22:53 -0400)]
move new fractional pane utility functions into libs/gtkmm2ext
Paul Davis [Sat, 23 Apr 2016 02:45:51 +0000 (22:45 -0400)]
a big fat comment
Paul Davis [Sat, 23 Apr 2016 02:17:55 +0000 (22:17 -0400)]
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
Paul Davis [Thu, 21 Apr 2016 16:32:35 +0000 (12:32 -0400)]
fix solo isolate controls
Paul Davis [Thu, 21 Apr 2016 15:08:47 +0000 (11:08 -0400)]
clear all solo state should affect VCAs too
Paul Davis [Thu, 21 Apr 2016 06:58:25 +0000 (02:58 -0400)]
get VCA status correct in strips on first load
Paul Davis [Thu, 21 Apr 2016 06:06:01 +0000 (02:06 -0400)]
fix implicit active display in VCA strips for solo
Paul Davis [Thu, 21 Apr 2016 06:02:13 +0000 (02:02 -0400)]
remove Route::listening_via_monitor()
This is better tested with direct use of the solo_control and
Config->get_solo_controls_are_listen_controls()
Paul Davis [Thu, 21 Apr 2016 05:45:09 +0000 (01:45 -0400)]
fix backend logic for PFL/AFL when mastered
Paul Davis [Thu, 21 Apr 2016 03:22:29 +0000 (23:22 -0400)]
move ever close to working master/slave logic, this time with audio testing
Paul Davis [Tue, 19 Apr 2016 20:07:00 +0000 (16:07 -0400)]
remove more debug output
Paul Davis [Tue, 19 Apr 2016 19:43:17 +0000 (15:43 -0400)]
fix return type of SlavableAutomationControl::get_boolean_masters() to make it usefl
Paul Davis [Tue, 19 Apr 2016 19:42:50 +0000 (15:42 -0400)]
fix solo control to use VCA logic as worked out for mute
Paul Davis [Tue, 19 Apr 2016 19:42:00 +0000 (15:42 -0400)]
remove debug output
Paul Davis [Tue, 19 Apr 2016 19:41:50 +0000 (15:41 -0400)]
fix call to base class
Paul Davis [Tue, 19 Apr 2016 17:02:40 +0000 (13:02 -0400)]
design changes to various SlavableAutomationControls to make it possible to get the logic right for boolean controls
Paul Davis [Tue, 19 Apr 2016 17:01:57 +0000 (13:01 -0400)]
move SlavableAutomationControl into its own header
Paul Davis [Fri, 15 Apr 2016 04:38:03 +0000 (00:38 -0400)]
a variety of changes that get closer to correctly functioning behaviour for VCA solo+mute (BUT ARE NOT DONE YET)
Paul Davis [Wed, 13 Apr 2016 21:42:07 +0000 (17:42 -0400)]
do not route AutomationControl changes to an RT thread if we are loading a session
Paul Davis [Wed, 13 Apr 2016 21:41:39 +0000 (17:41 -0400)]
add Session::loading() to allow easy detection of "session is being loaded" condition
Paul Davis [Mon, 11 Apr 2016 20:46:28 +0000 (16:46 -0400)]
remove some debug output
Paul Davis [Mon, 11 Apr 2016 20:37:51 +0000 (16:37 -0400)]
a slew of as-yet incomplete work to get VCA solo+mute closer to working
Paul Davis [Mon, 11 Apr 2016 13:47:36 +0000 (09:47 -0400)]
stop crash caused by missing conditional
Paul Davis [Mon, 11 Apr 2016 13:47:13 +0000 (09:47 -0400)]
fix logic for Session::solo_control_mode_changed()
Paul Davis [Mon, 11 Apr 2016 13:46:45 +0000 (09:46 -0400)]
fix logic for removing an AutomationControl from a ControlGroup
Paul Davis [Sun, 10 Apr 2016 22:20:11 +0000 (18:20 -0400)]
some tweaks for solo logic to get things working as they were before (correctly)
Paul Davis [Sun, 10 Apr 2016 22:19:54 +0000 (18:19 -0400)]
add back some amount of XML save/restore for route controls
Paul Davis [Sun, 10 Apr 2016 22:19:04 +0000 (18:19 -0400)]
add new enums
Paul Davis [Sat, 9 Apr 2016 20:16:22 +0000 (16:16 -0400)]
extend function of Automatable::control_factory() [ this may be the wrong design ... review coming ]
Paul Davis [Sat, 9 Apr 2016 20:15:54 +0000 (16:15 -0400)]
add track controls to its Automatable self
Paul Davis [Sat, 9 Apr 2016 20:15:26 +0000 (16:15 -0400)]
do not non-automable controls to an Automatable's list of what can be automated
Paul Davis [Sat, 9 Apr 2016 20:14:18 +0000 (16:14 -0400)]
add a new Controllable::NotAutomable flag
Paul Davis [Sat, 9 Apr 2016 19:39:39 +0000 (15:39 -0400)]
direct connect monitoring changes to the real RouteUI method (no-op, really)
Paul Davis [Fri, 8 Apr 2016 20:51:34 +0000 (16:51 -0400)]
add new files to source tree
Paul Davis [Fri, 8 Apr 2016 20:49:47 +0000 (16:49 -0400)]
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
Paul Davis [Sun, 13 Mar 2016 03:59:00 +0000 (22:59 -0500)]
show VCA master mute state in RouteUI, even if Config->get_show_solo_mutes() is false (since it is orthogonal)
Paul Davis [Sun, 13 Mar 2016 03:58:00 +0000 (22:58 -0500)]
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
Paul Davis [Fri, 11 Mar 2016 15:34:51 +0000 (10:34 -0500)]
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
Paul Davis [Wed, 9 Mar 2016 18:12:42 +0000 (13:12 -0500)]
use route automation control Changed() signals for solo/mute in GUI
Paul Davis [Wed, 9 Mar 2016 18:12:23 +0000 (13:12 -0500)]
fix faderport and mackie to use route AutomationControls to be notified about solo/mute changes
Paul Davis [Wed, 9 Mar 2016 18:11:53 +0000 (13:11 -0500)]
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
Paul Davis [Wed, 9 Mar 2016 15:26:09 +0000 (10:26 -0500)]
rearrange AutomationControl and RouteAutomationControl to get more shared logic and consistent master/slave behaviour
Paul Davis [Wed, 9 Mar 2016 04:29:38 +0000 (23:29 -0500)]
use new API for control slave/master relationships
Paul Davis [Wed, 9 Mar 2016 04:29:17 +0000 (23:29 -0500)]
redesign control slave/master system, move code from GainControl to AutomationControl
Paul Davis [Wed, 9 Mar 2016 03:09:43 +0000 (22:09 -0500)]
change master records in GainControl to use AutomationControl
The first step of generalizing master/slave to other controls
Paul Davis [Wed, 9 Mar 2016 03:08:51 +0000 (22:08 -0500)]
start adding a context menu for VCA strips
Paul Davis [Tue, 8 Mar 2016 19:57:26 +0000 (14:57 -0500)]
GUI tweaks for VCAMasterStrip, including renaming
Paul Davis [Tue, 8 Mar 2016 19:56:51 +0000 (14:56 -0500)]
follow session track-number policy in mixer strip, as is done in the editor
Paul Davis [Tue, 8 Mar 2016 19:56:07 +0000 (14:56 -0500)]
trivially change API of GainMeter but more importantly don't show meter if no Route is set
Paul Davis [Tue, 8 Mar 2016 16:10:20 +0000 (11:10 -0500)]
remove VCA active button
Paul Davis [Tue, 8 Mar 2016 15:42:20 +0000 (10:42 -0500)]
Session API changes to enable VCAs to set soloed-by-upstream on assigned routes
Paul Davis [Tue, 8 Mar 2016 14:22:22 +0000 (09:22 -0500)]
move vca assignment up to the Route level (from GainControl)
Paul Davis [Tue, 8 Mar 2016 03:20:37 +0000 (22:20 -0500)]
move VCA assignment up to Route level
Paul Davis [Mon, 7 Mar 2016 21:46:36 +0000 (16:46 -0500)]
don't increment actual VCA counter when saving session state
Paul Davis [Mon, 7 Mar 2016 21:33:15 +0000 (16:33 -0500)]
add required header
Paul Davis [Mon, 7 Mar 2016 21:25:50 +0000 (16:25 -0500)]
save+restore VCA counter value across instances
Paul Davis [Mon, 7 Mar 2016 20:53:44 +0000 (15:53 -0500)]
VCA solo and mute controls need to call AutomationControl::set_value() to emit a signal
Paul Davis [Mon, 7 Mar 2016 20:00:17 +0000 (15:00 -0500)]
use redesigned Route and VCA object architecture/API
Paul Davis [Mon, 7 Mar 2016 20:00:12 +0000 (15:00 -0500)]
use redesigned Route and VCA object architecture/API
Paul Davis [Mon, 7 Mar 2016 19:59:40 +0000 (14:59 -0500)]
redesign Route and VCA objects to inherit from ARDOUR::Stripable
Paul Davis [Fri, 4 Mar 2016 21:44:46 +0000 (16:44 -0500)]
update VCA assign buttons to show status for VCA strips
Paul Davis [Fri, 4 Mar 2016 21:44:30 +0000 (16:44 -0500)]
correctly restore VCA-VCA slave/master relationships at session load time
Paul Davis [Fri, 4 Mar 2016 21:09:14 +0000 (16:09 -0500)]
fix deadlock caused by VCA=>VCA slaving and set_state()
Paul Davis [Fri, 4 Mar 2016 20:40:44 +0000 (15:40 -0500)]
fix incorrect selection of all strips/tracks at opening.
Old code was counting how many child nodes where in the MixerUI, assuming they
were all routes, and using that to decide if this was a from_scratch setup.
The addition of VCAs to the track_model changes that, so now we have to actually
check there are no existing Routes before doing the from_scratch setup
Paul Davis [Fri, 4 Mar 2016 20:02:56 +0000 (15:02 -0500)]
no self-assign for VCA masters
Paul Davis [Fri, 4 Mar 2016 19:56:27 +0000 (14:56 -0500)]
fix ambiguity in VCA constructors
Paul Davis [Fri, 4 Mar 2016 19:53:13 +0000 (14:53 -0500)]
add GUI support for slaving VCAs to other VCAs
Paul Davis [Fri, 4 Mar 2016 19:15:37 +0000 (14:15 -0500)]
add solo/mute controls to VCAMasterStrip