13
0
Commit Graph

51 Commits

Author SHA1 Message Date
Mads Kiilerich
48fcb30608 wscript: fix whitespace formatting
No tabs and no trailing spaces.
2024-10-20 19:52:14 -06:00
Mads Kiilerich
140670541f Use .inc.h for #include files that not are plain headers
Regular .h files *should* be self-contained and independent of previous
includes and guarded to only include once. Make it clear which files
that *doesn't* apply for at all.
2024-10-20 03:11:53 +02:00
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
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
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
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
ad51c7c2ba
Localize stripped down gtk2
This is intended mainly for GNU/Linux distros who will remove
GTK2 support in the near future.
2024-01-06 21:52:48 +01:00
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
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
Mads Kiilerich
88cecdfaef wscript: drop repeated autowaf.set_options - it is enough to set at top level 2023-10-15 10:47:16 -06:00
Mads Kiilerich
94875d13ae wscript: drop unused "mandatory variables" 'top' and 'out' in libs
New files missed in d220f477ed.
2023-10-15 10:47:16 -06:00
f29130fc7c lpp: prefer dom2's approach - no connect unless in & out are present 2023-10-14 11:22:34 -06:00
b8a330c1bf lpp: fix more "eclipse induced" stupidity 2023-10-14 11:20:57 -06:00
7028450ea0 fix LPPro crash if device is not present 2023-10-14 10:20:05 -06:00
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
da4d16b1f2 launchpad pro: remember to destroy GUI to avoid use-after-free in its connection handler 2023-10-13 09:47:22 -06:00
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
bebe6587a2 tweak launchpad pro port name for probe to be x-platform 2023-10-07 11:43:07 -06:00
4352f89ff0 align launchpad pro surface protocol name 2023-09-11 17:02:46 -06:00
b440488295 launchpad pro: provide velocity info when launching clips/triggers 2023-09-08 14:41:21 -06:00
3675f8f444 launchpad pro: remove debug output 2023-09-06 14:46:24 -06:00
6d9c47c920 launchpad pro: only light Sends button if the selected stripable has 1+ sends 2023-09-06 14:46:24 -06:00
1ec966d964 launchpad pro: allow clear+cue buttons to ... clear a cue 2023-09-06 14:46:24 -06:00
5223d05854 launchpad pro: various improvements and fixes 2023-09-04 19:41:25 -06:00
864b660abe lppro: working send faders, some work on color & pulse for select buttons 2023-08-30 16:06:14 -06:00
e664acc16e lppro: working pan fader controls 2023-08-30 16:06:14 -06:00
75802cc47b lppro: momentary mode for all fader layouts 2023-08-30 16:06:14 -06:00
ee0d5cfc40 lppro: working gain faders 2023-08-30 16:06:14 -06:00
f5f48b421e lppro: get long press working, add undo/redo/metronome 2023-08-30 16:06:14 -06:00
9ee7c33737 lppro: solo, mute, rec-enable basics 2023-08-30 16:06:14 -06:00
a6e9d6ecd1 lppro: fix selection button color when "off" 2023-08-30 16:06:14 -06:00
784fa82081 lppro: selection enabled and displayed 2023-08-30 16:06:13 -06:00
a49c961189 lppro: handle new slots and new routes and improve color display 2023-08-30 16:06:13 -06:00
f3861a79b6 lppro: more work on displaying triggers, including return of the color map 2023-08-30 16:06:13 -06:00
1ea104eac1 lppro: fix invalidators 2023-08-30 16:06:13 -06:00
5cfa881fa9 lppro: more state tracking, stop clip handling etc. 2023-08-30 16:06:13 -06:00
9fa2fccb5c lppro: track trigger state changes 2023-08-30 16:06:13 -06:00
fef1cfa83b lppro: pads launch clips 2023-08-30 16:06:13 -06:00
2f9fd8e288 launchpad pro: basics of pad/button handling, complete with cue launch and transport control 2023-08-30 16:06:13 -06:00
7406ad01bd lppro: continuing adventures with shadow ports and pad maps 2023-08-30 16:06:13 -06:00
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
8209cb0ab5 launchpad pro: remove color map; implement note/x,y mapping 2023-08-30 16:06:13 -06:00
860f354e98 continuing to try to debug LPP initialization in DAW mode 2023-08-30 16:06:13 -06:00
054a09b567 launchpad pro: full communication and note/pad mapping functional 2023-08-30 16:06:13 -06:00
36ada549b2 lppro: scroll text method (doesn't seem to work) and new sysex header vector 2023-08-30 16:06:13 -06:00
7e0315bc5e lppro: working mode setting and control 2023-08-30 16:06:13 -06:00
13508efef3 lpp: successfully enter programmer mode 2023-08-30 16:06:13 -06:00
b93385e9ae lppro: steps to an ecology of ... no wait, just some stuff 2023-08-30 16:06:13 -06:00
9d153af72d image for launchpad pro "gui" 2023-08-30 16:06:13 -06:00