mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.25k stars 1.24k forks source link

Pioneer DDJ-FLX4: one or more MixxxControls ... invalid (sampler count) #12747

Open sanmannor opened 4 months ago

sanmannor commented 4 months ago

Bug Description

I updated to version 401 and when mix loaded it displays an error. ive updated to version 449 same issue. I'm using the a ddj-FLEX4, on windows 10.

one or more MixxxControls specified in the outputs section of the loaded mapping were invalid. some LEDs and other feedback may not work correctly.

MIDI output message 0x98 0x34 has invalid MixxxControl [Sampler9], track_loaded MIDI output message 0x97 0x34 has invalid MixxxControl [Sampler9], track_loaded MIDI output message 0x9A 0x35 has invalid MixxxControl [Sampler14], track_loaded MIDI output message 0x99 0x35 has invalid MixxxControl [Sampler14], track_loaded MIDI output message 0x98 0x35 has invalid MixxxControl [Sampler10], track_loaded MIDI output message 0x97 0x35 has invalid MixxxControl [Sampler10], track_loaded MIDI output message 0x9A 0x33 has invalid MixxxControl [Sampler8], track_loaded MIDI output message 0x99 0x33 has invalid MixxxControl [Sampler8], track_loaded MIDI output message 0x9A 0x37 has invalid MixxxControl [Sampler16], track_loaded MIDI output message 0x99 0x37 has invalid MixxxControl [Sampler16], track_loaded MIDI output message 0x9A 0x34 has invalid MixxxControl [Sampler13], track_loaded MIDI output message 0x99 0x34 has invalid MixxxControl [Sampler13], track_loaded MIDI output message 0x9A 0x31 has invalid MixxxControl [Sampler6], track_loaded MIDI output message 0x99 0x31 has invalid MixxxControl [Sampler6], track_loaded MIDI output message 0x9A 0x32 has invalid MixxxControl [Sampler7], track_loaded MIDI output message 0x99 0x32 has invalid MixxxControl [Sampler7], track_loaded MIDI output message 0x9A 0x30 has invalid MixxxControl [Sampler5], track_loaded MIDI output message 0x99 0x30 has invalid MixxxControl [Sampler5], track_loaded MIDI output message 0x98 0x37 has invalid MixxxControl [Sampler12], track_loaded MIDI output message 0x97 0x37 has invalid MixxxControl [Sampler12], track_loaded MIDI output message 0x9A 0x36 has invalid MixxxControl [Sampler15], track_loaded MIDI output message 0x99 0x36 has invalid MixxxControl [Sampler15], track_loaded MIDI output message 0x98 0x36 has invalid MixxxControl [Sampler11], track_loaded MIDI output message 0x97 0x36 has invalid MixxxControl [Sampler11], track_loaded

Version

2.4-beta-449-gc43b5d40a3

OS

windows 10

ronso0 commented 4 months ago

Oh, an unexpected effect of #12657

The errors indicate that the FLX4 mapping expects 16 samplers, but it doesn't set [App],num_samplers accordingly. Only the default minimum of 4 samplers has been created.

Which skin do you use?

Do we need to increase the default number of samplers to 16 because more mappings expect that number? Or shall we require mappings to explictly set [App],num_samplers in the init() to the number they expect?

ronso0 commented 4 months ago

Actually, the FLX4 needs to be adjusted. It should use the same iterator as other mappings: https://github.com/search?q=repo%3Amixxxdj%2Fmixxx+num_samplers+path%3A%2F%5Eres%5C%2Fcontrollers%5C%2F%2F&type=code

https://github.com/mixxxdj/mixxx/blob/7b3e48544a5a5475553742678115951179c41526/res/controllers/Reloop%20Terminal%20Mix%202-4.js#L89-L91 https://github.com/mixxxdj/mixxx/blob/7b3e48544a5a5475553742678115951179c41526/res/controllers/Hercules-P32-scripts.js#L51 https://github.com/mixxxdj/mixxx/blob/7b3e48544a5a5475553742678115951179c41526/res/controllers/Stanton-DJC-4-scripts.js#L90

ronso0 commented 4 months ago

Maybe this is an edge case but it seems to apply to a few mappings I think: a mapping connects to the the number of available samplers (e.g. Shade skin: 8, LateNight: 16) during init(). Iit is not aware of new samplers when they are created (switching to a skin with more samplers, LateNight -> LateNight64) until the mapping is reloaded or Mixxx is restarted.

Is the reported error message only created for js bind attempts or also for xml mappings? I.e. are xml mappings connected internally when they are parsed, or only when controls are triggered by the mapping?

rjpence commented 2 months ago

I am using a reloop terminal mix 2 and with 2.4 now having that problem. Attempting to reassign the first affecting controls I found (track volume and track quick fx send) with the wizard does not update control functions.

ronso0 commented 2 months ago

@rjpence How this that relate to the samplers issues?