No scratching on touching jog wheel for the first time

Bug #1800343 reported by Max Beiersdorfer
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fix Released

Bug Description

Mixxx: 2.3.0-alpha-pre (build master r6617)
OS: Apple macOS High Sierra 10.13.6
CPU: 1,6 GHz Intel Core i5
Video: Intel HD Graphics 6000 1536 MB
Sound: Apple Core driver -> Pioneer DDJ-SX

After a fresh boot of MacOS, a fresh start of Mixxx (I can pick any version, for example Mixxx 2.1.4 or Mixxx 2.2.0 or the master build) and after reconfiguring the sound output settings from internal sound to the controller's sound card...I wasn't able to do scratching on touching a jog wheel of a playing deck for the first time. The track only stops/pauses at the touched position. After releasing and touching the jog wheel again I can scratch normally.
It's annoying when you forget to touch the jog wheel once before you want to do some scratching.

I could reproduce this behavior with four different controllers using the Mixxx-Included mappings:
Pioneer DDJ-SX
Pioneer DDJ-SB
Hercules DJ Console RMX2
Hercules DJ Console 4-MX

Starting MixxX from Terminal using controller debug information gives no special output concerning this problem.

Revision history for this message
Be ( wrote :

I am surprised we have not had reports about this from other macOS users. Can you reproduce this on other Macs?

Changed in mixxx:
importance: Undecided → Medium
Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

I can confirm this on Linux (Debian) as well.

Changed in mixxx:
status: New → Confirmed
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

I just tried master and the latest 2.1 buildserver build on macOS 10.13.6 with a Hercules 4-Mx and can't reproduce. I'm using the built-in Hercules 4-Mx preset.

- Start Mixxx (built-in interface and Hercules 4-Mx enabled at boot)
- Load track to deck 1, hit play.
- Enable "Scratch" button on Hercules 4-Mx deck 1.
- Pref -> Interface -> Change primary output to Hercules 4-Mx Channel 1/2, no headphone output.
- Turn jog wheel.

Result: Audio pitch bends like normal on first touch.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Sean -- what controller are you able to repro with?

Revision history for this message
ronso0 (ronso0) wrote :

I can reproduce with Reloop TerminalMix2 & TerminalMix4.
I can see the touch signals are sent to the script, but I need to cycle through
 engine.scratchEnable(deck, 800, 33+1/3, alpha, beta);
once until the scratch ticks are registered by the engine.

Revision history for this message
ronso0 (ronso0) wrote :

2.2 ubuntu studio 18.04

Revision history for this message
ronso0 (ronso0) wrote (last edit ):

Got it:
I added some qWarnigns to trace the scratch functions and scratchEnable and scratchTick functions are called correctly. It's just that each deck's booleans m_brakeActive, m_spinbackActive & m_softStartActive are not initialized, thus decks are stopped in scratchProcess.

Before I experienced that any wheel touch would 'freeze' the deck even though scratch ticks were sent, or interpret wheel turn as jog move.

I'll open a PR asap

Changed in mixxx:
status: Confirmed → In Progress
assignee: nobody → ronso0 (ronso0)
milestone: none → 2.3.3
Revision history for this message
ronso0 (ronso0) wrote :
ronso0 (ronso0)
Changed in mixxx:
status: In Progress → Fix Committed
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:

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.