Sound hardware preferences pane allows OK when errors exist

Bug #886624 reported by Sean M. Pappalardo
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Low
Unassigned

Bug Description

If you select an invalid configuration in the Sound Hardware preferences pane (Like two outputs sharing a channel pair on the same device, or wrong sample rate for a device) click Apply, and see the warning, you can still click OK and Mixxx attempts to use that invalid configuration. The dialog should probably disable the OK button until the error is corrected.

RJ Skerry-Ryan (rryan)
tags: added: usability
Revision history for this message
William Good (bkgood) wrote :

This is a greater problem in the preferences, not just the sound hardware pane. No pane (dlgpref{eq,sound,...}) is able to disable the OK button owned by dlgpreferences, or really communicate with it at all in any meaningful way.

Not that disabling an OK button doesn't have huge usability implications of its own, I'd think most HIG groups would find it high treason.

RJ Skerry-Ryan (rryan)
tags: added: polish
Revision history for this message
Daniel Schürmann (daschuer) wrote :

This still happens in Mixxx 2.3 alpha

tags: removed: hardware sound
tags: added: easy
Revision history for this message
ronso0 (ronso0) wrote :

I think this can be resolved rather "easily", no need to violate HIG:

1. in the preferences main dialog, intercept the
  QDialogButtonBox::accepted signal and accept() the dialog only if
  okayToclose of each pref page is true (default)
2. in DlgPrefSound::slotApply, set okayToClose to true only if
  SoundDeviceError is SOUNDDEVICE_ERROR_OK

Does that makes sense?

https://github.com/mixxxdj/mixxx/blob/828a189b045050ca6ad5aa053e528e92ce0b8653/src/preferences/dialog/dlgpreferences.cpp#L408-L442

Changed in mixxx:
milestone: none → 2.4.0
Revision history for this message
Daniel Schürmann (daschuer) wrote :

We have two issues, one is a faulty configuration Mixxx knows.
This can be solved by returning to the preferences after the error dialog appears.

A future version may instantly mark the fault fields red that the user is informed before hitting OK.

The other issue are unknown faults that only appear when the config is actually applied. I think we already have a loop returning to the preferences at start up. Maybe we can do similar.

I currently suffer an issue with Pipewire and the Mixxx default using JACK, that Mixxx stalls after pressing OK. I have not yet reported a bug yet, because Pipewire is not official supported with Ubuntu Focal, so it might be my fault. But in any case would is be preferred to have a common timeout solution to cover such issues.

Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6077

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.