mixxxdj / mixxx

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

Vinyl Control: Show Signal Quality On Skin, not working #11734

Closed NotYourAverageAl closed 1 year ago

NotYourAverageAl commented 1 year ago

Bug Description

The Vinyl Control option "Show Signal Quality On Skin", does not work on the latest 2.4 beta. The signal quality widget no longer shows on the spinnies when set in the preferences.

Thought it might be related to @m0dB 's GLSL work on the spinnies and I can confirm that.

Snapshot 2.4-alpha-1512-gbf1102212f works, but after 10989 it does not.

Version

2.4-beta-48-g2cb54d9281

OS

Windows 11

m0dB commented 1 year ago

Thanks, I will take a look later this week.

ronso0 commented 1 year ago

Might as well be a regression of #11272 #11663 , I'll take a look.

ronso0 commented 1 year ago

Might as well be a regression of ~#11272~ #11663 , I'll take a look.

Nope, it's not, VC manager is still updating from config when clicking Apply

ronso0 commented 1 year ago

Another aspect of this bug seems to be that the vinyl signal quality is drawn in the preferences only if "Show quality in skins" is checked (+ Apply ofc). Should be drawn in the preferences regardless (as before 8aef3199f436046d7670008ca332230ab0cd0679)

Btw I was curious and started to git bisect but that's impossible due to unbuildable commits :| for example

/src/waveform/renderers/glwaveformrenderer.h:13:15: error: class ‘GLWaveformRenderer’ does not have any field named ‘WaveformRendererSignalBase’
   13 |             : WaveformRendererSignalBase(waveformWidgetRenderer)
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~
m0dB commented 1 year ago

I have this under control for the spinnies, but I need to figure out the most efficient way to do this. I could commit a temporary fix in the meantime. However, I would like to really test that it works, but I don't have a vinyl controller myself. Is there a way to emulate this? Is that just a matter of feeding an audio input with the right signal? Where do I get such a signal (all this is new to me).

I haven't investigated what is drawn (or not) in the preferences yet. Not sure that is related to my changes.

JoergAtGithub commented 1 year ago

You could download the Serato Control Signal and burn it to a CD: https://serato.com/controlcd/downloads?manualsanddownloads#manuals-and-download

ronso0 commented 1 year ago

...and either use an external player, or set up an audio loopback device (output deckA -> loopback, loopback -> VC input deckB) and play the timecode with Mixxx deckA to control deckB. When I did this the pitch was fluctuating sporadically but it was okay to test the signal quality. You can use the Balance, BitCrusher or White noise effect or whatever to emulate signal impairment.

m0dB commented 1 year ago

Thanks, I got it working, and also with the WSpinnyGLSL, but I want to polish it a bit before creating the PR. Stay tuned :-)