Commit Graph

2521 Commits

Author SHA1 Message Date
c628099814 launchpad Mini/X: tweak regex to account for weird cases
IRC user MikeLupe reports a Linux/ALSA system that has ports named

 Launchpad Mini MK3 LPMiniMK3 DA
 Launchpad Mini MK3 LPMiniMK3 MI

(note the truncations). Unclear if this is a failure of some specific
version of ALSA or something unusual about his device, but this
should fix the situation without breaking for anyone else
2024-01-31 17:13:10 -07:00
0fd1edd78e
Update well-known ctrl: separate global and per band EQ enum 2024-01-15 15:34:55 +01:00
a3cd791166
Amend bfb22e2acc, fix generic MIDI signal connection 2024-01-13 18:50:26 +01:00
bfb22e2acc
Ctrl Surfaces: update bound controllables
Note: this only affects surfaces that use mapped_controls, and do
not already subscribe to processors_changed/RouteProcessorChange signal.
2024-01-13 17:14:17 +01:00
70a0b47cef
Update Ctrl Surfaces: use new well-known-ctrl API 2024-01-13 03:08:51 +01:00
12002e1dc0
FP8: only use visible channelstrip plugins
This is in preparation for multiple Mixbus channelstrip
Plugins.
2024-01-13 03:01:40 +01:00
ee6d46d403 Ardour repo should not distinguish between Mixbus variants 2024-01-08 08:25:18 -06: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
3de600625f
Consolidate internal bus checks (1/2) 2024-01-06 20:21:51 +01:00
634aa9900d
UF8 for everyone 2023-12-12 03:38:50 +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
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