mixxxdj / mixxx

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

loading certain controller mappings to virtual MIDI device can render Mixxx unresponsive #12768

Open ronso0 opened 9 months ago

ronso0 commented 9 months ago

Bug Description

experienced with MIDI-Throughport in dev mode and Denon MC7000 script:

Second issue (maybe related to Shade and its bus effect configuration):

 controller.midithroughport0.output:debug [Controller] "outgoing: " "Midi Through Port-0:  status 0x99 (ch 10, opcode 0x9), ctrl 0x01, val 0x01"
 controller.midithroughport0.input:debug [Controller] "incoming: " "Midi Through Port-0: t:11219 ms status 0x98 (ch 9, opcode 0x9), ctrl 0x06, val 0x01"
 controller.midithroughport0.output:debug [Controller] sending MIDI bytes: 152 , 6 , 127
 controller.midithroughport0.output:debug [Controller] "outgoing: " "Midi Through Port-0:  status 0x98 (ch 9, opcode 0x9), ctrl 0x06, val 0x7F"
 controller.midithroughport0.input:debug [Controller] "incoming: " "Midi Through Port-0: t:11220 ms status 0x91 (ch 2, opcode 0x9), ctrl 0x0D, val 0x01"
 controller.midithroughport0.output:debug [Controller] sending MIDI bytes: 145 , 13 , 127
 controller.midithroughport0.output:debug [Controller] "outgoing: " "Midi Through Port-0:  status 0x91 (ch 2, opcode 0x9), ctrl 0x0D, val 0x7F"
 controller.midithroughport0.input:debug [Controller] "incoming: " "Midi Through Port-0: t:11220 ms status 0x99 (ch 10, opcode 0x9), ctrl 0x00, val 0x7F"
debug [Main] Opened PortAudio stream successfully... starting
info [Main] Enabling ALSA real-time scheduling
debug [Main] PortAudio: Started stream successfully
debug [Main]    Actual sample rate:  48000 Hz, latency: 21.3333 ms
debug [Main] SoundDeviceNetwork - open: "Network stream"
debug [Main] SoundDeviceNetwork - Maximum: 1024 frames/buffer @ 48000 Hz = "21 ms"
debug [Main] Using "HDA Intel PCH: ALC257 Analog (hw:1,0)" as output sound device clock reference
debug [Main] 2 output sound devices opened
debug [Main] 1 input sound devices opened
debug [0x7f5214000dd0] SSE: Enabling denormals to zero mode
debug [0x7f5214000dd0] SSE: Enabling flush to zero mode
debug [0x7f5214000dd0] Denormals to zero mode is working
DEBUG ASSERT: "outputChannelStatus.enableState != EffectEnableState::Enabled" in function bool EngineEffectChain::enableForInputChannel(ChannelHandle) at ./src/engine/effects/engineeffectchain.cpp:154
[1]    390838 abort (core dumped)  ./mixxx --developer --settingsPath ...

Version

2.4 and probably all earlier versions

OS

No response

Swiftb0y commented 9 months ago

log is spammed with incoming / outgoing messages

Doesn't the throughport just loop back midi messages to itself? That would explain the message feedback loop. To be honest, I'm not sure what to really do about it except to detect that port and only allow mappings that are whitelisted to be loaded by it.

ronso0 commented 9 months ago

I'm not sure what the MIDI Throughport does under the hood but I experienced such issues only with a few mappings I loaded (by accident).

I think I need to refine the report. Actually it's two aspects: a) the GUI can be rednered unusable / unresponsive b) that particular debug assertion in combination with Shade