vinyl signal fifo warnings when spinny widgets are not visible
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
New
|
Low
|
Unassigned |
Bug Description
If I change desktops such that mixxx isn't visible, I get spew in the log:
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
Warning [VinylControlPr
If I switch back to the desktop with mixxx, the framerate can start to stutter and the whole gui slows down. Hiding and unhiding the spinnies fixes the issue.
I'm guessing this has something to do with the gl context when the application window is hidden, but that shouldn't affect the basic fifo operation
Changed in mixxx: | |
milestone: | none → 1.12.0 |
Changed in mixxx: | |
milestone: | 1.12.0 → none |
importance: | Undecided → Low |
Could you printline calls to addSignalQualit yListener / removeSignalQua lityListener and startTimer/ killTimer/ timerEvent calls in VinylControlMan ager?
WSpinny registers itself on showEvent and unregisters itself on hideEvent. If there are no signal listeners registered with VinylControlManager then it stops reading from the signal quality FIFO and updating listeners.
Since that log message is spewing the VinylControlPro cessor clearly believes signal quality reporting is still enabled. If everything was working properly VinylControlPro cessor would still be reading from the FIFO on a timer but since the FIFO is overflowing that suggests either its timer is not active (which should in turn mean no signal quality listeners are active) or its timer is not firing frequently enough to process incoming quality reports (unlikely).
add/remove/ show/hide/ timer events all (should be) in the main thread so it's probably not a concurrency issue
Possible causes: cessor: :m_bReportSigna lQuality isn't working as intended and the processors are not getting the message to stop writing signal quality reports.
- Our volatile bool VinylControlPro
- Some logic error with how WSpinny and VinylSignalWidget register/unregister themselves.
- Something else? The manager's timer event shouldn't be affected by being off screen or not... it would be very strange (and other stuff would be broken) if Qt/X11 stopped servicing timers for off-screen windows.