ardour.git
8 years agoMackie Control: Fix Flip mode getting confused if subview is not sends.
Len Ovens [Tue, 2 Feb 2016 17:38:55 +0000 (09:38 -0800)]
Mackie Control: Fix Flip mode getting confused if subview is not sends.

8 years agoMackie Control: Shift/Select now toggles individual channels within group. Makes...
Len Ovens [Tue, 2 Feb 2016 17:03:27 +0000 (09:03 -0800)]
Mackie Control: Shift/Select now toggles individual channels within group. Makes this the same as other grouped controls.

8 years agoMackie Control: remove Shift/select zeros fader.
Len Ovens [Tue, 2 Feb 2016 16:55:36 +0000 (08:55 -0800)]
Mackie Control: remove Shift/select zeros fader.

8 years agoMackie Control: Moved encoder fine modifier from Control to Shift (Shift will be...
Len Ovens [Tue, 2 Feb 2016 16:49:16 +0000 (08:49 -0800)]
Mackie Control: Moved encoder fine modifier from Control to Shift (Shift will be only modifier)

8 years agomackie: update fader+pot when changing flip status
Paul Davis [Tue, 2 Feb 2016 16:17:38 +0000 (11:17 -0500)]
mackie: update fader+pot when changing flip status

8 years agofaderport: fix binding of actions to footswitch
Paul Davis [Tue, 2 Feb 2016 14:21:13 +0000 (09:21 -0500)]
faderport: fix binding of actions to footswitch

8 years agofaderport: make blink/on/off status of record enable LED match the GUI one
Paul Davis [Tue, 2 Feb 2016 14:05:00 +0000 (09:05 -0500)]
faderport: make blink/on/off status of record enable LED match the GUI one

8 years agocontrol surfaces: fix BaseUI method for disabling record enable
Paul Davis [Tue, 2 Feb 2016 14:03:41 +0000 (09:03 -0500)]
control surfaces: fix BaseUI method for disabling record enable

8 years agomackie: fix display of input trim level trackview mode
Paul Davis [Tue, 2 Feb 2016 13:15:35 +0000 (08:15 -0500)]
mackie: fix display of input trim level trackview mode

8 years agomackie: fix display of send level/fader level in send subview
Paul Davis [Tue, 2 Feb 2016 13:08:14 +0000 (08:08 -0500)]
mackie: fix display of send level/fader level in send subview

8 years agomackie: substantial reworking of flip mode with large chunks of code no longer used.
Paul Davis [Tue, 2 Feb 2016 03:52:16 +0000 (22:52 -0500)]
mackie: substantial reworking of flip mode with large chunks of code no longer used.

Flip mode only works in Sends subview mode.

Display is incorrect when flipped - vpot is still updated by send level changes. TO BE FIXED.

8 years agoset channel route phase control
Paul Davis [Tue, 2 Feb 2016 03:28:41 +0000 (22:28 -0500)]
set channel route phase control

8 years agoadd new enums to libardour enum list
Paul Davis [Tue, 2 Feb 2016 03:28:08 +0000 (22:28 -0500)]
add new enums to libardour enum list

8 years agoGeneric MIDI: ffwd, rewd buttons should do the expected
Ben Loftis [Mon, 1 Feb 2016 23:12:18 +0000 (17:12 -0600)]
Generic MIDI: ffwd, rewd buttons should do the expected

8 years agoadd a comment for The Future
Paul Davis [Mon, 1 Feb 2016 20:50:12 +0000 (15:50 -0500)]
add a comment for The Future

8 years agodon't abuse ScalePoints idea
Paul Davis [Mon, 1 Feb 2016 20:49:54 +0000 (15:49 -0500)]
don't abuse ScalePoints idea

8 years agomackie: add Phase control (for first channel only) in Track View subview mode.
Paul Davis [Mon, 1 Feb 2016 20:15:57 +0000 (15:15 -0500)]
mackie: add Phase control (for first channel only) in Track View subview mode.

Also removed a couple of methods no longer used, since trim and phase are only
visible in TrackView mode.

8 years agoclean up mess in Route/Track controllables caused by not understanding the significan...
Paul Davis [Mon, 1 Feb 2016 20:15:02 +0000 (15:15 -0500)]
clean up mess in Route/Track controllables caused by not understanding the significance of ParameterDescriptor

8 years agoadd new automation types to ParameterDescriptor constructor.
Paul Davis [Mon, 1 Feb 2016 20:13:59 +0000 (15:13 -0500)]
add new automation types to ParameterDescriptor constructor.

This allows it to be used everywhere, as intended

8 years agofaderport: turn out all lights from destructor, and use Port::drain() to make sure...
Paul Davis [Mon, 1 Feb 2016 18:27:08 +0000 (13:27 -0500)]
faderport: turn out all lights from destructor, and use Port::drain() to make sure data gets out

8 years agochange API of MIDI::Port::drain() to include a maximum blocking time
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

8 years agomackie: stop playing games with start/end range LEDs
Paul Davis [Mon, 1 Feb 2016 17:22:23 +0000 (12:22 -0500)]
mackie: stop playing games with start/end range LEDs

8 years agomackie: add new bindings for Save,Undo,Cancel,Enter
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

8 years agomackie: fix stupid thinko, and use BaseUI::access_action() to correctly accesss GUI...
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

8 years agoMackie protocol: clear Marker modifer
Ben Loftis [Mon, 1 Feb 2016 04:28:13 +0000 (22:28 -0600)]
Mackie protocol:  clear Marker modifer

8 years agoRemove debugging printf
Ben Loftis [Mon, 1 Feb 2016 04:18:49 +0000 (22:18 -0600)]
Remove debugging printf

8 years agovery very slightly more robust exclusion of monitor send from Route::nth_send()
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.

8 years agomackie: slightly less fragile/more readable code for compute new controllable values...
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

8 years agomackie: consistent use of Shift to mean "InverseGroup"
Paul Davis [Mon, 1 Feb 2016 03:42:29 +0000 (22:42 -0500)]
mackie: consistent use of Shift to mean "InverseGroup"

8 years agomackie: display correct numerical send level
Paul Davis [Mon, 1 Feb 2016 03:41:46 +0000 (22:41 -0500)]
mackie: display correct numerical send level

8 years agomackie: implement trim, monitoring, solo iso and solo safe for trackview submode
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

8 years agomackie: make shift-click use InverseGroup semantics as intended, not NoGroup
Paul Davis [Mon, 1 Feb 2016 02:53:29 +0000 (21:53 -0500)]
mackie: make shift-click use InverseGroup semantics as intended, not NoGroup

8 years agoNOOP: comment fix
Paul Davis [Mon, 1 Feb 2016 02:52:46 +0000 (21:52 -0500)]
NOOP: comment fix

8 years agomackie: make vselect events and pot events handle toggle/enumeration controls correct...
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

8 years agomake Session::rt_set_monitoring() conform to new Track API
Paul Davis [Mon, 1 Feb 2016 02:49:59 +0000 (21:49 -0500)]
make Session::rt_set_monitoring() conform to new Track API

8 years agoprovide route solo isolate and solo safe automation controls
Paul Davis [Mon, 1 Feb 2016 02:49:18 +0000 (21:49 -0500)]
provide route solo isolate and solo safe automation controls

8 years agoadd new automation type enums
Paul Davis [Mon, 1 Feb 2016 02:48:32 +0000 (21:48 -0500)]
add new automation type enums

8 years agomake Track::set_monitoring() use a GroupControlDisposition; expose an AutomationContr...
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

8 years agoadd a new constructor for RouteAutomationControllable that takes a ParameterDescriptor
Paul Davis [Mon, 1 Feb 2016 02:45:36 +0000 (21:45 -0500)]
add a new constructor for RouteAutomationControllable that takes a ParameterDescriptor

8 years agobreak out Route controllables code into its own source module
Paul Davis [Sun, 31 Jan 2016 18:20:04 +0000 (13:20 -0500)]
break out Route controllables code into its own source module

8 years agomackie: partially working trackview submode.
Paul Davis [Sun, 31 Jan 2016 18:16:22 +0000 (13:16 -0500)]
mackie: partially working trackview submode.

More controls/pots to come

8 years agomackie: fix bug that prevents global view mode from working without first banking
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

8 years agomackie: fix some awful cut-n-paste errors
Paul Davis [Sun, 31 Jan 2016 17:58:46 +0000 (12:58 -0500)]
mackie: fix some awful cut-n-paste errors

8 years agomackie: remove Trim pot mode, and add skeleton for TrackView subview mode
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

8 years agoMackie protocol: XTouch profile with expanded editing options
Ben Loftis [Sun, 31 Jan 2016 17:21:47 +0000 (11:21 -0600)]
Mackie protocol: XTouch profile with expanded editing options

8 years agomackie: strengthen behaviour of clear solo button
Paul Davis [Sun, 31 Jan 2016 16:36:46 +0000 (11:36 -0500)]
mackie: strengthen behaviour of clear solo button

8 years agomackie: make replace (finish-range) LED flash at the right time
Paul Davis [Sun, 31 Jan 2016 16:36:31 +0000 (11:36 -0500)]
mackie: make replace (finish-range) LED flash at the right time

8 years agomackie: make nudge work as modifier and on its own
Paul Davis [Sun, 31 Jan 2016 16:17:23 +0000 (11:17 -0500)]
mackie: make nudge work as modifier and on its own

8 years agomackie: hard-code drop+replace buttons to start/finish-range-from-playhead
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

8 years agomackie: make marker button work as Mackie intends it (as a modifier for rewind/ffwd)
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)

