Commit Graph

2522 Commits

Author SHA1 Message Date
Robin Gareus 73fea85381
Vapor: set surround-send level range to +/-20 dB 2024-03-21 14:23:43 +01:00
Paul Davis 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
Robin Gareus 0fd1edd78e
Update well-known ctrl: separate global and per band EQ enum 2024-01-15 15:34:55 +01:00
Robin Gareus a3cd791166
Amend bfb22e2acc, fix generic MIDI signal connection 2024-01-13 18:50:26 +01:00
Robin Gareus 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
Robin Gareus 70a0b47cef
Update Ctrl Surfaces: use new well-known-ctrl API 2024-01-13 03:08:51 +01:00
Robin Gareus 12002e1dc0
FP8: only use visible channelstrip plugins
This is in preparation for multiple Mixbus channelstrip
Plugins.
2024-01-13 03:01:40 +01:00
Ben Loftis ee6d46d403 Ardour repo should not distinguish between Mixbus variants 2024-01-08 08:25:18 -06:00
Robin Gareus 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
Robin Gareus 3de600625f
Consolidate internal bus checks (1/2) 2024-01-06 20:21:51 +01:00
Robin Gareus 634aa9900d
UF8 for everyone 2023-12-12 03:38:50 +01: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
Paul Davis 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
Paul Davis 3fc126b891 launchpads: add namespacing to make 1-source-2-surfaces work for X and Mini 2023-11-04 09:30:26 -06:00
Paul Davis 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
Paul Davis 43c5f0ab46 launchpad X: 98% functionality 2023-10-31 09:56:40 -06:00
Paul Davis f45aec903b launchpad X: better general code design for Novation's use model 2023-10-31 09:56:40 -06:00
Paul Davis 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
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
Robin Gareus 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
Robin Gareus 828d45c6fa
Disambiguate In/Out etc for translations (2/2) #9512 2023-10-28 14:46:04 +02:00
Robin Gareus bec4344546
Console1: leave some TODO notes for later 2023-10-27 21:23:33 +02:00
Robin Gareus a5aff68053
Console1: remove unused dependencies 2023-10-27 21:23:33 +02:00
Robin Gareus 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
Robin Gareus 68f55d62d0
Console1: cleanup, fix event loop initialization 2023-10-27 17:12:30 +02:00
Robin Gareus 49124ab987
Console1: properly shut down 2023-10-26 21:53:27 +02:00
Robin Gareus 61ec873481
Console1: another attempt to fix uncaught exeptions 2023-10-26 21:37:28 +02:00
Robin Gareus 85d9e333c9
Revert "Console1: catch some more uncaught exceptions"
This reverts commit 99e2546477.
2023-10-26 21:21:01 +02:00
Robin Gareus 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
Robin Gareus afc6c060a8
WebSockets: remove unsued variable after f34ce17bf0 2023-10-26 21:06:25 +02:00
Paul Davis 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
Robin Gareus 1dbc3305fa
WebSockets: fix crash when switching snapshots #9506 2023-10-24 23:05:46 +02:00
Paul Davis 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
Paul Davis 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
Paul Davis 4ca457bb9e use launchpad x icon 2023-10-19 23:46:58 -06:00
Paul Davis 98ff1307bf ardev and waf tweaks for launchpad X 2023-10-19 22:19:23 -06:00
Paul Davis 3e34229b9f initial launchpad X exploration, using copy-n-edit of launchpad pro code 2023-10-19 22:19:23 -06:00
Robin Gareus 99e2546477
Console1: catch some more uncaught exceptions 2023-10-19 23:46:43 +02:00
Robin Gareus 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
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