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
Paul Davis [Fri, 4 Mar 2016 19:15:12 +0000 (14:15 -0500)]
add solo/mute logic to VCA masters
Paul Davis [Fri, 4 Mar 2016 16:42:43 +0000 (11:42 -0500)]
ensure that GainControl::get_value() never returns > Config->get_max_gain()
Paul Davis [Fri, 4 Mar 2016 15:06:36 +0000 (10:06 -0500)]
change master-record management to use std::map to avoid const iterators; drop connection to master Changed signal when unassigning
Paul Davis [Fri, 4 Mar 2016 03:48:03 +0000 (22:48 -0500)]
revert GainMeter back to simpler code now that VCA model appears correct
Paul Davis [Fri, 4 Mar 2016 03:47:25 +0000 (22:47 -0500)]
probably get the design of VCAs basically correct: use a per-master ratio model
See comments in the code for a bit more detail
Paul Davis [Thu, 3 Mar 2016 18:28:42 +0000 (13:28 -0500)]
add VCAMasterStrip::set_selected()
Paul Davis [Thu, 3 Mar 2016 17:02:35 +0000 (12:02 -0500)]
fix restoration of editor pane positions
Paul Davis [Thu, 3 Mar 2016 16:47:01 +0000 (11:47 -0500)]
GUI modifications to improve VCA strips and their placement in the mixer
Note that this includes some changes that actually make mixer pane settings get restored,
which has been broken for some time. Of course, they are not restored perfectly, yet.
Paul Davis [Thu, 3 Mar 2016 04:46:00 +0000 (23:46 -0500)]
adjust logic for slaved faders, not necessarily correctly.
More info in the code comments.
Paul Davis [Thu, 3 Mar 2016 04:45:32 +0000 (23:45 -0500)]
rename GainMeter::gain_adjusted() to GainMeter::fader_moved() to be more clear
Paul Davis [Thu, 3 Mar 2016 04:43:42 +0000 (23:43 -0500)]
add GainControl::slaved() predicate
Paul Davis [Wed, 2 Mar 2016 22:24:16 +0000 (17:24 -0500)]
make GUI fader positions reflect VCA master values
Paul Davis [Wed, 2 Mar 2016 22:23:55 +0000 (17:23 -0500)]
forward-propagate Changed signals through VCA master-slave connections
Paul Davis [Wed, 2 Mar 2016 17:47:10 +0000 (12:47 -0500)]
use VCAUpdateStatus to keep VCA button current
Paul Davis [Wed, 2 Mar 2016 17:41:27 +0000 (12:41 -0500)]
add VCAStatusChange message to GainControl
Paul Davis [Wed, 2 Mar 2016 17:25:37 +0000 (12:25 -0500)]
remove debug output
Paul Davis [Wed, 2 Mar 2016 17:13:45 +0000 (12:13 -0500)]
change sort ordering model in mixer and editor
This allows correct reordering of the mixer "track_model" even
when non-route elements are present.
This isn't really utilized in the Editor at present because we do
not show VCAs there at all, but it will become important in the
future when we represent VCA automation there
Paul Davis [Wed, 2 Mar 2016 17:12:18 +0000 (12:12 -0500)]
tweak mixer VCA button appearance and prepare for live updates to VCA state
Paul Davis [Wed, 2 Mar 2016 17:09:24 +0000 (12:09 -0500)]
change API for GainControl, VCA and VCAManager
This allows sane state save/restore
Paul Davis [Wed, 2 Mar 2016 17:05:13 +0000 (12:05 -0500)]
add VCA debug bit
Paul Davis [Tue, 1 Mar 2016 13:48:54 +0000 (08:48 -0500)]
single button for VCA assignment, plus unassign now works
Paul Davis [Tue, 1 Mar 2016 02:35:19 +0000 (21:35 -0500)]
fix VCA name/number
Paul Davis [Tue, 1 Mar 2016 02:26:45 +0000 (21:26 -0500)]
start shaping up VCA assign process
Paul Davis [Tue, 1 Mar 2016 02:26:30 +0000 (21:26 -0500)]
remove debug output
Paul Davis [Mon, 29 Feb 2016 23:12:13 +0000 (18:12 -0500)]
mostly restore VCA state on session loading.
This does not restore VCA assignments
Paul Davis [Mon, 29 Feb 2016 21:16:31 +0000 (16:16 -0500)]
save/restore VCAManager state
Paul Davis [Mon, 29 Feb 2016 21:10:31 +0000 (16:10 -0500)]
reorder destruction of VCAManager and Routes
Paul Davis [Mon, 29 Feb 2016 21:06:30 +0000 (16:06 -0500)]
add a bit of state to VCAManager
Paul Davis [Mon, 29 Feb 2016 20:52:27 +0000 (15:52 -0500)]
add a bit of state to VCAs
Paul Davis [Mon, 29 Feb 2016 19:45:03 +0000 (14:45 -0500)]
initial part of vca assignment via context menu
Paul Davis [Mon, 29 Feb 2016 19:44:25 +0000 (14:44 -0500)]
expand and improve VCA API
Paul Davis [Mon, 29 Feb 2016 14:10:13 +0000 (09:10 -0500)]
add 4 harrison-style vca assign buttons to the mixer strip
Paul Davis [Mon, 29 Feb 2016 14:09:53 +0000 (09:09 -0500)]
vca design: gain controls cannot silently "merge" the master(s) value into their own
Paul Davis [Sun, 28 Feb 2016 16:57:18 +0000 (11:57 -0500)]
change VCA model to facilitate Harrison *and* SSL designs
Paul Davis [Sun, 28 Feb 2016 16:15:53 +0000 (11:15 -0500)]
don't force size allocation to recompute pixfader patterns unless size actually changes
Paul Davis [Sun, 28 Feb 2016 16:06:38 +0000 (11:06 -0500)]
change packing of GainMeter so that the fader+meter will expand to fill available space
Paul Davis [Sun, 28 Feb 2016 03:16:37 +0000 (22:16 -0500)]
first pass at making the GUI for a VCA visible
Paul Davis [Fri, 26 Feb 2016 04:15:18 +0000 (23:15 -0500)]
fix manual merge error
Paul Davis [Tue, 26 Jan 2016 05:18:31 +0000 (00:18 -0500)]
extend add route dialog to include VCA masters
Paul Davis [Tue, 26 Jan 2016 05:18:03 +0000 (00:18 -0500)]
Session HAS-A VCAManager
Paul Davis [Tue, 26 Jan 2016 03:15:07 +0000 (22:15 -0500)]
initial implementation of a VCA Manager object
Paul Davis [Mon, 25 Jan 2016 20:59:36 +0000 (15:59 -0500)]
add a new packer to the mixer, to hold vca master faders (if any)
Paul Davis [Mon, 25 Jan 2016 20:56:59 +0000 (15:56 -0500)]
remove the entire idea of a tabbable for VCA master faders
Conflicts:
gtk2_ardour/master_faders.cc
Paul Davis [Mon, 25 Jan 2016 17:51:29 +0000 (12:51 -0500)]
fix API of VCA strip
Conflicts:
gtk2_ardour/master_faders.cc
Paul Davis [Mon, 25 Jan 2016 17:51:10 +0000 (12:51 -0500)]
set controls for VCA strip
Paul Davis [Mon, 25 Jan 2016 17:50:27 +0000 (12:50 -0500)]
correctly set up members of GainMeterBase in ::set_controls()
Paul Davis [Mon, 25 Jan 2016 17:49:53 +0000 (12:49 -0500)]
add name() method to VCA
Paul Davis [Mon, 25 Jan 2016 02:27:39 +0000 (21:27 -0500)]
fake the existence of a master fader strip
Conflicts:
gtk2_ardour/master_faders.cc
Paul Davis [Mon, 25 Jan 2016 02:27:25 +0000 (21:27 -0500)]
skeleton versions of VCA master strips
Paul Davis [Mon, 25 Jan 2016 02:26:49 +0000 (21:26 -0500)]
call ::set_session on master faders section
Paul Davis [Mon, 25 Jan 2016 02:02:07 +0000 (21:02 -0500)]
remove unused "old-order" stuff from AxisView
Paul Davis [Mon, 25 Jan 2016 02:01:49 +0000 (21:01 -0500)]
remove stupid, unused function
Paul Davis [Mon, 25 Jan 2016 01:50:12 +0000 (20:50 -0500)]
make the master faders visibility button work
Paul Davis [Sat, 23 Jan 2016 21:26:41 +0000 (16:26 -0500)]
most of the changes required to add a new master faders tabbable
the visibility button isn't actually working correctly
Paul Davis [Fri, 22 Jan 2016 19:42:25 +0000 (14:42 -0500)]
initially pass at libardour VCA implementation
Robin Gareus [Mon, 30 May 2016 19:02:04 +0000 (21:02 +0200)]
remove old logos (old shape) which shouldn't be used anymore