13
0
Commit Graph

2511 Commits

Author SHA1 Message Date
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
144756e602 launchpad: extend Dominik's LP Pro pad patch to LPX/Mini 2023-11-06 10:31:22 -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
3fc126b891 launchpads: add namespacing to make 1-source-2-surfaces work for X and Mini 2023-11-04 09:30:26 -06:00
9b511ce973 launchpad: work on a single implementation for both Mini and X devices
This is not complete, because the symol names are identical, and there's no way (yet)
to ensure which versions Ardour will use if both are dynamically loaded.
2023-11-04 09:30:26 -06:00
43c5f0ab46 launchpad X: 98% functionality 2023-10-31 09:56:40 -06:00
f45aec903b launchpad X: better general code design for Novation's use model 2023-10-31 09:56:40 -06:00
e9858773ca launchpad X: change design of fader bank implementation to match the X way (not the Pro way) 2023-10-31 09:56:40 -06: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
49426a602f
Console1: Clean up previous commit 2023-10-28 23:04:39 +02:00
Holger Dehnhardt
03e3546422
Clean init process to prevent exceptions 2023-10-28 22:59:39 +02:00
828d45c6fa
Disambiguate In/Out etc for translations (2/2) #9512 2023-10-28 14:46:04 +02:00
bec4344546
Console1: leave some TODO notes for later 2023-10-27 21:23:33 +02:00
a5aff68053
Console1: remove unused dependencies 2023-10-27 21:23:33 +02:00
5cad7837fa
Console1: fix compiler warnings
For reasons unknown only the console1.h produces
 -Winconsistent-missing-override
warnings, other similar headers e.g. lppro.h do not.
2023-10-27 21:23:28 +02:00
68f55d62d0
Console1: cleanup, fix event loop initialization 2023-10-27 17:12:30 +02:00
49124ab987
Console1: properly shut down 2023-10-26 21:53:27 +02:00
61ec873481
Console1: another attempt to fix uncaught exeptions 2023-10-26 21:37:28 +02:00
85d9e333c9
Revert "Console1: catch some more uncaught exceptions"
This reverts commit 99e2546477.
2023-10-26 21:21:01 +02:00
53e24168b6
Partially revert "Clean init process to prevent exceptions"
This reverts commit 94fec7fd8a
except whitespace and intent changes as per discussion on
https://github.com/Ardour/ardour/pull/834
2023-10-26 21:20:06 +02:00
afc6c060a8
WebSockets: remove unsued variable after f34ce17bf0 2023-10-26 21:06:25 +02:00
f34ce17bf0 websocket: event loop names and thread/evloop pairs are set in BaseUI::main_thread()
There is no thread when an AbstractUI<T> is constructed. The event loop name and the
association between the event loop object and the thread that "runs" it must be
set from within the thread, which is not created until BaseUI::run() is called.

There appears to have been some confusion in e3569b64 about how this
all works; this commit should remove that
2023-10-24 16:26:50 -06:00
Hoger Dehnhardt
94fec7fd8a
Clean init process to prevent exceptions 2023-10-24 23:11:05 +02:00
1dbc3305fa
WebSockets: fix crash when switching snapshots #9506 2023-10-24 23:05:46 +02:00
e0f543d8fb launchpad X: buttton/pad cleanup from the pro code
Edge button lighting is still not functional
2023-10-23 23:20:00 -06:00
499912b07d get Launchpad X port names in the right order
Unlike the LP Pro, the "DAW" port comes first, not last
2023-10-23 17:45:41 -06:00
4ca457bb9e use launchpad x icon 2023-10-19 23:46:58 -06:00
98ff1307bf ardev and waf tweaks for launchpad X 2023-10-19 22:19:23 -06:00
3e34229b9f initial launchpad X exploration, using copy-n-edit of launchpad pro code 2023-10-19 22:19:23 -06:00
99e2546477
Console1: catch some more uncaught exceptions 2023-10-19 23:46:43 +02:00
8f5df7ed28
Fix console1 crashes when no surface is present
e.g. selecting a track causes a ControlNotFoundException
if the ctrl surface is enabled, but no hardware is connected.

terminate called after throwing an instance of 'ArdourSurface::ControlNotFoundExceptio

```
#0  0x00007ffff14d8c2e in __cxa_throw () at /lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007fffe2b560a0 in ArdourSurface::Console1::get_button(ArdourSurface::Console1::ControllerID) const (this=0x61d0017e1c80, id=ArdourSurface::Console1::FOCUS1)
    at ../libs/surfaces/console1/console1.cc:928
#2  0x00007fffe2bfc647 in ArdourSurface::Console1::map_select() (this=0x61d0017e1c80) at ../libs/surfaces/console1/c1_operations.cc:653
#3  0x00007fffe2b55384 in ArdourSurface::Console1::map_stripable_state() (this=0x61d0017e1c80) at ../libs/surfaces/console1/console1.cc:832
#4  0x00007fffe2b541ab in ArdourSurface::Console1::set_current_stripable(std::shared_ptr<ARDOUR::Stripable>)
...
```

This does at least fix the crash. Ideally the surface would
only be enabled if there is hardware present.
2023-10-19 21:58:28 +02:00
Mads Kiilerich
2bb311f99b wscript: don't add pointless -DHAVE_X for each mandatory subdir
The sub_config_and_use function recursed, but it also invoked
autowaf.set_local_lib , which however didn't do anything useful. The
HAVE_ defines are not used anywhere, and the AUTOWAF_LOCAL defines are
only used in autowaf.use_lib, which however isn't used anywhere.

Dropping these defines simplify the build environment and makes the
compiler command line half as long and thus makes debugging much more
manageable.
2023-10-15 10:47:16 -06:00
Mads Kiilerich
6b61b03434 wscript: drop traces of shutdown() handling
autowaf has no real shutdown functionality anyway. The automatic
shutdown function that could have been called wouldn't work anyway, as
it takes an argument.

The only reason it doesn't fail is that the top level wscript has no
shutdown handling and doesn't recurse to other scripts, so it is all
dead code.
2023-10-15 10:47:16 -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
8c2bf116f5 fix crash when using OSC in a session with no master bus and no stripables selected 2023-09-22 15:18:27 -06:00
f715640aeb
Initialize uninitialized variable
Fixes crash when mapping files cannot be found of read.
2023-09-19 18:28:00 +02:00
Holger Dehnhardt
6bcf0c2d74 Make it C++11 compatible 2023-09-17 11:29:47 -06:00
Hoger Dehnhardt
0e759d5523 Console1 - refine channel selection 2023-09-17 11:29:47 -06:00
Hoger Dehnhardt
827f61ad58 Console1: add shift operations for plugins 2023-09-17 11:29:47 -06:00
Hoger Dehnhardt
e22a0eb1db add options to swap mute and solo and to create mapping stops 2023-09-17 11:29:47 -06:00
Hoger Dehnhardt
7634c4936c Store mappings as XML 2023-09-17 11:29:47 -06:00
Hoger Dehnhardt
ac00b4a0bb fix plugin selection 2023-09-17 11:29:47 -06:00