0a2377e9b4
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.
2016-01-29 12:27:46 -05:00
1972cf966e
Another attempt fixing crash at exit on windows.
2016-01-29 18:22:57 +01:00
b40717604c
Mackie Protocol: HasSeparateMeters flag for X-Touch devices
2016-01-29 10:31:47 -06:00
c064135436
Added Behringer X-Touch device files.
2016-01-29 10:10:17 -06:00
8aaa027ed3
mackie: fix Global View button function
...
Bug introduced changing logic for set_view_mode()
2016-01-28 23:20:03 -05:00
d0668e5511
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
2016-01-28 23:05:28 -05:00
e862be7300
mackie: use Route::send_name() rather than Route::nth_send()
2016-01-28 23:05:28 -05:00
f1ed01b97f
mackie: fix display of send level value
2016-01-28 23:05:28 -05:00
4a5b81a838
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
2016-01-28 23:05:28 -05:00
c0a843a905
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.
2016-01-29 01:12:53 +01:00
cf558ee18c
Buses and Auxes are slightly different view-filters in Mixbus
2016-01-28 17:21:42 -06:00
54c3c9e494
prevent bank/channel switching past the end of the available routes; do nothing when a view mode finds no matching routes
2016-01-28 16:27:33 -05:00
ea895efb97
mackie: improvements to display when switching subview modes
2016-01-28 15:08:26 -05:00
d19b1b64b1
make Send button light appropriately
2016-01-28 15:08:25 -05:00
3332633d19
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.
2016-01-28 13:46:33 -06:00
458a2b723c
Use visible playhead location for editing during a jog-wheel event.
2016-01-28 13:46:33 -06:00
893b51bda2
Center the playhead for stationary_playhead playback.
...
This avoids a visual discontinuity when playback is initiated after a jog-event.
2016-01-28 13:46:33 -06:00
aedde11862
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.
2016-01-28 13:42:37 +10:00
45e8bda65f
Change duplicate range to use time range/s rather than a single region
...
This should fix bugs #4980 , #4984 , #4986 and #6579
2016-01-28 12:25:16 +10:00
e6a33b818f
Add Playlist::duplicate_range/s utility methods
2016-01-28 12:25:16 +10:00
420206705d
mackie: fix subview mode logic
2016-01-27 19:05:47 -05:00
e63c805fe2
mackie: clean up (some) interactions between subview mode and selection
...
Also, stop Plugin button from doing anything, since it has nothing to do yet
2016-01-27 19:00:27 -05:00
d121e6bf15
Fix AU port-name encoding.
...
This allows us to revert ec8cf4e4
, maybe. After testing if
port-names are still properly displayed.
2016-01-28 00:00:47 +01:00
ec8cf4e4f5
Fix µ-iness.
2016-01-27 23:39:35 +01:00
b985f87a77
Use proper UTF8 file-names during export.
2016-01-27 22:58:59 +01:00
c61e5dbc18
remove debug output
2016-01-27 16:26:50 -05:00
7513176501
monitor send does not count in Route::nth_send()
2016-01-27 16:26:41 -05:00
66686a4e2a
mackie: semi-working Sends subview mode
2016-01-27 14:15:41 -05:00
8e585338e0
no need for multiple send level/enable parameter types
2016-01-27 14:15:34 -05:00
9b2af90328
remove mackie send pot mode (subview mode for sends coming up)
2016-01-27 12:41:01 -05:00
c9e85c91fe
return relevant AutomationControl for send_level_controllable() in Ardour
2016-01-27 11:38:14 -05:00
708d80029b
make Route::nth_send() and Route::nth_processor() be const
2016-01-27 11:37:54 -05:00
c79243c805
add stubs and enums to access "well-known" send controls
2016-01-27 11:16:22 -05:00
c01a4961b4
add Novation_LaunchKey25.map
2016-01-26 16:48:00 -06:00
d1c35636f0
satisfy some pedantic compilers, #6748
2016-01-26 15:14:55 +01:00
bfbf260eaf
when using InverseGroup for rec-enable, do not collect group members and pass them to a session RT event method
2016-01-25 22:10:43 -05:00
c338057b7b
NOOP: whitespace fixes
2016-01-25 22:08:47 -05:00
5fd07fe3af
when using InverseGroup for solo, do not collect group members and pass them to a session RT event method
2016-01-25 22:08:23 -05:00
64e90886b5
fix/improve logic for InverseGroup
...
the route group is "inactive for predicate" if EITHER the
group itself is inactive, or the predicate returns false.
2016-01-25 22:07:36 -05:00
7b6142ed99
when using InverseGroup, do not collect group members and pass them to a session RT event method
2016-01-25 22:06:41 -05:00
90d12b6d5a
faderport: add a few more sensible actions to the footswitch options
2016-01-25 15:11:47 -05:00
b02b6cc3cd
faderport: add footswitch combos to GUI to allow user control over what the switch does
2016-01-25 15:11:36 -05:00
5b7fa0b3c5
faderport: add footswitch button
2016-01-25 15:11:26 -05:00
2005891d40
use route gain control, not amp->gain()
2016-01-25 11:48:43 -05:00
dd32c05cda
GainMeter(Base) now has an explicit gain control given to it
2016-01-25 11:47:44 -05:00
22a20c7333
change exposed type of various objects' gain controls; remove Amp::gain() as a shortcut
2016-01-25 11:47:21 -05:00
452e39f8a3
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.
2016-01-25 17:44:22 +10:00
b6eab5ede5
deactivate plugin if connect_and_run returns an error
2016-01-24 03:22:19 +01:00
470255effa
add wrapper for ChanMapping::get()
...
The boolean "valid" is implicit, get() returns -1 (really UINT32_MAX)
This simplifies upcoming lua bindings
2016-01-24 03:21:24 +01:00
Robert Schneider
9bcd01c0a1
Added midi map file for AKAI MPK MINI
2016-01-23 15:07:55 +01:00