View Issue Details

IDProjectCategoryView StatusLast Update
0010109ardourbugspublic2026-01-15 17:24
Reportermx Assigned Tox42  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
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.

mx

2026-01-15 10:07

reporter   ~0029716

thanks for your reply

with 8.12 i used jack/pipewire.

---

- compile Ardour 9.0-rc2 from source
- the "protocol Novation Launchkey 4 not found" is still there - fixed it for me
- enable "Novation Launchkey 4" control surface in preferences
- select midi ports
- added 2 midi tracks with helm and zynadd
- the controlsurface settings has no effect - f.e. the record/play buttons in the mk4 do nothing. tried it with jack/pipewire and alsa.
- with zynadd some controls work. i guess this is plugin specifc.

seems to be fixed with 9.0-rc2
- controlsurface settings are now kept during ardour restart

mx

2026-01-15 17:24

reporter   ~0029717

controlsurface settings are now kept during ardour restart and this seems to be fixed with 9.0-rc2.

this is not fixed:
- the controlsurface settings has no effect - f.e. the record/play buttons in the mk4 do nothing. tried it with jack/pipewire and alsa.

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
2026-01-15 10:07 mx Note Added: 0029716
2026-01-15 10:07 mx Status feedback => new
2026-01-15 15:52 x42 Assigned To => x42
2026-01-15 15:52 x42 Status new => resolved
2026-01-15 15:52 x42 Resolution open => fixed
2026-01-15 17:24 mx Note Added: 0029717