View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010109 | ardour | bugs | public | 2026-01-08 14:52 | 2026-01-08 15:17 |
| Reporter | mx | Assigned To | |||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | feedback | Resolution | open | ||
| Platform | Ubuntu | OS | Linux | OS Version | (any) |
| Product Version | 8.12 | ||||
| Summary | 0010109: protocol Novation Launchkey 4 not found | ||||
| Description | 1. Control surface appears in preferences but doesn't activate 2. Console shows: `protocol Novation Launchkey 4 not found` 3. OLED display on Launchkey shows "Ardour 0" but no DAW integration works 4. Configuration is lost on every Ardour restart ## Expected Behavior Control surface should load successfully and provide DAW integration with faders, encoders, pads, and transport controls. ## Actual Behavior Protocol registration fails due to name mismatch, control surface never activates. | ||||
| Steps To Reproduce | 1. Compile Ardour 8.12 from source 2. Enable "Novation Launchkey mk4" control surface in preferences 3. Select MIDI ports 4. Restart Ardour 5. Observe error: `protocol Novation Launchkey 4 not found` 6. Control surface setting is lost/deactivated | ||||
| Additional Information | ## Root Cause Inconsistent protocol name between two source files: **libs/surfaces/launchkey_4/launchkey_4.cc (line ~50):** ```cpp : MIDISurface (s, X_("Novation Launchkey 4"), X_("Launchkey MK4"), true) ``` Uses **lowercase "k"** in "Launchkey" **libs/surfaces/launchkey_4/launchkey_4_interface.cc (descriptor):** ```cpp /* name */ "Novation LaunchKey 4", ``` Uses **capital "K"** in "LaunchKey" ## Impact - Protocol descriptor registers as "Novation LaunchKey 4" (capital K) - MIDISurface constructor expects "Novation Launchkey 4" (lowercase k) - Name mismatch causes protocol lookup to fail - Control surface completely non-functional ## Fix Change `launchkey_4.cc` to use capital K: ```cpp : MIDISurface (s, X_("Novation LaunchKey 4"), X_("Launchkey MK4"), true) ``` This matches the protocol descriptor name and resolves the issue. ## Verification Commands ```bash # Check library for registered names strings /usr/local/lib/ardour8/surfaces/libardour_launchkey_4.so | grep "Novation" # Check config for expected name grep "Protocol name" ~/.config/ardour8/config | grep LaunchKey # Before fix: shows both "Launchkey" and "LaunchKey" # After fix: shows only "LaunchKey" consistently ``` ## Testing Environment - OS: Ubuntu Studio 24.04.3 LTS - Ardour: 8.12 (self-compiled) - Hardware: Novation Launchkey MK4 49 - Compiler: GCC 13.3.0 - Build flags: `./waf configure --optimize --lv2 --with-backends=jack,pulseaudio,dummy,alsa --no-phone-home` ## Reproduction Steps 1. Compile Ardour 8.12 from source 2. Enable "Novation Launchkey mk4" control surface in preferences 3. Select MIDI ports 4. Restart Ardour 5. Observe error: `protocol Novation Launchkey 4 not found` 6. Control surface setting is lost/deactivated | ||||
| Tags | No tags attached. | ||||
|
|
What backend do you use? There have been recent reports that pipewire MIDI implementation regressed and broke various control surfaces. If you use pipewire, could you try Ardour Menu > Window > Audio/MIDI Setup : Audio System: ALSA ? and see if the issue persists. |
|
|
PS the naming for the state is indeed an odd bug. Thanks for noticing that. |
|
|
I do not have access to any Novation devices, so it would be great if you could test current Ardour/git 9.0-rc2-71-gc86bb05945 and see if that resolves the issue. Thanks in advance. |