Paul Davis
1e8b2c521c
provide a better method to decide if a trigger(slot) is occupied
...
This is necessary with clip recording because for some short time after recording,
a trigger may be playable despite not yet having a region.
libs edition.
2024-10-17 07:44:32 -06:00
Paul Davis
b21dd1212e
redesign API and internals of CoreSelection for more universality
...
We now have two basic methods for CoreSelection
* when selecting a stripable, use ::select_stripable_and_maybe_group() with
appropriate arguments to cover the group selection aspects.
* when selecting an automation control that is part of a stripable, call
::select_stripable_with_control()
The old, more simply named methods (set/add/toggle etc.) have all been
made private, and their internal implementations changed somewhat.
This commit includes changes to control surfaces that use CoreSelection directly.
2024-08-02 11:50:21 -06:00
Robin Gareus
fa6fbbf810
Fix ctrl surface shutdown sequence
...
Tear down GUI before stopping event loop, this fixes
a crash on windows (and perhaps a rare crash on other OS).
2024-07-11 19:19:21 +02:00
Paul Davis
58652f6268
launchpad pro: use "first fader" concept from lpx
...
we control the CC number sent by launchpad faders, and 0x20 is too large
because it causes the faders to overlap with some of the CC values
sent by RHS pads. Parametize the first fader and use it everywhere
2023-11-06 12:33:36 -07:00
dominik martinez
93a6849bdd
lppro: Don't unbang trigger until pad is released
...
This was causing issues with cues when clips were set to gate triggering. A pad
long press was causing the clip to release. Additionally, remove an extra timer
that was being set.
2023-11-06 10:31:22 -07:00
Paul Davis
638509738d
launchpads: edge buttons are supposed to use CC not note messages
...
Apparently the LP Pro responds to either, but the LP X does not
2023-10-28 17:48:33 -06:00
Paul Davis
f29130fc7c
lpp: prefer dom2's approach - no connect unless in & out are present
2023-10-14 11:22:34 -06:00
Paul Davis
b8a330c1bf
lpp: fix more "eclipse induced" stupidity
2023-10-14 11:20:57 -06:00
Paul Davis
7028450ea0
fix LPPro crash if device is not present
2023-10-14 10:20:05 -06:00
Paul Davis
1d6c2a946d
second attempt at fixing the launchpad pro port name mess
...
It turns out that slightly older versions of ALSA create different "pretty"
port names for USB MIDI devices than slightly newer ones. The new versions
use names that match those seen on other platforms.
This means that to do port matching on Linux now requires a regexp
to match the possible alternatives. This matters much more for the LPP,
which has 3 input ports and 3 output ports, than it does for most devices
that have a single input and single output, and we can "find" the ports
just using simple string searching
2023-10-13 21:16:27 -06:00
Paul Davis
da4d16b1f2
launchpad pro: remember to destroy GUI to avoid use-after-free in its connection handler
2023-10-13 09:47:22 -06:00
Paul Davis
e61c1f6993
launchpad pro: use regexes more extensively to find ports to connect to
...
Hopefully this works for ALSA, Windows and macOS, whereas the previous version worked only
for JACK1
2023-10-12 21:19:21 -06:00
Paul Davis
bebe6587a2
tweak launchpad pro port name for probe to be x-platform
2023-10-07 11:43:07 -06:00
Paul Davis
4352f89ff0
align launchpad pro surface protocol name
2023-09-11 17:02:46 -06:00
Paul Davis
b440488295
launchpad pro: provide velocity info when launching clips/triggers
2023-09-08 14:41:21 -06:00
Paul Davis
3675f8f444
launchpad pro: remove debug output
2023-09-06 14:46:24 -06:00
Paul Davis
6d9c47c920
launchpad pro: only light Sends button if the selected stripable has 1+ sends
2023-09-06 14:46:24 -06:00
Paul Davis
1ec966d964
launchpad pro: allow clear+cue buttons to ... clear a cue
2023-09-06 14:46:24 -06:00
Paul Davis
5223d05854
launchpad pro: various improvements and fixes
2023-09-04 19:41:25 -06:00
Paul Davis
864b660abe
lppro: working send faders, some work on color & pulse for select buttons
2023-08-30 16:06:14 -06:00
Paul Davis
e664acc16e
lppro: working pan fader controls
2023-08-30 16:06:14 -06:00
Paul Davis
75802cc47b
lppro: momentary mode for all fader layouts
2023-08-30 16:06:14 -06:00
Paul Davis
ee0d5cfc40
lppro: working gain faders
2023-08-30 16:06:14 -06:00
Paul Davis
f5f48b421e
lppro: get long press working, add undo/redo/metronome
2023-08-30 16:06:14 -06:00
Paul Davis
9ee7c33737
lppro: solo, mute, rec-enable basics
2023-08-30 16:06:14 -06:00
Paul Davis
a6e9d6ecd1
lppro: fix selection button color when "off"
2023-08-30 16:06:14 -06:00
Paul Davis
784fa82081
lppro: selection enabled and displayed
2023-08-30 16:06:13 -06:00
Paul Davis
a49c961189
lppro: handle new slots and new routes and improve color display
2023-08-30 16:06:13 -06:00
Paul Davis
f3861a79b6
lppro: more work on displaying triggers, including return of the color map
2023-08-30 16:06:13 -06:00
Paul Davis
1ea104eac1
lppro: fix invalidators
2023-08-30 16:06:13 -06:00
Paul Davis
5cfa881fa9
lppro: more state tracking, stop clip handling etc.
2023-08-30 16:06:13 -06:00
Paul Davis
9fa2fccb5c
lppro: track trigger state changes
2023-08-30 16:06:13 -06:00
Paul Davis
fef1cfa83b
lppro: pads launch clips
2023-08-30 16:06:13 -06:00
Paul Davis
2f9fd8e288
launchpad pro: basics of pad/button handling, complete with cue launch and transport control
2023-08-30 16:06:13 -06:00
Paul Davis
7406ad01bd
lppro: continuing adventures with shadow ports and pad maps
2023-08-30 16:06:13 -06:00
Paul Davis
1d1ba186b9
lppro: reorder x,y <-> note to put upper left at 0,0
...
This seems like more work than it should be
2023-08-30 16:06:13 -06:00
Paul Davis
8209cb0ab5
launchpad pro: remove color map; implement note/x,y mapping
2023-08-30 16:06:13 -06:00
Paul Davis
860f354e98
continuing to try to debug LPP initialization in DAW mode
2023-08-30 16:06:13 -06:00
Paul Davis
054a09b567
launchpad pro: full communication and note/pad mapping functional
2023-08-30 16:06:13 -06:00
Paul Davis
36ada549b2
lppro: scroll text method (doesn't seem to work) and new sysex header vector
2023-08-30 16:06:13 -06:00
Paul Davis
7e0315bc5e
lppro: working mode setting and control
2023-08-30 16:06:13 -06:00
Paul Davis
13508efef3
lpp: successfully enter programmer mode
2023-08-30 16:06:13 -06:00
Paul Davis
b93385e9ae
lppro: steps to an ecology of ... no wait, just some stuff
2023-08-30 16:06:13 -06:00
Paul Davis
9d153af72d
image for launchpad pro "gui"
2023-08-30 16:06:13 -06:00
Paul Davis
3fa15d9162
skeleton for launchpad pro support
2023-08-30 16:06:13 -06:00