Comment 14 for bug 1157573

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

scratch_position_enable:
Enables the PositionScratchController controller. It is set when you press the left mouse button on the waveforms or the spiny.

scratch_position:
is the track plyposition calculated from Mouse position on the waveform or spiny.

They are intentionally not documentation, because they are where not designed for controller or skin mappings.

It took me quite long to get acceptable results for mouse scratching by tweaking the filter algorithm and parameters.

One of the target was to remove the wobbling sound when the mouse as moved with constant tempo near rate 1.0
On of the difficult issue was that there is no time stamp but an extreme jitter of the mouse position per time.
This was improved by a II-Filter. Than there is a PD-Filter, which tries to keep the velocity const and some surrounding conditions
to handle some exceptional cases.

The filter parameters where tweaked exporting the time and value data to an "ooo Calc" sheet and generate X Y graphs.
Than I have added the filter formulas and watch how the output graph as changes

Details:
https://github.com/mixxxdj/mixxx/blob/94e9c0c93d985119ffb6403d774882c02c4ce6a4/src/engine/positionscratchcontroller.cpp#L94

Since we have the midi time stamps, smoothing the controller scathing should be somehow simpler.
At least it may require different Filter settings.