Project

General

Profile

« Previous | Next » 

Revision 3fa519ee

Added by Leszek Koltunski about 5 hours ago

  • ID 3fa519ee9d35dacadb0b615f182484f8dd75c3b7
  • Parent 553a9501

minor

View differences:

src/main/java/org/distorted/library/type/Dynamic.kt
731 731
    *
732 732
    * @param buffer Float buffer we will write the results to.
733 733
    * @param offset Offset in the buffer where to write the result.
734
    * @param tm Time of interpolation. Time=0.0 is the beginning of the first revolution, time=1.0 - the end
734
    * @param time Time of interpolation. Time=0.0 is the beginning of the first revolution, time=1.0 - the end
735 735
    * of the first revolution, time=2.5 - the middle of the third revolution.
736 736
    * What constitutes 'one revolution' depends on the MODE:
737 737
    * [Dynamic.MODE_LOOP], [Dynamic.MODE_PATH] or [Dynamic.MODE_JUMP].
738
    * @param st Time difference between now and the last time we called this function. Needed to figure
738
    * @param step Time difference between now and the last time we called this function. Needed to figure
739 739
    * out if the previous time we were called the effect wasn't finished yet, but now it is.
740 740
    * @return true if the interpolation reached its end.
741 741
    */
742
    fun get(buffer: FloatArray, offset: Int, tm: Long, st: Long): Boolean
742
    fun get(buffer: FloatArray, offset: Int, time: Long, step: Long): Boolean
743 743
    {
744
        var time = tm
745
        var step = st
744
        var tm = time
745
        var st = step
746 746
        val pos: Double
747 747

  
748 748
        if (duration <= 0.0f)
......
753 753

  
754 754
        if (mStartTime == -1L)
755 755
        {
756
            mStartTime = time
756
            mStartTime = tm
757 757
            mLastPos   = -1.0
758 758
        }
759 759

  
760
        val diff = time-mPausedTime
760
        val diff = tm-mPausedTime
761 761

  
762
        if (mStartTime<mPausedTime && mCorrectedTime<mPausedTime && diff>=0 && diff<=step)
762
        if (mStartTime<mPausedTime && mCorrectedTime<mPausedTime && diff>=0 && diff<=st)
763 763
        {
764 764
            mCorrectedTime = mPausedTime
765 765
            mStartTime += diff
766
            step -= diff
766
            st -= diff
767 767
        }
768 768

  
769
        time -= mStartTime
769
        tm -= mStartTime
770 770

  
771
        if (time+step > duration*count && count>0.0f)
771
        if (tm+st > duration*count && count>0.0f)
772 772
        {
773 773
            interpolate(buffer, offset, count-count.toInt())
774 774
            return true
......
776 776

  
777 777
        if (mAccessType == ACCESS_TYPE_SEQUENTIAL)
778 778
        {
779
            pos = if (mLastPos < 0) time.toDouble()/duration else step.toDouble()/duration + mLastPos
779
            pos = if (mLastPos < 0) tm.toDouble()/duration else st.toDouble()/duration + mLastPos
780 780
            mLastPos = pos
781 781
        }
782 782
        else
783 783
        {
784
            pos = time.toDouble() / duration
784
            pos = tm.toDouble() / duration
785 785
        }
786 786

  
787 787
        interpolate(buffer, offset, (pos-pos.toInt()).toFloat())

Also available in: Unified diff