360261f110
replace ::cast_dynamic() with relevant ActionManager::get_*_action() calls
2018-12-12 11:12:48 -05:00
4b0f0f913b
fix Window->Common move for show-mixer
2018-12-10 18:40:16 -05:00
00df619d21
use ActionManager namespace, rather than ActionMap objects
2018-12-10 08:34:01 -05:00
9b2612f686
Make foldback bus match foldback sends namewise
...
to avoid confusion with listener sends or monitor bus
2018-11-12 22:30:32 -08:00
f27ca29d6c
Changed send/deliver role "Personal" to "Foldback" so bus type can match
2018-11-12 22:30:32 -08:00
e9013c0f99
OSC: New personal monitor buses no longer need to be hidden
2018-11-12 22:30:32 -08:00
1b2b3452cb
OSC: logic thinko fix
2018-11-12 22:30:32 -08:00
Jan Lentfer
fb1fe5ce30
LCXL: some final fixes
2018-11-11 19:52:37 +01:00
894145c527
OSC: specify which stiripable type we want
2018-11-07 17:00:16 -08:00
f7b67501a9
OSC: Allow non-cue surfaces to create personal send and ListenBus
2018-10-30 12:15:28 -07:00
777fe3c68f
Add personal monitor sends
2018-10-19 08:51:29 -07:00
897258f5f1
Fix scalar initialization of shared_ptr<>.
2018-10-18 04:15:47 +02:00
5e21b6633d
Option to hide send if aux is hidden
2018-10-17 15:59:00 -07:00
Jan Lentfer
05d3539591
LCXL: complete overhaul and Mixbus support
2018-10-17 15:14:59 +02:00
Térence Clastres
a33a5cdeaf
LCXL: Assign one callback function per Knob/Fader
2018-10-17 15:14:59 +02:00
1b7cb8aec4
OSC: personal monitor can hide the aux bus
2018-10-16 13:56:52 -07:00
87ab15c862
OSC: personal monitor send hidden follows aux hidden
2018-10-16 13:56:52 -07:00
8160fd1348
OSC: personal monitor should only send signal present on change
2018-10-16 13:56:52 -07:00
b35283caa1
OSC: allow personal monitor to add a send.
2018-10-14 21:20:57 -07:00
8ed33f1bc7
remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead
2018-10-14 22:06:11 -04:00
0f6e67a32f
Faderport(Classic): Add Record-PreRoll and Record-CountIn actions to the footswitch selections. Could make this menu access -any- action, but I think a short useful list of transport items is better in this case.
2018-10-07 10:10:03 -05:00
4c7e5dbc74
move away from "sync source" concepts
2018-10-05 14:15:02 -04:00
ccccac7a10
Fix the User button for Mixbus; we use it as a button, not a modifier.
2018-10-04 19:29:14 -05:00
b6b353d452
Handle generic-midi bindings per session.
...
This allows to special-cases session-specific control-surface state.
e.g. midi-learn.
Only restore midi-learned, session-specific, bindings when loading a
session with generic-midi enabled.
Also dis/re-enable generic-midi resets midi-learned, but no other
session-independent settings.
This also handles the edge case:
1) load global config, generic-midi = ON, w/ bindings.
state is remembered as cpi->state
2) load session-condig, generic-midi = OFF, cpi->state is retained
3) user enables the surface, cpi->state from (1) is applied.
-> invalid bindings applied -> fail
2018-10-04 02:30:21 +02:00
b519434744
Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
...
Stage 2 of 3 (more to follow)
2018-09-30 09:06:25 +01:00
d76589d90f
FP8/16: include makeup gain control
2018-09-28 16:19:40 +02:00
Albert Graef
65693a72a2
MCP: Fix up the feedback for the view selection buttons.
2018-09-27 11:31:13 -04:00
Albert Graef
38bccabeca
MCP: Allow the current bank to move right one channel even if this results in a partial bank.
...
Rationale: This change is trivial, but Ardour's behavior of refusing to move right one channel unless a full bank remains has been there for a long time, and there are probably good reasons for it. This design was likely conceived when all MCP-compatible devices had banks of 8 faders anyway. However, with the advent of affordable single-strip devices like the X-Touch ONE it becomes a real issue.
Single-strip devices can only access the first channel in the current bank, so relaxing this restriction is the easiest way to enable such devices to access all strips, while still maintaining the usual bank size of 8. Note that maintaining a bank size of 8 is beneficial even with single-strip devices for several reasons:
- It allows use of the bank switch buttons to flip through a large number of strips more quickly.
- It maintains compatibility with existing device descriptions. E.g., the X-Touch ONE can be used with the existing X-Touch device description without any ado.
- Most importantly, it maintains compatibility with other MCP-compatible controllers which do have 8 strips and may be connected to Ardour at the same time. E.g., one might want to use an X-Touch Mini, or even a full-size X-Touch along with the X-Touch ONE in some use cases. Changing the bank size to 1 affects all connected MCP devices, so you'd rather keep the bank size to 8 in such scenarios. (Ardour should preferably have separate bank size settings for each connected MCP device, but that isn't possible right now since only one MCP device description can be active at the same time.)
2018-09-27 11:31:13 -04:00
Albert Graef
936f6814ac
MCP: Fix up the feedback for the bank left/right buttons.
2018-09-27 11:31:13 -04:00
Jan Lentfer
e52c8e376a
LCXL: fix off by one cause by fader8master
2018-09-22 15:12:26 +02:00
Jan Lentfer
7d6c9c3085
LCXL: Fix a crash on exit
2018-09-22 15:12:26 +02:00
357361c89d
Fix --no-nls (4/5), i18n include order in libs/*
...
"i18n.h" needs to be included last (after any includes that may indirectly
pull in getext or libintl etc)
2018-09-21 19:05:39 +02:00
7390b88c2b
OSC: Allow personal monitor to change output connection
2018-09-18 15:39:14 -07:00
a96aa4e1fd
OSC: Personal monitoring can add a new aux
2018-09-10 09:58:15 -07:00
79f01bc889
Initial changes needed for building Mixbus (with MSVC) as version 5
...
(Mixbus itself will probably need extra changes)
2018-09-10 07:14:59 +01:00
2172337306
Add missing cast (NoteButton to TrackButton)
2018-09-06 23:03:55 +02:00
e1c58aad60
Fix an invalid conversion from 'int' to non-scalar.
2018-09-06 19:28:45 +02:00
Jan Lentfer
eff7a51de1
LCXL: Refactor code to use boost::shared_ptr
2018-09-04 18:55:49 +02:00
ed678aa2f9
Fix shared_ptr initialization
...
error: no matching function for call to
'boost::shared_ptr<ArdourSurface::Push2::Button>::shared_ptr(int)'
2018-09-03 13:38:37 +02:00
6e419a961e
use boost::shared_ptr<> to manage Button/Pad lifetimes in Push2 code
2018-09-02 13:23:57 -04:00
Térence Clastres
2a78f0a852
LCXL: Fix check if ports exist
2018-08-30 22:39:24 +02:00
9f30d14906
P2: Fix check if ports exist
2018-08-30 22:28:31 +02:00
Jan Lentfer
c3d0c80f68
LCXL: Fix two crashes
...
* fix a crash when accessing VCAs
* fix a crash when being at the end
of available stripables
* unify for-loop constructs
2018-08-29 23:40:26 +02:00
Jan Lentfer
fdbce2e8c8
LCXL: add visual feedback for sec button functions
...
also add some little fixes in regard
to fixing master fader on controller
fader no 8
2018-08-25 22:51:31 +02:00
3136b20847
Cleanup various design patterns.
...
* do not use implicit bool-to-int-cast
* avoid C++11 member initialization in header
* always use set and access methods, remove public variable
2018-08-24 16:55:00 +02:00
510a0314cf
move select-all-tracks,deselect-all,invert-selection to be global actions (and bindings)
2018-08-24 10:08:08 -04:00
Térence Clastres
6bd81ee3c7
Revert "LCXL: Fast skip to first/last stripable with left/right long press"
...
This reverts commit 27b05f4d8d
.
2018-08-22 22:40:57 +02:00
Térence Clastres
65cadf2cb6
LCXL: Make knobs' leds' color constant when controlling master bus
2018-08-22 22:33:00 +02:00
Térence Clastres
3f77c1245c
LCXL: track select: change from 1 strip at a time to whole bank
2018-08-22 22:33:00 +02:00
Jan Lentfer
266c5fbc16
LCXL: Mixbus secondary function for Ctrl buttons
...
In Mixbus holding Device and pressing
one (or many) of the Track Control buttons
will toggle the Master Assignment for the
corresponding track
2018-08-22 19:56:10 +02:00
Jan Lentfer
fa7c8f6013
LCXL: Add some Mixbus functionality
...
in the mixer mode secondary functions
(Device/Hold) of knobs per track
will map as follows:
Send A - trim (same as for Ardour)
Send B - HPF Freq
PAN - Compressor threshold
2018-08-22 19:56:10 +02:00
Jan Lentfer
d17b6c5eea
LCXL: save assignment of 8th fader in config
2018-08-22 19:52:09 +02:00
Jan Lentfer
b80e079353
LCXL: fix some more typos
2018-08-22 19:50:51 +02:00
Térence Clastres
27b05f4d8d
LCXL: Fast skip to first/last stripable with left/right long press
2018-08-19 01:37:35 +02:00
Térence Clastres
3da024b4b7
LCXL: fix crash when disabling the surface while having the GUI open
2018-08-19 00:27:12 +02:00
Jan Lentfer
74ad41f8d9
LCXL: Add configuration option for handling master
...
In the Controller's settings you can now
choose between two operation modes:
1) 8 track mode
2) 7 track plus master mode
In case 2) fader 8 is fixed on the master
2018-08-18 23:06:32 +02:00
Térence Clastres
51b5c01b8b
Add knob leds and refine colors
2018-08-18 20:49:17 +02:00
Jan Lentfer
c2b4f19612
LCXL: fix typos in function names
2018-08-18 18:12:18 +02:00
Jan Lentfer
5e67630b23
LCXL: add isolate solo as secondary function
...
Holding the Device button and press one
of the Track Focus button will toggle
solo isolation on the correspongind track
2018-08-18 18:12:18 +02:00
Jan Lentfer
4789147482
LCXL: split track focus button and led code
2018-08-18 18:12:18 +02:00
Térence Clastres
4122ff891c
Code styling: remove whitespaces between parenthesis
2018-08-15 18:48:32 -04:00
Térence Clastres
7c6c8ac270
Attempt to make some function's names more explicit
2018-08-15 18:48:32 -04:00
Térence Clastres
928a6ef4be
Fix track select right led wrong behaviour
2018-08-15 18:48:32 -04:00
Térence Clastres
cb0ae63fe2
Fix track buttons not working when selecting the last stripable
2018-08-15 18:48:32 -04:00
f88b557ce7
Remove some unused includes
2018-08-16 00:23:05 +02:00
Jan Lentfer
6434bf9dd3
LCXL: Reorganize knobs functions
...
Make the knobs work as printed on the controller
Holding the Device button will enable extra functionality:
Send A -> Trim Control
Pan -> Stereo Width
2018-08-13 22:10:47 +02:00
Jan Lentfer
d3e7fa0ebf
LCXL: implement mute, solo and record arm toggles
...
Holding the Device button and pressing one
of mute, solo and record arm will toggle
selected tracks (use Track Focus buttons)
accordingly.
2018-08-13 14:53:43 -04:00
Térence Clastres
dab2513d9f
Add pick-up mode and use it for knobs and faders
...
The pick up mode ignores new controller values until they match with the current setting of the stripable's ac
2018-08-13 13:57:06 -04:00
Térence Clastres
0d01a2abe9
Add Launch Control XL icon
2018-08-09 22:42:44 +02:00
Térence Clastres
740e075803
Turn off button led if it doesn't control a stripable
2018-08-09 22:13:14 +02:00
Térence Clastres
5276a9941b
Call switch_bank() and use button_track_mode() within it to init required LEDs
2018-08-09 21:38:56 +02:00
Térence Clastres
a9958840b0
Add reset method and use it during start-up/shutdown
2018-08-09 21:05:55 +02:00
Térence Clastres
2c460135c5
Add missing set_color(Off) in else statement
2018-08-09 21:05:55 +02:00
Térence Clastres
cbb0a33aa3
Correct formatting for if/else statements
2018-08-09 21:05:55 +02:00
Térence Clastres
24e4ba399c
Fix wrong note number offset
2018-08-09 21:05:51 +02:00
3064c5a675
fix button note number map lookup
2018-08-08 11:36:15 -04:00
ecfe1c2c67
emacs whitespace fixes
2018-08-07 10:49:33 -04:00
973c1cc61b
explicitly drop connections from destructor
2018-08-07 10:49:15 -04:00
120115aec0
don't use an invalidator when connecting an EventLoop object's methods to a signal
2018-08-07 10:48:43 -04:00
87b745face
fix uninitialized pointer error in launch control code
2018-08-07 10:44:56 -04:00
149dc68809
Fix invalid C++11isms: don't use of enum as class or namespace
2018-08-07 15:48:39 +02:00
8fa62f102e
Fix C++98 compatibility error
...
'>' should be '> >' within a nested template argument list
2018-08-07 15:44:30 +02:00
be51e617bb
LCXL: add missing request-buffer factory.
2018-08-07 15:40:30 +02:00
6d983d5f0b
Fix -Wnon-virtual-dtor
...
`struct ArdourSurface::LaunchControlXL::LED' has virtual functions
and accessible non-virtual destructor [-Wnon-virtual-dtor]
2018-08-07 15:36:22 +02:00
c4d25037c4
Fix invalid use of enum as class or namespace.
2018-08-07 15:34:03 +02:00
f0105dafc1
NO-OP: whitespace
2018-08-07 15:30:26 +02:00
Térence Clastres
8c7a1e004b
Add Launch Control XL control surface support
2018-08-07 04:16:09 +02:00
eb304fe4b8
FP2: Fix banking in NavChannel mode.
2018-08-01 11:35:35 -05:00
b61b1cd7aa
Tweak FP2/2018 Ctrl-Surface UI
2018-07-31 15:43:21 +02:00
cc2324e763
Tweak UI for Faderport2/2018
2018-07-31 15:32:26 +02:00
b30cd5f657
Fix Faderport8/16 support in the wake of FP2
2018-07-31 15:23:49 +02:00
948834bb1e
Add support for PreSonus Faderport2 (2018 model)
...
This is a cleaned-up, foward-ported version of Ben's
Mixbus patch (d6694c5b31).
2018-07-31 14:54:20 +02:00
1d61a3e17f
CC121: cycle track monitoring states
2018-07-12 21:43:49 +02:00
da6a6f1366
CC121: watch Track monitoring state
2018-07-12 21:42:57 +02:00
8004b9bb8e
OSC: custom mode should turn temp mode off
2018-07-06 08:09:03 -07:00
e1ce87956a
OSC: record tally should include master record
2018-07-06 08:08:29 -07:00
c2af992ac7
OSC: Use spill instead of collect
2018-07-06 07:35:24 -07:00
3322e6f5a5
OSC: make temp modes work with linked surfaces too
2018-07-05 23:24:30 -07:00
7af016b089
Prepare CC121 ctrl surface for Mixbus
...
- fix Panner
- implement touch-start when changing ctrls
- map some well-known ctrls (not yet ideal)
2018-07-05 16:49:01 +02:00
4b47a4c4cc
OSC: Set lowest select meter to -120 for mixbus
2018-07-04 19:18:38 -07:00