8 years agomackie: add "clean" method to invoke GUI actions from button events, in code
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

8 years agomackie: shift-stop additionally requests MIDI Panic, as well as regular stop
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

8 years agoMackie Control: Make Monitor send not show in Sends subview.
Len Ovens [Sun, 31 Jan 2016 05:05:45 +0000 (21:05 -0800)]
Mackie Control: Make Monitor send not show in Sends subview.

8 years agoMackie protocol: Fix stuck-on Read LED.
Ben Loftis [Sun, 31 Jan 2016 03:38:18 +0000 (21:38 -0600)]
Mackie protocol: Fix stuck-on Read LED.

8 years agoAdd track select buttons to Launchkey map.
Ben Loftis [Sat, 30 Jan 2016 17:18:56 +0000 (11:18 -0600)]
Add track select buttons to Launchkey map.

8 years agoSurfaces with separate meters should meter even when stopped.
Ben Loftis [Sat, 30 Jan 2016 15:46:37 +0000 (09:46 -0600)]
Surfaces with separate meters should meter even when stopped.

8 years agomackie: remove mention of "blinkers" concept
Paul Davis [Fri, 29 Jan 2016 23:40:56 +0000 (18:40 -0500)]
mackie: remove mention of "blinkers" concept

8 years agomackie: basically (fully?) operation fader automatio control for first selected route
Paul Davis [Fri, 29 Jan 2016 23:37:03 +0000 (18:37 -0500)]
mackie: basically (fully?) operation fader automatio control for first selected route

