| 150 | } |
| 151 | |
| 152 | void LFO::SetType(OscillatorType type) |
| 153 | { |
| 154 | mOsc.SetType(type); |
| 155 | |
| 156 | if (type == kOsc_Random) |
| 157 | TheTransport->AddListener(this, mPeriod, OffsetInfo(0, true), false); |
| 158 | else |
| 159 | TheTransport->RemoveListener(this); |
| 160 | |
| 161 | if (type == kOsc_Perlin) |
| 162 | mPerlinSeed = gRandom() % 10000; |
| 163 | |
| 164 | if (mOsc.GetType() == kOsc_Drunk || mOsc.GetType() == kOsc_Perlin || mPeriod == kInterval_Free) |
| 165 | TheTransport->AddAudioPoller(this); |
| 166 | else |
| 167 | TheTransport->RemoveAudioPoller(this); |
| 168 | } |
| 169 | |
| 170 | void LFO::OnTimeEvent(double time) |
| 171 | { |
no test coverage detected