65 |
virtual void Trigger(); |
virtual void Trigger(); |
66 |
|
|
67 |
void SetCCs(::sfz::Array<int>& pCC); |
void SetCCs(::sfz::Array<int>& pCC); |
68 |
|
void SetCCs(ArrayList< ::sfz::CC>& cc); |
69 |
}; |
}; |
70 |
|
|
71 |
|
|
149 |
virtual float Render() = 0; |
virtual float Render() = 0; |
150 |
virtual void Update(const uint16_t& ExtControlValue) = 0; |
virtual void Update(const uint16_t& ExtControlValue) = 0; |
151 |
virtual void Trigger(float Frequency, start_level_t StartLevel, uint16_t InternalDepth, uint16_t ExtControlDepth, bool FlipPhase, unsigned int SampleRate) = 0; |
virtual void Trigger(float Frequency, start_level_t StartLevel, uint16_t InternalDepth, uint16_t ExtControlDepth, bool FlipPhase, unsigned int SampleRate) = 0; |
152 |
|
virtual void SetPhase(float phase) = 0; |
153 |
}; |
}; |
154 |
|
|
155 |
template <class T> |
template <class T> |
166 |
) { |
) { |
167 |
T::trigger(Frequency, StartLevel, InternalDepth, ExtControlDepth, FlipPhase, SampleRate); |
T::trigger(Frequency, StartLevel, InternalDepth, ExtControlDepth, FlipPhase, SampleRate); |
168 |
} |
} |
169 |
|
|
170 |
|
virtual void SetPhase(float phase) { T::setPhase(phase); } |
171 |
}; |
}; |
172 |
|
|
173 |
class LFOUnit: public SfzSignalUnit { |
class LFOUnit: public SfzSignalUnit { |
217 |
|
|
218 |
|
|
219 |
public: |
public: |
220 |
|
CCUnit suPitchOnCC; |
221 |
|
|
222 |
LFOv2Unit(SfzSignalUnitRack* rack); |
LFOv2Unit(SfzSignalUnitRack* rack); |
223 |
|
|
224 |
virtual void Trigger(); |
virtual void Trigger(); |
296 |
|
|
297 |
FixedArray<LFOv2Unit*> LFOs; |
FixedArray<LFOv2Unit*> LFOs; |
298 |
|
|
299 |
|
// used for optimization - contains only the ones that are modulating pitch |
300 |
|
FixedArray<LFOv2Unit*> pitchLFOs; |
301 |
|
|
302 |
// used for optimization - contains only the ones that are modulating filter cutoff |
// used for optimization - contains only the ones that are modulating filter cutoff |
303 |
FixedArray<LFOv2Unit*> filLFOs; |
FixedArray<LFOv2Unit*> filLFOs; |
304 |
|
|