8 years agomackie: initial attempt at making automation-related buttons set fader automation...
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

8 years agouse new selection API to avoid double signal when a track or tracks are SET as the...
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

8 years agomodify Selection API to provide (default-valued) "with_signal" argument to all :...
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().

8 years agomackie: if a subview mode is not OK because there's no selection, show no message
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

8 years agoNOOP: change brace placement to avoid confusing emacs
Paul Davis [Fri, 29 Jan 2016 19:48:14 +0000 (14:48 -0500)]
NOOP: change brace placement to avoid confusing emacs

8 years agomackie: make group button (appear) to do something
Paul Davis [Fri, 29 Jan 2016 19:47:40 +0000 (14:47 -0500)]
mackie: make group button (appear) to do something

8 years agoMackie protocol: More LED indicator fixes.
Ben Loftis [Fri, 29 Jan 2016 20:26:08 +0000 (14:26 -0600)]
Mackie protocol: More LED indicator fixes.

8 years agomixbus: don't assert(ch_post()) in case we use various methods on "odd" Routes in...
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

8 years agomixbus: vpot press in non-subview mode should toggle master bus send
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

8 years agoadd new Route API ::master_send_enable_controllable() to provide generic access to...
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

8 years agomackie: in Sends subview mode, the enable control for the send should be looked upin...
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

8 years agoButton::AudioInstruments should not be lit without good reason.
Ben Loftis [Fri, 29 Jan 2016 17:27:54 +0000 (11:27 -0600)]
Button::AudioInstruments should not be lit without good reason.

8 years agomackie: redesign display logic entirely
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.

8 years agoAnother attempt fixing crash at exit on windows.
Robin Gareus [Fri, 29 Jan 2016 17:22:57 +0000 (18:22 +0100)]
Another attempt fixing crash at exit on windows.

