MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / get

Method get

extlibs/soloud/src/core/soloud_fader.cpp:61–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59 }
60
61 float Fader::get(double aCurrentTime)
62 {
63 if (mActive == 2)
64 {
65 // LFO mode
66 if (mStartTime > aCurrentTime)
67 {
68 // Time rolled over.
69 mStartTime = aCurrentTime;
70 }
71 double t = aCurrentTime - mStartTime;
72 return (float)(sin(t * mEndTime) * mDelta + (mFrom + mDelta));
73
74 }
75 if (mStartTime > aCurrentTime)
76 {
77 // Time rolled over.
78 // Figure out where we were..
79 float p = (mCurrent - mFrom) / mDelta; // 0..1
80 mFrom = mCurrent;
81 mStartTime = aCurrentTime;
82 mTime = mTime * (1 - p); // time left
83 mDelta = mTo - mFrom;
84 mEndTime = mStartTime + mTime;
85 }
86 if (aCurrentTime > mEndTime)
87 {
88 mActive = -1;
89 return mTo;
90 }
91 mCurrent = (float)(mFrom + mDelta * ((aCurrentTime - mStartTime) / mTime));
92 return mCurrent;
93 }
94};

Callers 2

updateParamsMethod · 0.45
mix_internalMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected