mixxxdj / mixxx

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

Allow to permanently disable warning message about missing input device #13252

Open spotlesscoder opened 6 months ago

spotlesscoder commented 6 months ago

Feature Description

I don't want to use an input device at the moment but this message appears every time I open mixxx.

It's quite annoying

image

Please add a "don't show again" checkbox to the dialog

ronso0 commented 6 months ago

You probably refer to the "No Output Devices" warning. Indeed it makes sense to hide that if desired. Though I think we should reset that flag if users had an output device configured again.

The "No Input" warnign is shown only if you explicitly trigger a control that requires an input device: enable Talk (mic), Play (aux), vinyl control or Passthrough like in your case.

Also I'm puzzled why the message box has no title in your screen, it should be labeled "Mixxx" https://github.com/mixxxdj/mixxx/blob/88d7f0b9f66633d15b301a938cd7b1c79cf87971/src/mixxxmainwindow.cpp#L980-L985

spotlesscoder commented 6 months ago

I'm not sure whether I fully understand. The message box refers to the input device

"There is no input device selected for this passthrough control. Please select an input device in the sound hardware preferences first."

What is that passthrough control mentioned in the message?

ronso0 commented 6 months ago

How did you get this message?

It should only be shown when you try to activate Passthrough of a deck. https://manual.mixxx.org/2.4/chapters/user_interface.html#vinyl-control-mode-and-cueing-controls https://manual.mixxx.org/2.4/chapters/appendix/mixxx_controls.html#control-[ChannelN]-passthrough

Swiftb0y commented 6 months ago

Could it be that a controller mapping is trying to enable passthrough unconditionally on startup?

spotlesscoder commented 6 months ago

The only controller I have connected is my Roland DJ505 My buttons look like this

image

Swiftb0y commented 6 months ago

Have you made sure your CH/PC switches are set correctly? The mapping assumes that you have also assigned the Input channels correctly: https://manual.mixxx.org/2.4/en/hardware/controllers/roland_dj_505#audio-setup

spotlesscoder commented 6 months ago

Oh damn ... yes, my controller was still set to phono input. A hint to that in the error message would be helpful

ronso0 commented 6 months ago

The error message is raised by MixxxMainWindow when the passthrough control shall be enabled, it does know nothing about the origin of the change request.

The mapping should query [ChannelX],input_configured and raise a warning if it's 0.

Swiftb0y commented 6 months ago

Good point. CC @Holzhaus

ronso0 commented 6 months ago

Btw it's not documented that input_configured also exists for [ChannelX].

NotYourAverageAl commented 5 months ago

btw I'm seeing this error with my mapping for the Numark Scratch.

image

I have to delay receiving the mixer state by 10 sec to get the status of the channel input. So basically Mixxx has to load 1st and then I send the sysex message to get the states.

With input device set, At a delay 7secs, Mixxx can read the switch when the switch is set to PC(DVSmode). If the switch is toggled to Line/Phono ( Passthrough),Mixxx throws up the same error as @spotlesscoder .

With 10 sec delay Mixxx picks up the correct switch state and does not show the error and the UI shows correctly. 10 sec correlates to Mixxx start-up times for me on windows.

Swiftb0y commented 5 months ago

Thank you for the insight. So as controller mappings assume that mixxx is initialized fully, we should delay their creation until mixxx finished loading. wdyt @daschuer