I made some advancements here.

> 1. 'rate' (the one which is set by scratch2 CO) falls always in range
> of -3.675 to +3.675 (afaik)
Okay, seems like I have resolved this one :-)
in enginebuffer.h, following is the change:

line 24: #define MAX_SEEK_SPEED 500.0f  // original value was 4.0f

Apparently it is working fine! What is the maximum possible value by the
way?
Can I have some expert comments here please?

>And, I was wondering if we have some documentation instructing how to
>name variables/functions in Mixxx-land?
I found a wiki page related to this topic, should have rtfm-ed more
carefully.


One (hopefully last :)) thing which still makes mouse pointer and waveform
position go out of sync is that
the rate at which scratch2 CO is updated by mouse is not same as the rate
engine refreshes itself.
Let me explain:
scratch2 CO sets 'rate' which is read by RateControl::calculateRate().
Now, the setting of this 'rate' is *triggered* by a QTimer (wihich dont
always trigger at correct time and is often OS dependent)
Whereas,  RateControl::calculateRate() is *triggered* every time PortAudio
runs out of samples to play.
These two *trigger* timings are closest when QTimer is triggered at 42ms
(and latency at 42ms), but very often *either* rate (set by scratch2) is
read multiple times *or* some rates (set by scratch2) are ignored.

One solution that I can think of is to take into account the number of
ControlObject::sync() calls in SoundManager.
ie, next time my scratch2 CO sets a value it will check if past value is yet
read by engine or not.
*if yes
  then* set new value
*if no
  then* add old value of 'rate' to new value and then set the new value

Hope this makes sense.

I would like someone to please comment/critique my approach.


Btw, I was looking in MidiScriptEngine, scartch2 CO is triggered at 1ms by
QTImer. This puzzles me, is the waveform motion in sync with turntable
rotations?
Sorry, I don't have a turntable, can someone please let me know how coherent
is wavefrom motion with TT on Mixxx?


All findings above are my own conclusions, please correct me if I am wrong.
:)

Thanks for support!
-shanxS
------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to