Paul Davis [Mon, 1 Feb 2016 18:26:30 +0000 (13:26 -0500)]
change API of MIDI::Port::drain() to include a maximum blocking time
Paul Davis [Mon, 1 Feb 2016 17:22:23 +0000 (12:22 -0500)]
mackie: stop playing games with start/end range LEDs
Paul Davis [Mon, 1 Feb 2016 17:22:01 +0000 (12:22 -0500)]
mackie: add new bindings for Save,Undo,Cancel,Enter
these now control punch in, punch out, external sync and follow edits, respectively
Paul Davis [Mon, 1 Feb 2016 17:20:55 +0000 (12:20 -0500)]
mackie: fix stupid thinko, and use BaseUI::access_action() to correctly accesss GUI actions
Ben Loftis [Mon, 1 Feb 2016 04:28:13 +0000 (22:28 -0600)]
Mackie protocol: clear Marker modifer
Ben Loftis [Mon, 1 Feb 2016 04:18:49 +0000 (22:18 -0600)]
Remove debugging printf
Paul Davis [Mon, 1 Feb 2016 03:46:00 +0000 (22:46 -0500)]
very very slightly more robust exclusion of monitor send from Route::nth_send()
some sessions name that send "Monitor" and some "Monitor 1"
The correct solution is a test of whether the send is connected to the monitor section.
Paul Davis [Mon, 1 Feb 2016 03:43:21 +0000 (22:43 -0500)]
mackie: slightly less fragile/more readable code for compute new controllable values from vpot events
This is still not really right - it doesn't do the right thing, i think, for trim controls
Paul Davis [Mon, 1 Feb 2016 03:42:29 +0000 (22:42 -0500)]
mackie: consistent use of Shift to mean "InverseGroup"
Paul Davis [Mon, 1 Feb 2016 03:41:46 +0000 (22:41 -0500)]
mackie: display correct numerical send level
Paul Davis [Mon, 1 Feb 2016 02:54:01 +0000 (21:54 -0500)]
mackie: implement trim, monitoring, solo iso and solo safe for trackview submode
Paul Davis [Mon, 1 Feb 2016 02:53:29 +0000 (21:53 -0500)]
mackie: make shift-click use InverseGroup semantics as intended, not NoGroup
Paul Davis [Mon, 1 Feb 2016 02:52:46 +0000 (21:52 -0500)]
NOOP: comment fix
Paul Davis [Mon, 1 Feb 2016 02:52:14 +0000 (21:52 -0500)]
mackie: make vselect events and pot events handle toggle/enumeration controls correctly (or more correctly
Paul Davis [Mon, 1 Feb 2016 02:49:59 +0000 (21:49 -0500)]
make Session::rt_set_monitoring() conform to new Track API
Paul Davis [Mon, 1 Feb 2016 02:49:18 +0000 (21:49 -0500)]
provide route solo isolate and solo safe automation controls
Paul Davis [Mon, 1 Feb 2016 02:48:32 +0000 (21:48 -0500)]
add new automation type enums
Paul Davis [Mon, 1 Feb 2016 02:47:19 +0000 (21:47 -0500)]
make Track::set_monitoring() use a GroupControlDisposition; expose an AutomationControl for track monitoring choice
Paul Davis [Mon, 1 Feb 2016 02:45:36 +0000 (21:45 -0500)]
add a new constructor for RouteAutomationControllable that takes a ParameterDescriptor
Paul Davis [Sun, 31 Jan 2016 18:20:04 +0000 (13:20 -0500)]
break out Route controllables code into its own source module
Paul Davis [Sun, 31 Jan 2016 18:16:22 +0000 (13:16 -0500)]
mackie: partially working trackview submode.
More controls/pots to come
Paul Davis [Sun, 31 Jan 2016 18:15:49 +0000 (13:15 -0500)]
mackie: fix bug that prevents global view mode from working without first banking
Paul Davis [Sun, 31 Jan 2016 17:58:46 +0000 (12:58 -0500)]
mackie: fix some awful cut-n-paste errors
Paul Davis [Sun, 31 Jan 2016 16:59:55 +0000 (11:59 -0500)]
mackie: remove Trim pot mode, and add skeleton for TrackView subview mode
Ben Loftis [Sun, 31 Jan 2016 17:21:47 +0000 (11:21 -0600)]
Mackie protocol: XTouch profile with expanded editing options
Paul Davis [Sun, 31 Jan 2016 16:36:46 +0000 (11:36 -0500)]
mackie: strengthen behaviour of clear solo button
Paul Davis [Sun, 31 Jan 2016 16:36:31 +0000 (11:36 -0500)]
mackie: make replace (finish-range) LED flash at the right time
Paul Davis [Sun, 31 Jan 2016 16:17:23 +0000 (11:17 -0500)]
mackie: make nudge work as modifier and on its own
Paul Davis [Sun, 31 Jan 2016 16:02:21 +0000 (11:02 -0500)]
mackie: hard-code drop+replace buttons to start/finish-range-from-playhead
With some LED action that would even better with blinking
Paul Davis [Sun, 31 Jan 2016 16:01:41 +0000 (11:01 -0500)]
mackie: make marker button work as Mackie intends it (as a modifier for rewind/ffwd)
Paul Davis [Sun, 31 Jan 2016 16:00:16 +0000 (11:00 -0500)]
mackie: add "clean" method to invoke GUI actions from button events, in code
Paul Davis [Sun, 31 Jan 2016 14:11:37 +0000 (09:11 -0500)]
mackie: shift-stop additionally requests MIDI Panic, as well as regular stop
Len Ovens [Sun, 31 Jan 2016 05:05:45 +0000 (21:05 -0800)]
Mackie Control: Make Monitor send not show in Sends subview.
Ben Loftis [Sun, 31 Jan 2016 03:38:18 +0000 (21:38 -0600)]
Mackie protocol: Fix stuck-on Read LED.
Ben Loftis [Sat, 30 Jan 2016 17:18:56 +0000 (11:18 -0600)]
Add track select buttons to Launchkey map.
Ben Loftis [Sat, 30 Jan 2016 15:46:37 +0000 (09:46 -0600)]
Surfaces with separate meters should meter even when stopped.
Paul Davis [Fri, 29 Jan 2016 23:40:56 +0000 (18:40 -0500)]
mackie: remove mention of "blinkers" concept
Paul Davis [Fri, 29 Jan 2016 23:37:03 +0000 (18:37 -0500)]
mackie: basically (fully?) operation fader automatio control for first selected route
Paul Davis [Fri, 29 Jan 2016 21:29:52 +0000 (16:29 -0500)]
mackie: initial attempt at making automation-related buttons set fader automation state for selected routes
Paul Davis [Fri, 29 Jan 2016 21:05:42 +0000 (16:05 -0500)]
use new selection API to avoid double signal when a track or tracks are SET as the selection
Paul Davis [Fri, 29 Jan 2016 21:05:03 +0000 (16:05 -0500)]
modify Selection API to provide (default-valued) "with_signal" argument to all ::clear_*() methods
This allows the clear methods to be used before calling ::add(), to avoid the
emission of a signal saying "there are no <foo> selected right now".
There should be no side-effects from this commit.
Note that correct use of this new API is complex, and requires avoiding the use
of wrapper methods like clear_objects().
Paul Davis [Fri, 29 Jan 2016 19:49:28 +0000 (14:49 -0500)]
mackie: if a subview mode is not OK because there's no selection, show no message
Paul Davis [Fri, 29 Jan 2016 19:48:14 +0000 (14:48 -0500)]
NOOP: change brace placement to avoid confusing emacs
Paul Davis [Fri, 29 Jan 2016 19:47:40 +0000 (14:47 -0500)]
mackie: make group button (appear) to do something
Ben Loftis [Fri, 29 Jan 2016 20:26:08 +0000 (14:26 -0600)]
Mackie protocol: More LED indicator fixes.
Paul Davis [Fri, 29 Jan 2016 18:02:00 +0000 (13:02 -0500)]
mixbus: don't assert(ch_post()) in case we use various methods on "odd" Routes in the future
Paul Davis [Fri, 29 Jan 2016 17:58:50 +0000 (12:58 -0500)]
mixbus: vpot press in non-subview mode should toggle master bus send
Paul Davis [Fri, 29 Jan 2016 17:58:15 +0000 (12:58 -0500)]
add new Route API ::master_send_enable_controllable() to provide generic access to a mixbus-centric control
Paul Davis [Fri, 29 Jan 2016 17:40:13 +0000 (12:40 -0500)]
mackie: in Sends subview mode, the enable control for the send should be looked upin the subview route, not the strip's own route
Ben Loftis [Fri, 29 Jan 2016 17:27:54 +0000 (11:27 -0600)]
Button::AudioInstruments should not be lit without good reason.
Paul Davis [Fri, 29 Jan 2016 17:26:41 +0000 (12:26 -0500)]
mackie: redesign display logic entirely
Strips now maintain a pair of pending display strings (upper and lower).
A periodic timeout writes the pending value to the actual hardware if it
differs from the current string. This new design makes it easy to put a
message on the display and then after some period of time, revert to
whatever was there before.
Robin Gareus [Fri, 29 Jan 2016 17:22:57 +0000 (18:22 +0100)]
Another attempt fixing crash at exit on windows.
Ben Loftis [Fri, 29 Jan 2016 16:31:47 +0000 (10:31 -0600)]
Mackie Protocol: HasSeparateMeters flag for X-Touch devices
Ben Loftis [Fri, 29 Jan 2016 16:10:17 +0000 (10:10 -0600)]
Added Behringer X-Touch device files.
Paul Davis [Fri, 29 Jan 2016 04:20:03 +0000 (23:20 -0500)]
mackie: fix Global View button function
Bug introduced changing logic for set_view_mode()
Paul Davis [Fri, 29 Jan 2016 04:05:14 +0000 (23:05 -0500)]
mackie: don't overload "Audio Instruments" and "Instruments" buttons.
With the MCU Pro, the button labelled "Instruments" uses the Dyn button ID.
The one labelled "Audio Instruments" does not.
This may break Nucleus support - needs to be checked
Paul Davis [Fri, 29 Jan 2016 04:03:55 +0000 (23:03 -0500)]
mackie: use Route::send_name() rather than Route::nth_send()
Paul Davis [Fri, 29 Jan 2016 04:03:02 +0000 (23:03 -0500)]
mackie: fix display of send level value
Paul Davis [Fri, 29 Jan 2016 04:02:11 +0000 (23:02 -0500)]
add new API to Route to get name of "well-known" nth-send
Route::nth_send() has the wrong semantics in Mixbus for this purpose. Probably
need to revisit this at some point
Robin Gareus [Fri, 29 Jan 2016 00:12:32 +0000 (01:12 +0100)]
fix device-list update concurrency issue.
It may happen that during push_state_to_backend() a device is
reconfigured in a way that triggers a "Device Changed" callback before
the engine is started. This callback can trigger a change to the
configuration that will be used when the engine is actually started.
This has been seen on OSX in conjunction with Aggregate Devices
(even if the aggregate is not used, but the device which is used
is also part of an aggregate)
example: HW changed callback arrives, device-list is re-populated,
*A*irplay" is at the top of the list, Airplay supports only 44.1K,
Samplerate changes... later save also writes this new rate to the file.
Ben Loftis [Thu, 28 Jan 2016 23:21:42 +0000 (17:21 -0600)]
Buses and Auxes are slightly different view-filters in Mixbus
Paul Davis [Thu, 28 Jan 2016 21:27:33 +0000 (16:27 -0500)]
prevent bank/channel switching past the end of the available routes; do nothing when a view mode finds no matching routes
Paul Davis [Thu, 28 Jan 2016 20:08:19 +0000 (15:08 -0500)]
mackie: improvements to display when switching subview modes
Paul Davis [Thu, 28 Jan 2016 19:01:14 +0000 (14:01 -0500)]
make Send button light appropriately
Ben Loftis [Thu, 28 Jan 2016 19:43:47 +0000 (13:43 -0600)]
Editing from a control surface must have the ability to ignore mouse location.
Add mark_in and mark_out actions that explicitly use the playhead as the edit location.
Ben Loftis [Thu, 28 Jan 2016 19:42:50 +0000 (13:42 -0600)]
Use visible playhead location for editing during a jog-wheel event.
Ben Loftis [Wed, 27 Jan 2016 23:10:59 +0000 (17:10 -0600)]
Center the playhead for stationary_playhead playback.
This avoids a visual discontinuity when playback is initiated after a jog-event.
Tim Mayberry [Thu, 28 Jan 2016 03:30:59 +0000 (13:30 +1000)]
Initialize Editor::clicked_selection to prevent programming error dialog/exit
This was triggered when reloading session and immediately duplicating range with
keyboard shortcut. As clicked_selection was uninitialized it would try to use
an invalid index into the TimeSelection.
Tim Mayberry [Wed, 27 Jan 2016 13:18:06 +0000 (23:18 +1000)]
Change duplicate range to use time range/s rather than a single region
This should fix bugs #4980, #4984, #4986 and #6579
Tim Mayberry [Wed, 27 Jan 2016 13:04:33 +0000 (23:04 +1000)]
Add Playlist::duplicate_range/s utility methods
Paul Davis [Thu, 28 Jan 2016 00:05:47 +0000 (19:05 -0500)]
mackie: fix subview mode logic
Paul Davis [Thu, 28 Jan 2016 00:00:21 +0000 (19:00 -0500)]
mackie: clean up (some) interactions between subview mode and selection
Also, stop Plugin button from doing anything, since it has nothing to do yet
Robin Gareus [Wed, 27 Jan 2016 23:00:47 +0000 (00:00 +0100)]
Fix AU port-name encoding.
This allows us to revert
ec8cf4e4, maybe. After testing if
port-names are still properly displayed.
Robin Gareus [Wed, 27 Jan 2016 22:39:35 +0000 (23:39 +0100)]
Fix µ-iness.
Robin Gareus [Wed, 27 Jan 2016 21:57:31 +0000 (22:57 +0100)]
Use proper UTF8 file-names during export.
Paul Davis [Wed, 27 Jan 2016 21:26:50 +0000 (16:26 -0500)]
remove debug output
Paul Davis [Wed, 27 Jan 2016 21:26:41 +0000 (16:26 -0500)]
monitor send does not count in Route::nth_send()
Paul Davis [Wed, 27 Jan 2016 19:15:41 +0000 (14:15 -0500)]
mackie: semi-working Sends subview mode
Paul Davis [Wed, 27 Jan 2016 19:15:34 +0000 (14:15 -0500)]
no need for multiple send level/enable parameter types
Paul Davis [Wed, 27 Jan 2016 17:41:01 +0000 (12:41 -0500)]
remove mackie send pot mode (subview mode for sends coming up)
Paul Davis [Wed, 27 Jan 2016 16:38:14 +0000 (11:38 -0500)]
return relevant AutomationControl for send_level_controllable() in Ardour
Paul Davis [Wed, 27 Jan 2016 16:37:54 +0000 (11:37 -0500)]
make Route::nth_send() and Route::nth_processor() be const
Paul Davis [Wed, 27 Jan 2016 16:16:13 +0000 (11:16 -0500)]
add stubs and enums to access "well-known" send controls
Ben Loftis [Tue, 26 Jan 2016 22:48:00 +0000 (16:48 -0600)]
add Novation_LaunchKey25.map
Robin Gareus [Tue, 26 Jan 2016 14:14:55 +0000 (15:14 +0100)]
satisfy some pedantic compilers, #6748
Paul Davis [Tue, 26 Jan 2016 03:10:43 +0000 (22:10 -0500)]
when using InverseGroup for rec-enable, do not collect group members and pass them to a session RT event method
Paul Davis [Tue, 26 Jan 2016 03:08:47 +0000 (22:08 -0500)]
NOOP: whitespace fixes
Paul Davis [Tue, 26 Jan 2016 03:08:23 +0000 (22:08 -0500)]
when using InverseGroup for solo, do not collect group members and pass them to a session RT event method
Paul Davis [Tue, 26 Jan 2016 03:07:36 +0000 (22:07 -0500)]
fix/improve logic for InverseGroup
the route group is "inactive for predicate" if EITHER the
group itself is inactive, or the predicate returns false.
Paul Davis [Tue, 26 Jan 2016 03:06:41 +0000 (22:06 -0500)]
when using InverseGroup, do not collect group members and pass them to a session RT event method
Paul Davis [Mon, 25 Jan 2016 20:00:39 +0000 (15:00 -0500)]
faderport: add a few more sensible actions to the footswitch options
Paul Davis [Mon, 25 Jan 2016 19:48:21 +0000 (14:48 -0500)]
faderport: add footswitch combos to GUI to allow user control over what the switch does
Paul Davis [Mon, 25 Jan 2016 19:32:09 +0000 (14:32 -0500)]
faderport: add footswitch button
Paul Davis [Mon, 25 Jan 2016 16:48:43 +0000 (11:48 -0500)]
use route gain control, not amp->gain()
Paul Davis [Mon, 25 Jan 2016 16:47:44 +0000 (11:47 -0500)]
GainMeter(Base) now has an explicit gain control given to it
Paul Davis [Mon, 25 Jan 2016 16:47:21 +0000 (11:47 -0500)]
change exposed type of various objects' gain controls; remove Amp::gain() as a shortcut
Tim Mayberry [Mon, 25 Jan 2016 07:26:11 +0000 (17:26 +1000)]
Make horizontal scroll increment consistent in ruler and track canvas areas
In response to a comment in #6722, as there is little delineation between the
ruler and track canvas areas it makes sense to keep the scrolling step the same
to avoid unintended jumps in scrolling if mouse cursor moves between areas.
Robin Gareus [Sun, 24 Jan 2016 02:19:24 +0000 (03:19 +0100)]
deactivate plugin if connect_and_run returns an error
Robin Gareus [Sun, 24 Jan 2016 00:11:15 +0000 (01:11 +0100)]
add wrapper for ChanMapping::get()
The boolean "valid" is implicit, get() returns -1 (really UINT32_MAX)
This simplifies upcoming lua bindings
Robert Schneider [Sat, 23 Jan 2016 14:07:55 +0000 (15:07 +0100)]
Added midi map file for AKAI MPK MINI