View Issue Details

IDProjectCategoryView StatusLast Update
0010146ardourbugspublic2026-01-31 12:49
ReporterRoger.Wilco Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformUbuntuOSLinuxOS Version(any)
Summary0010146: midnam Patch Description files - use of UsesPatchNameList causes incorrect population of MSB and LSB values
DescriptionWhen using midnam Patch Description files that are structured to have PatchNameLIst outside of ChannelNameSets using UsesPatchNameList to reference them, result in incorrect MSB/LSB values being populated. Typically 127/127 despite what is defined in the midnam Patch Description file.

Initially I though the issue was with additional ChannelNameSets but I've been able to identify that this isn’t a problem with additional ChannelNameSets specifically but a problem with use of UsesPatchNameList where the PatchNameList is outside the ChannelNameSet scope.

The forum thread can be found here: https://discourse.ardour.org/t/does-ardors-implementation-of-midnam-files-honor-multiple-name-sets/112852?u=roger.wilco

My conclusion can be found here: https://discourse.ardour.org/t/does-ardors-implementation-of-midnam-files-honor-multiple-name-sets/112852/8?u=roger.wilco
TagsMidi, midnam, MSB&LSB, Patch Change, patches, PatchNameList, UsesPatchNameList

Activities

Roger.Wilco

2026-01-31 12:48

reporter   ~0029793

1. Select any of the midnam Patch Description files listed below.
2. Go to either Patch Selector or Insert Patch Change and select any Patch other than first Bank or first Patch.
3. The MSC/LSB values will be incorrectly populated with 127/127.

I have identified that all these midnam files in Ardour’s patchfile directory are affected. I have randomly selected and tested many of these Patch files and they exhibit the same incorrect population of the MSB and LSB values.

