View Issue Details

IDProjectCategoryView StatusLast Update
0010109ardourbugspublic2026-01-08 15:17
Reportermx Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status feedbackResolutionopen 
PlatformUbuntuOSLinuxOS Version(any)
Product Version8.12 
Summary0010109: protocol Novation Launchkey 4 not found
Description1. 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 Reproduce1. 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
TagsNo tags attached.

Activities

x42

2026-01-08 15:07

administrator   ~0029683

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.

x42

2026-01-08 15:09

administrator   ~0029684

PS the naming for the state is indeed an odd bug. Thanks for noticing that.

x42

2026-01-08 15:17

administrator   ~0029685

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.

Issue History

Date Modified Username Field Change
2026-01-08 14:52 mx New Issue
2026-01-08 15:07 x42 Note Added: 0029683
2026-01-08 15:09 x42 Note Added: 0029684
2026-01-08 15:17 x42 Status new => feedback
2026-01-08 15:17 x42 Note Added: 0029685