rapid cueing does not restart properly

Bug #225305 reported by dgendreau
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Mixxx
Confirmed
Low
Unassigned
1.8
Won't Fix
Undecided
Unassigned

Bug Description

When I repeatedly press cue quickly to play a drum sample, sometimes it plays from the start of the cue point, other times it starts further into the sample, cutting off the first drum beat.

Repainting the waveform display occurs every time I release the cue button and if I wait for the waveform to completely redraw, it always starts the cue cleanly.

When rapid cueing like this, there also seems to be a good chance that the play position does not revert back to the cue point as the cue button is released. As a result, the next press of the cue button moves the cue point to wherever it was left.

The problem is not related to mouse double-clicks handling as it also glitches under midi note control.

To reproduce the behavior:
1) Set a cue point just before a drum beat
2) press the cue button rapidly (say 2-4Hz)

Response from Albert Santoni:

I _think_ the problem is the fact that EngineBufferCue(.cpp) doesn't use
ControlObjects (or in this context, ControlObjectThreadMain, since it
gets called from the GUI thread) when setting the playback position.
Instead, it talks directly to EngineBuffer, and I can see those changes
cue changes not happening or something.

I've also noticed it is highly dependent on your latency. If you hit cue
twice very quickly with a low latency (say 16 ms), you won't get the
problem. (So it's also possible that trying to cue twice in less time
than the latency just won't work, which makes a bit of sense to me.)

Anyways, I tried fixing it by setting up the ControlObjects properly in
EngineBufferCue, but I ran into some problems. The functions in
EngineBuffer that were previously used to get the playback position get
the position in some units I don't understand. I tried to do the
conversion, but no luck. I don't have time right now to figure out the
units though. I tried an alternative approach as well, but apparently
the waveform view reads the cue position in those funky units and
converts it.

Tags: cue
Albert Santoni (gamegod)
Changed in mixxx:
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
RAFFI TEA (raffitea) wrote :

I have observed this behaviour in Mixxx 1.8 r2368.

Pressing CUE very quickly, often moves the CUE point further. This has been tested on Windows 7 with Audio 4 DJ at 5ms latency.

Tobias

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/4954

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.