--- linuxsampler/trunk/src/engines/sfz/SfzSignalUnitRack.h 2011/08/01 19:08:09 2224 +++ linuxsampler/trunk/src/engines/sfz/SfzSignalUnitRack.h 2011/08/02 13:44:57 2225 @@ -65,6 +65,7 @@ virtual void Trigger(); void SetCCs(::sfz::Array& pCC); + void SetCCs(ArrayList< ::sfz::CC>& cc); }; @@ -148,6 +149,7 @@ virtual float Render() = 0; virtual void Update(const uint16_t& ExtControlValue) = 0; virtual void Trigger(float Frequency, start_level_t StartLevel, uint16_t InternalDepth, uint16_t ExtControlDepth, bool FlipPhase, unsigned int SampleRate) = 0; + virtual void SetPhase(float phase) = 0; }; template @@ -164,6 +166,8 @@ ) { T::trigger(Frequency, StartLevel, InternalDepth, ExtControlDepth, FlipPhase, SampleRate); } + + virtual void SetPhase(float phase) { T::setPhase(phase); } }; class LFOUnit: public SfzSignalUnit { @@ -213,6 +217,8 @@ public: + CCUnit suPitchOnCC; + LFOv2Unit(SfzSignalUnitRack* rack); virtual void Trigger(); @@ -290,6 +296,9 @@ FixedArray LFOs; + // used for optimization - contains only the ones that are modulating pitch + FixedArray pitchLFOs; + // used for optimization - contains only the ones that are modulating filter cutoff FixedArray filLFOs;