Sync Controller polling with audio buffer (Latency)

Bug #1157579 reported by Daniel Schürmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
New
Wishlist
Unassigned

Bug Description

As discussed in Bug #990992 we are not satisfied with the controller responds vs. CPU load.

I think this issue matters only the wheel, especially if we want to have benefit from the high resolution wheels.

IMO it would be the best solution to sync the controller polling with the audio callback.
So the most time critical controls are effecting the rate of the track. Problems here are leading to Bug #1117806

This is calculated during from the audio callback thread.
So for best responsibility we have to achieve that all Controller messages are processed just before.
All messages from on audio cycle can processed at once. so there is no need to have higher polling frequency for Midi.
On the other hand if you are able to run at low audio latencies, a fixed polling frequency may to slow so that there are always audio cycles without any control changes.

Fortunately PortMidi delivers the midi messages with a time stamp so a timed service at driver accuracy is possible as addition even with long polling intervals see Bug #1157573

Revision history for this message
Daniel Schürmann (daschuer) wrote :

A other issue pro this solution is the waveform dejerking.
Every timer driven thread that may not yield the GUI thread for rendering results into a waveform jerk.

RJ Skerry-Ryan (rryan)
Changed in mixxx:
importance: Undecided → Wishlist
RJ Skerry-Ryan (rryan)
tags: added: controllers performance
tags: added: hid midi
Revision history for this message
Daniel Schürmann (daschuer) wrote :
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/6952

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.