8 years agoMackie Protocol: HasSeparateMeters flag for X-Touch devices
Ben Loftis [Fri, 29 Jan 2016 16:31:47 +0000 (10:31 -0600)]
Mackie Protocol: HasSeparateMeters flag for X-Touch devices

8 years agoAdded Behringer X-Touch device files.
Ben Loftis [Fri, 29 Jan 2016 16:10:17 +0000 (10:10 -0600)]
Added Behringer X-Touch device files.

8 years agomackie: fix Global View button function
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()

8 years agomackie: don't overload "Audio Instruments" and "Instruments" buttons.
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

8 years agomackie: use Route::send_name() rather than Route::nth_send()
Paul Davis [Fri, 29 Jan 2016 04:03:55 +0000 (23:03 -0500)]
mackie: use Route::send_name() rather than Route::nth_send()

8 years agomackie: fix display of send level value
Paul Davis [Fri, 29 Jan 2016 04:03:02 +0000 (23:03 -0500)]
mackie: fix display of send level value

8 years agoadd new API to Route to get name of "well-known" nth-send
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

8 years agofix device-list update concurrency issue.
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.

8 years agoBuses and Auxes are slightly different view-filters in Mixbus
Ben Loftis [Thu, 28 Jan 2016 23:21:42 +0000 (17:21 -0600)]
Buses and Auxes are slightly different view-filters in Mixbus

8 years agoprevent bank/channel switching past the end of the available routes; do nothing when...
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

8 years agomackie: improvements to display when switching subview modes
Paul Davis [Thu, 28 Jan 2016 20:08:19 +0000 (15:08 -0500)]
mackie: improvements to display when switching subview modes

8 years agomake Send button light appropriately
Paul Davis [Thu, 28 Jan 2016 19:01:14 +0000 (14:01 -0500)]
make Send button light appropriately

8 years agoEditing from a control surface must have the ability to ignore mouse location.
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.

8 years agoUse visible playhead location for editing during a jog-wheel event.
Ben Loftis [Thu, 28 Jan 2016 19:42:50 +0000 (13:42 -0600)]
Use visible playhead location for editing during a jog-wheel event.

8 years agoCenter the playhead for stationary_playhead playback.
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.

8 years agoInitialize Editor::clicked_selection to prevent programming error dialog/exit
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.

8 years agoChange duplicate range to use time range/s rather than a single region
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

8 years agoAdd Playlist::duplicate_range/s utility methods
Tim Mayberry [Wed, 27 Jan 2016 13:04:33 +0000 (23:04 +1000)]
Add Playlist::duplicate_range/s utility methods

8 years agomackie: fix subview mode logic
Paul Davis [Thu, 28 Jan 2016 00:05:47 +0000 (19:05 -0500)]
mackie: fix subview mode logic

8 years agomackie: clean up (some) interactions between subview mode and selection
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

8 years agoFix AU port-name encoding.
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.

8 years agoFix µ-iness.
Robin Gareus [Wed, 27 Jan 2016 22:39:35 +0000 (23:39 +0100)]
Fix µ-iness.

8 years agoUse proper UTF8 file-names during export.
Robin Gareus [Wed, 27 Jan 2016 21:57:31 +0000 (22:57 +0100)]
Use proper UTF8 file-names during export.

8 years agoremove debug output
Paul Davis [Wed, 27 Jan 2016 21:26:50 +0000 (16:26 -0500)]
remove debug output

8 years agomonitor send does not count in Route::nth_send()
Paul Davis [Wed, 27 Jan 2016 21:26:41 +0000 (16:26 -0500)]
monitor send does not count in Route::nth_send()

8 years agomackie: semi-working Sends subview mode
Paul Davis [Wed, 27 Jan 2016 19:15:41 +0000 (14:15 -0500)]
mackie: semi-working Sends subview mode

8 years agono need for multiple send level/enable parameter types
Paul Davis [Wed, 27 Jan 2016 19:15:34 +0000 (14:15 -0500)]
no need for multiple send level/enable parameter types

8 years agoremove mackie send pot mode (subview mode for sends coming up)
Paul Davis [Wed, 27 Jan 2016 17:41:01 +0000 (12:41 -0500)]
remove mackie send pot mode (subview mode for sends coming up)