attempting to turn on passthrough pauses deck if no input is selected for deck

Bug #1462081 reported by Be
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Low
Unassigned

Bug Description

Users who are not sure what the passthrough or vinyl buttons do may press it in the middle of playback without any input configured. Or, they may be accidentally pressed in the middle of a set. So, the dialog that currently comes up should stay, but Mixxx should not pause the deck when these buttons are pressed without an input configured.

Be (be.ing)
summary: - attempting to turn on passthrough mode pauses deck if no input is
- selected for deck
+ attempting to turn on passthrough or vinyl mode pauses deck if no input
+ is selected for deck
description: updated
description: updated
Be (be.ing)
tags: added: passthrough vinyl
Revision history for this message
Be (be.ing) wrote : Re: attempting to turn on passthrough or vinyl mode pauses deck if no input is selected for deck

For toggling vinyl control, I've isolated the problem to the showing of the message box in mixxx.cpp. Commenting these out makes the decks not pause. I have no idea why showing these QMessageBoxes pauses the deck. I tried changing QMessageBox::warning to use information, question, and critical instead, but those also paused the deck.

Lines 1846-1851:
            QMessageBox::warning(
                    this,
                    tr("Mixxx"),
                    tr("There is no input device selected for this vinyl control.\n"
                       "Please select an input device in the sound hardware preferences first."),
                    QMessageBox::Ok, QMessageBox::Ok);

Revision history for this message
Stéphane Guillou (stephane-guillou) wrote :

Interestingly, the playback resumes after clicking "OK" in the vinyl control warning dialogue, but the track stays paused after clicking "OK" in the passthrough warning dialogue.

Revision history for this message
Be (be.ing) wrote :

Yeah, there seems to be something subtly different going on with passthrough. When I commented out the message box, it still paused, but when I commented out the whole clause of the if-else statement, it did not pause.

Revision history for this message
jus (jus) wrote :

With latest master, 2.1.0-alpha-pre (build master r6308)
pressing the ``Vinyl``button displays only the ``no input device configured...`` message box, without interrupting playback. For passthrough, it is still like described in the report.

Changing title accordingly.

Changed in mixxx:
importance: Undecided → Low
status: New → Confirmed
summary: - attempting to turn on passthrough or vinyl mode pauses deck if no input
- is selected for deck
+ attempting to turn on passthrough pauses deck if no input is selected
+ for deck
Revision history for this message
geozubuntu (geozubuntu) wrote :

Linux mint 19 tara x86
CPU~Dual core Intel Core2 Duo T7500 (-MCP-) speed/max~1645/2200 MHz Kernel~4.15.0-39-generic x86_64
Graphics: Card: Intel Mobile GM965/GL960 Integrated Graphics Controller (primary)
           Display Server: x11 (X.Org 1.19.6 )
           drivers: modesetting (unloaded: fbdev,vesa)
           Resolution: 1280x800@59.91hz
           OpenGL: renderer: Mesa DRI Intel 965GM version: 2.1 Mesa 18.0.5
Audio: Card Intel 82801H (ICH8 Family) HD Audio Controller
           driver: snd_hda_intel
           Sound: Advanced Linux Sound Architecture v: k4.15.0-39-generic

Windows 7 Ultimate x86 fully updated

Mixxx: 2.3.0-alpha-pre (build master r6644) used mostly for radio broadcasting and as player.
           No external devices connected. No vinyl connected or setup.

Please Unzip Vinyl_pass_Bug.zip file to see screenshots..

1) The deck 1 plays normally. Then the vinyl control pass is pressed (see playing.png)
2) Playback is paused and popup warning window appears. Playback shouldn't have been paused yet. (see popup.png)
3) If cancel is pressed the popup window disappears but the playback stays paused and is not able to resume.
   The play button turns to a sound symbol and pressing it does nothing (see pass_not_cancelled.png)
4) If OK is pressed the preferences window popup, the deck stays paused and is not able to resume.
   The play button turns to a sound symbol and pressing it does nothing. Clicking the Vinyl control button next
   to spinner just hides the options and turns to orange but does nothing. Vinyl pass through mode isn't turn off
   Normal operation isn't returns until the program is restarted.
5) The only way to use deck is by Keyboard shortcuts (D resumes playback) but the controls on the screen don't
   change no matter what. (see mode_not_disengaged.png)

I suppose that if a vinyl deck was connected then a bad connection lost momentarily could lead to the same situation but I can't test this.

Thanks.

Revision history for this message
geozubuntu (geozubuntu) wrote :
Revision history for this message
ronso0 (ronso0) wrote :

yeah, the issue seems to be that 'passthrough' is enabled before checking if an input device is configured.
this leads to an loop and passthrough can't be disabled without setting an input device and then disabling passthrough.

Revision history for this message
ronso0 (ronso0) wrote :

so the Passthrough button should be set up another way:
[Channel],passthrough_toggle
> check for vinyl_input_configured
0 = keep deck state, show dialog
1 = pause deck, enable passthrough, set [Channel],passthrough to 1

Revision history for this message
ronso0 (ronso0) wrote :

btw, my comments above are not about the play state of the deck but about the Passthrough indicator in Tango:
it covers the play button when [Channel],passthrough is 1.
strangley, it pops up after I cancel the 'Unconfigured Passthrough' dialog, although it uses the same CO as the actual passthrough button, and it disappears only after setting up an input device.

Revision history for this message
ronso0 (ronso0) wrote :

if I open developer tools, locate [Channel],passthrough (it's 0), enter the 'Value' filed and just confirm '0' the CO switches back to 0 for the Passthrough cover, as well.

tags: added: vinylcontroll
removed: vinyl
tags: added: vinylcontrol
removed: vinylcontroll
Revision history for this message
ronso0 (ronso0) wrote :

Can't reproduce this anymore with 2.3

Changed in mixxx:
status: Confirmed → Fix Committed
milestone: none → 2.3.0
Changed in mixxx:
status: Fix Committed → Fix Released
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/8083

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

Bug attachments

Remote bug watches

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