06b2eb1c27
Explicitly use OSX
...
Previously this was inherited via PBD.
On MacOS/X, this adds
"-undefined dynamic_lookup -flat_namespace"
and various "-framework .." options to linkflags
Without this flag, .dylibs fail to link usually because
of missing `-lintl` (Undefined symbols: "_libintl_dgettext")
On other systems this is a NO-OP:
CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX
are only set on the darwin platform.
2020-01-25 04:07:41 +01:00
3c00048b0c
Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
...
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
2020-01-18 08:49:18 -07:00
52aa405ce3
use new Session API to deal with transport state
...
Transition to use BasicUI button state API to come
2019-12-29 18:43:51 -07:00
e0d5c1426c
NO-OP: fix some Wimplicit-fallthrough
...
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.
see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-09-18 17:37:54 +02:00
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log
2019-08-03 15:53:18 +02:00
Johannes Mueller
ce47ec411a
Make use of ActionModel::build_custom_action_combo()
2019-04-20 22:36:51 +02:00
Johannes Mueller
73f8b8d982
Use ActionModel::build_action_combo() for Control Surfaces that need it
2019-04-20 15:25:32 +02:00
Johannes Mueller
5b7bcec529
Use ActionModel API in the Control Surfaces that can make use of it
2019-04-20 15:25:32 +02:00
acbd12c885
fix all surfaces' available action menus
...
Note: this replicated code is ridiculous
2019-03-20 14:23:23 -07:00
94d859e30d
ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 2 (surface support)
2019-03-20 11:15:34 -07:00
23a98e5f4d
remove references to "Editor_menus" which is an action that no longer exists
2019-02-16 13:12:45 -07:00
56e950b189
rename Main_menu action to Main menu
...
So that if it ever does show up in a list, it looks nice
2019-02-16 13:05:41 -07:00
00df619d21
use ActionManager namespace, rather than ActionMap objects
2018-12-10 08:34:01 -05:00
d76589d90f
FP8/16: include makeup gain control
2018-09-28 16:19:40 +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
11d2077b43
FP8/16: Update Plugin List when Selection changes.
2018-01-27 20:56:13 +01:00
0aa0d49a4d
FP8/16: Don't show Channelstrip as Plugin, use well-known API only
2018-01-27 20:53:31 +01:00
d785883836
Fix FP16 Solo (0x53 is mapped to encoder-press, 0x56 to loop)
2018-01-23 19:00:18 +01:00
5a23719da3
FP8/16: Ignore "black" a strip color, always light select-button
2017-12-21 02:30:01 +01:00
1deb6525b8
FP8/16 fix meter + no-pan display mode
2017-12-21 02:30:01 +01:00
c0d333ba9c
FP8/16 subscribe to panner changes (add/remove channel)
2017-12-21 02:30:01 +01:00
e921088ee8
Fix fp16 encoder (misleading doc on fp8)
2017-12-19 17:56:57 +01:00
f9d7a3720d
Fix faderport-16 touch on/off (fixes faders 9..16)
2017-12-19 03:50:07 +01:00
d34ae43931
Fix FP8/16 port-names
2017-12-13 23:44:39 +01:00
26a59261fe
Fix FP16 fader-touch release for faders 9..16
2017-12-13 23:11:37 +01:00
ae0dd7c209
Fix FP16 select button 10..16
2017-12-13 21:59:22 +01:00
bac627d0be
Add FP16 control-surface
2017-12-12 14:10:07 +01:00
7671a0f675
Namespace FP8, FP16 to avoid symbol conflicts
2017-12-12 14:09:40 +01:00
e3340cdf01
Prepare for FaderPort16 (ctrl-protocol)
2017-12-12 14:08:45 +01:00
f87e996013
FP8: unhardcode IDs and strip-count
2017-10-19 16:57:26 +02:00
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
c4a5ad33a5
Initial support of Latch for some ctrl-surfaces
2017-09-18 11:40:52 -04:00
766113a024
FP8: call directly into session.
2017-09-18 17:24:57 +02:00
057fd9259e
FP8: add mode to reset gain to unity
...
Re-selecting the most recently selected (blinkig select button) strip
returns gain to unity (0dB)
2017-09-09 21:46:26 +02:00
2d60a69c2d
Consolidate ctrl surface code
2017-08-05 01:28:11 +02:00
b5e0b5b09f
PortManager::unregister_port() must be called with process lock
...
This fixes "Failed to register <surface> port" when re-loading a session.
2017-07-28 20:15:15 +02:00
2fa34614d0
Remove unnecessary tests for touch-state
2017-07-25 20:16:04 +02:00
fde0e293a3
Remove unused "mark" parameter from stop_touch() API
2017-07-24 01:59:18 +02:00
b1c73b11fc
FP8: use separate bank offsets per MixMode
2017-07-19 03:04:58 +02:00
601604972c
FP8: Fix Mixbus solo-state and indicate implicit solo (blink)
2017-07-19 01:52:14 +02:00
4922d9f941
FP8: save/restore "two line text" option
2017-07-17 22:59:12 +02:00
b732aa2ca1
fix void return with value (amend d5d297c4
)
2017-07-06 18:01:49 +02:00
d5d297c407
Fix FP8 shutdown sequence (amend d421e56fc
)
2017-07-06 16:55:02 +02:00
b87bec3200
FP8: "Link" mode works with AutomationControl only.
2017-07-03 19:56:16 +02:00
ebc8e352bf
FP8: toggle editor/mixer (now that "link" button is used)
...
..and some TODO notes.
2017-07-03 01:42:36 +02:00
b942c76df9
FP8: properly control enum+integer parameters.
2017-07-02 21:05:42 +02:00
0310f89971
FP8: Implement "Control-Link"
2017-07-02 18:19:13 +02:00
34c0e3f1c8
FP8: plugin GUI display options
2017-07-02 02:06:48 +02:00
d1d6e696aa
FP8: fix 2-line text
2017-07-02 01:57:21 +02:00
58beb02024
FP8: Use Mixer-Order
2017-07-01 17:11:55 +02:00
d421e56fc0
FP8: Clear input port on close. Fixes crash when switching snapshots
...
The midi_input_handler for the AsyncMIDIPort is connected to the
main event-loop. Events may still be delivered after the surface was
destroyed.
That by itself is not harmful, unless a given message produces a reply:
The _output_port is already gone, FaderPort8::tx_midi crashes.
2017-07-01 02:55:47 +02:00
389d2cab36
FP8: Scribble-strip display preferences
2017-06-30 19:55:03 +02:00
cd728fdd73
FP8: Allow to select Plugin Presets
2017-06-30 19:13:55 +02:00
1fe1d17ef8
FP8: don't allow to toggle Channelstrip bypass/enable
2017-06-30 02:31:36 +02:00
773c31afc0
FaderPort8 updates
...
* use 2 lines for Plugin Parameter Names
* Expose Plugin Bypass/Enable per plugin
- Shift + Select in Plugin Select Mode
- Bypass Button in Plugin Parameter Edit Mode
2017-06-30 01:59:12 +02:00
10db824461
Use Stripable::Sorter in libs
2017-06-17 04:36:28 +02:00
23554fd185
FP8: use proper API to detect automation-playback
...
The custom code didn't take touch + touching into account when
another surface was touching automation.
2017-06-13 18:09:53 +02:00
c69049a853
Fix a compiler warning (optimized builds)
2017-06-12 17:20:41 +02:00
3d26a29e8a
Sanitize "well-known" ctrl API
2017-05-14 00:17:11 +02:00
82e6de3a3f
The #end should be #endif
2017-05-13 08:43:33 -07:00
6a28e02799
More tweaks to FP8 layout for 32C
2017-05-13 07:54:08 -05:00
3efe5bde5f
Update FP8: new controllables, clarify 32C bell-shape labels
2017-05-13 02:02:54 +02:00
eb3f50e15c
change the way ControlProtocols (control surfaces) are notified and handle Stripable selection changes
...
The Editor continues to notify them, but via a direct call to ControlProtocolManager, not a signal.
The CP Manager calls the ControlProtocol static method to set up static data structures holding
selection info for all surfaces and then notifies each surface/protocol that selection has changed.
2017-05-12 14:51:39 +01:00
417f63a29e
FP8: use new libardour API
2017-05-05 17:08:42 +02:00
8288fa40b9
FP8: ignore inactive muted tracks w/mute-clear
2017-05-05 15:36:08 +02:00
3a75e7c53b
FP8: solo+mute undo
...
Eventually this should be moved into libardour: Mixer undo history.
the tentative solution is specifically ifdef'ed FP8_MUTESOLO_UNDO.
2017-05-05 15:26:52 +02:00
a283784cce
FP8: channel-navigation/scroll select track on encoder press
2017-04-29 12:38:53 +02:00
de45ac0e76
FP8: snap-to scroll tracks, both editor+mixer
2017-04-29 12:38:53 +02:00
ea1769d711
Resolve potential variable name ambiguity for older compilers
2017-04-21 16:05:24 +02:00
b6c222555f
NO-OP: re-order code, add comments
2017-04-20 17:19:03 +02:00
8add4eefad
FP8: some code comments and cleanup
2017-04-20 16:06:47 +02:00
0656d5ab1a
Use XMLNode::get/set_property API in Faderport surface
2017-04-19 09:36:59 +10:00
362303f793
FP8: Fix sort-order
2017-04-18 16:09:44 +02:00
5dce10500c
FP8: handle backend changes + reconnect
...
When the backend is dropped or changed, on engine-restart
the connection_handler() re-establishes already connected ports.
There's no disconnect when the backend dies or is hard-stopped.
2017-04-18 15:14:00 +02:00
3243e17c71
FP8: allow to re-initialize the Strips w/o restart
2017-04-18 15:01:54 +02:00
bce08cf4f3
FP8: experiment with selection-mode
2017-04-18 13:39:42 +02:00
629b5e0446
clear + re-init faderport at disconnect
2017-04-18 03:20:33 +02:00
8e5a972a24
Managed to trigger an assert()
...
Create new Mixbus session, initially incrementally adding Busses to
the session triggers a series of "assign_stripables()"
2017-04-17 23:50:11 +02:00
84804f7d90
cont'd FP8 tweaks
...
* include Mixbus PRE plugin on Mixbusses
* Mixbus master-assign on right-most "S" button
* fix parameter-banking and assignment
* fix typo in 029e963fb
(fader range constaint)
2017-04-17 20:06:00 +02:00
029e963fb5
FP8: limit fader range
...
In case of VCA masters or otherwise the value can exceed the max
+6dB and internal_to_interface() returns a value > 1.0 which cannot
be represented on the physical fader (MIDI &0x7f wraps)
2017-04-16 23:48:06 +02:00
67f2e4b866
FP8: add metronome level reset
2017-04-16 17:18:23 +02:00
8a3d9317bd
FaderPort8 details:
...
* make shift buttons equivalent
* 2 x stop: move to session-start
* RTZ: return to zero (not session-start)
* in Pan mode: encoder controls pan-width (w/o shift)
2017-04-15 21:20:51 +02:00
18dcd4d7ff
FP8: Configuration UI layout & design (add image, separators)
2017-04-15 15:19:58 +02:00
60c12df517
Fondle Port 8
...
* only start touch on parameters in "Touch" mode.
* fix "mute clear" (also affect mute-automation in touch)
2017-04-14 23:03:31 +02:00
74c8ba5c9a
FP8: assign toggled plugin-parameters to buttons
2017-04-14 23:03:31 +02:00
7197231f4c
FP8: Allow binding "Select" to a controllable or functor
2017-04-14 23:03:31 +02:00
43d9feabd3
cont'd FP8 refinement & details
...
* Access pan-width via shift, press encoder to reset
* Add "touch-start" to encoder events
* Show plugin-param value-bar
* Sends & well-known ctrls: follow strip-selection
* map "select" to strip-selection in Sends-mode
* Fader group override (via shift)
* Prev/Next button tweaks.
* consistent enum naming ...
2017-04-14 19:56:42 +02:00
d43a23fe28
Faderport8 control surface support
2017-04-13 21:21:59 +02:00