grep UsesPatchNameList * | cut -f1 -d":" | uniq -u
Digitech_DSP128plus.midnam
Dynacord_DRP_20X.midnam
EW_Hollywood_Brass_01_Generic_Brass.midnam
EW_Hollywood_Brass_02_1FH_KS_Sus_Short_C0_A#0.midnam
EW_Hollywood_Brass_03_1FH_KS_Effects_C0_A0.midnam
EW_Hollywood_Brass_04_2FH_KS_Sus_Short_C0_G0.midnam
EW_Hollywood_Brass_05_2FH_KS_Effects_C0_F#0.midnam
EW_Hollywood_Brass_06_6FH_KS_Sus_Short_C0_G#0.midnam
EW_Hollywood_Brass_07_6FH_KS_Effects_C0_A0.midnam
EW_Hollywood_Brass_08_1TP_KS_Sus_Short_C0_A0.midnam
EW_Hollywood_Brass_09_1TP_KS_Effects_C0_E0.midnam
EW_Hollywood_Brass_10_2TP_KS_Sus_Short_C0_G#0.midnam
EW_Hollywood_Brass_11_2TP_KS_Effects_C0_A0.midnam
EW_Hollywood_Brass_12_3TP_KS_Sus_Short_C0_A#0.midnam
EW_Hollywood_Brass_13_3TP_KS_Effects_C0_A0.midnam
EW_Hollywood_Brass_14_1TB_KS_Sus_Short_C0_G#0.midnam
EW_Hollywood_Brass_15_1TB_KS_Effects_C0_E0.midnam
EW_Hollywood_Brass_16_3TB_KS_Sus_Short_C#4_G#4.midnam
EW_Hollywood_Brass_17_3TB_KS_Effects_C#4_F4.midnam
EW_Hollywood_Brass_18_1CM_KS_Sus_Short_C#3_G3.midnam
EW_Hollywood_Brass_19_1TU_KS_Sus_Short_C3_G#3.midnam
EW_Hollywood_Brass_20_1TU_KS_Effects_C3_E3.midnam
EW_Hollywood_Brass_21_LB_KS_Sus_Short_C0_D0.midnam
EW_Hollywood_Brass_22_LB_KS_Effects_C3_B3.midnam
EW_Hollywood_Harp_01_Generic_Harp.midnam
EW_Hollywood_Harp_02_Harp_KS_Master_C0_G#0.midnam
EW_Hollywood_Orchestral_Percussion_01_Generic_Percussion.midnam
EW_Hollywood_Orchestral_Percussion_02_Timpani_Flt_KS.midnam
EW_Hollywood_Orchestral_Percussion_03_Timpani_Hrd_KS.midnam
EW_Hollywood_Orchestral_Woodwinds_01_Generic_Woodwinds.midnam
EW_Hollywood_Orchestral_Woodwinds_02_PF_KS_Sus_Short_C0_C1.midnam
EW_Hollywood_Orchestral_Woodwinds_03_PF_KS_Runs_FX_C0_G0.midnam
EW_Hollywood_Orchestral_Woodwinds_04_FL_KS_Sus_Short_C0_C#1.midnam
EW_Hollywood_Orchestral_Woodwinds_05_FL_KS_Runs_FX_C0_G0.midnam
EW_Hollywood_Orchestral_Woodwinds_06_FL2_KS_Sus_Short_C0_C#1.midnam
EW_Hollywood_Orchestral_Woodwinds_07_FL2_KS_Runs_FX_C0_G0.midnam
EW_Hollywood_Orchestral_Woodwinds_08_AF_KS_Sus_Short_C0_F#0.midnam
EW_Hollywood_Orchestral_Woodwinds_09_BF_KS_Sus_Short_C0_E0.midnam
EW_Hollywood_Orchestral_Woodwinds_10_OB_KS_Sus_Short_C0_A#0.midnam
EW_Hollywood_Orchestral_Woodwinds_11_OB_KS_Runs_FX_C0_G0.midnam
EW_Hollywood_Orchestral_Woodwinds_12_EH_KS_Sus_Short_C0_A#0.midnam
EW_Hollywood_Orchestral_Woodwinds_13_CL_KS_Sus_Short_C0_A#0.midnam
EW_Hollywood_Orchestral_Woodwinds_14_CL_KS_Runs_FX_C0_G0.midnam
EW_Hollywood_Orchestral_Woodwinds_15_BC_KS_Sus_Short_C0_A0.midnam
EW_Hollywood_Orchestral_Woodwinds_16_BS_KS_Sus_Short_C0_G#0.midnam
EW_Hollywood_Orchestral_Woodwinds_17_BS_KS_Runs_FX_C0_G0.midnam
EW_Hollywood_Orchestral_Woodwinds_18_CB_KS_Sus_Short_C3_G#3.midnam
EW_Hollywood_Strings_01_Generic_Strings.midnam
EW_Hollywood_Strings_02_1st_Violins_Sus_KS_C0_F#0_Ni.midnam
EW_Hollywood_Strings_03_1st_Violins_Sus_KS_C0_F#0_Ni_DIV_A.midnam
EW_Hollywood_Strings_04_1st_Violins_Sus_KS_C0_F#0_Ni_DIV_B.midnam
EW_Hollywood_Strings_05_2nd_Violins_Sus_KS_C0_G#0_Ni.midnam
EW_Hollywood_Strings_06_2nd_Violins_Sus_KS_C0_G#0_Ni_DIV_A.midnam
EW_Hollywood_Strings_07_2nd_Violins_Sus_KS_C0_G#0_Ni_DIV_B.midnam
EW_Hollywood_Strings_08_Violas_Sus_KS_C0_G0_Ni.midnam
EW_Hollywood_Strings_09_Violas_Sus_KS_C0_G0_Ni_DIV_A.midnam
EW_Hollywood_Strings_10_Violas_Sus_KS_C0_G0_Ni_DIV_B.midnam
EW_Hollywood_Strings_11_Celli_Sus_KS_C0_F#0_Ni.midnam
EW_Hollywood_Strings_12_Celli_Sus_KS_C0_F#0_Ni_DIV_A.midnam
EW_Hollywood_Strings_13_Celli_Sus_KS_C0_F#0_Ni_DIV_B.midnam
EW_Hollywood_Strings_14_Basses_Sus_KS_C4_F4_Ni.midnam
EW_Hollywood_Strings_15_Basses_Sus_KS_C4_F4_Ni_DIV_A.midnam
EW_Hollywood_Strings_16_Basses_Sus_KS_C4_F4_Ni_DIV_B.midnam
EW_Pianos_01_Bechstein_280_copy.midnam
EW_Pianos_02_Bosendorfer_290.midnam
EW_Pianos_03_Steinway_D.midnam
EW_Pianos_04_Yamaha_C7.midnam
Gotharmoon_deMoon.midnam
Korg_MicroKORG.midnam
Korg_MS2000R.midnam
Kurzweil_SP88x.midnam
Line_6_POD.midnam
MFB_503.midnam
Moog_Minitaur.midnam
Moog_Slim_Phatty.midnam
Moog_Subsequent_37.midnam
Novation_BassStationII.midnam
Roland_RD_250s.midnam
Sequential_Circuits_Prophet_600.midnam
Yamaha_DX_7.midnam

Roger.Wilco

2026-01-31 12:49

reporter   ~0029794

I include three midnam Patch Description files I've authored (work in progress not fully featured yet) using different structures. These have all be validated and load without error into Ardour.

Dexibell_VIVO-SX7-08c.midnam : Structured so that PatchNameList is outside ChannelNameSets scope using UsesPatchNameList. This exhibits the incorrect population of MSB/LSB values.
Dexibell_VIVO-SX7-08a.midnam : Structured so that PatchNameList is inside ChannelNameSets scope - has different ChannelNameSets; and demonstrates correct MSB/LSB operation.
Dexibell_VIVO-SX7-07a.midnam : Structured so that PatchNameList is inside ChannelNameSets scope - only one ChannelNameSets; and demonstrates correct MSB/LSB operation.

Issue History

Date Modified Username Field Change
2026-01-31 12:48 Roger.Wilco New Issue
2026-01-31 12:48 Roger.Wilco Note Added: 0029793
2026-01-31 12:48 Roger.Wilco Tag Attached: Midi
2026-01-31 12:48 Roger.Wilco Tag Attached: midnam
2026-01-31 12:48 Roger.Wilco Tag Attached: patches
2026-01-31 12:48 Roger.Wilco Tag Attached: MSB&LSB
2026-01-31 12:48 Roger.Wilco Tag Attached: Patch Change
2026-01-31 12:48 Roger.Wilco Tag Attached: UsesPatchNameList
2026-01-31 12:48 Roger.Wilco Tag Attached: PatchNameList
2026-01-31 12:49 Roger.Wilco Note Added: 0029794