--- linuxsampler/trunk/src/engines/sfz/SfzSignalUnitRack.h 2011/08/18 11:32:33 2244 +++ linuxsampler/trunk/src/engines/sfz/SfzSignalUnitRack.h 2011/08/22 10:00:01 2264 @@ -68,10 +68,10 @@ void SetCCs(::sfz::Array& pCC); void SetCCs(ArrayList< ::sfz::CC>& cc); - virtual void AddSmoothCC(uint8_t Controller, float Influence, short int Curve, float Smooth); + virtual void AddSmoothCC(uint8_t Controller, float Influence, short int Curve, float Smooth, float Step); - inline int GetCurveCount(); - inline ::sfz::Curve* GetCurve(int idx); + int GetCurveCount(); + ::sfz::Curve* GetCurve(int idx); double GetSampleRate(); }; @@ -95,7 +95,7 @@ SmoothCCUnit(SfzSignalUnitRack* rack, Listener* l = NULL): CurveCCUnit(rack, l), pSmoothers(NULL) { } virtual ~SmoothCCUnit(); - virtual void AddSmoothCC(uint8_t Controller, float Influence, short int Curve, float Smooth); + virtual void AddSmoothCC(uint8_t Controller, float Influence, short int Curve, float Smooth, float Step); virtual void RemoveAllCCs() { CurveCCUnit::RemoveAllCCs(); pSmoothers->clear(); } virtual void InitCCList(Pool* pCCPool, Pool* pSmootherPool); @@ -272,7 +272,6 @@ SfzSignalUnit::Copy(Unit); } - virtual bool Active() { return pLfoInfo->freq > 0; } virtual void Trigger(); virtual void Increment(); virtual float GetLevel() { return Level; } @@ -316,6 +315,7 @@ LFOv2Unit(SfzSignalUnitRack* rack); virtual void Trigger(); + virtual bool Active() { return true; } }; class AmpLFOUnit: public LFOv1Unit { @@ -388,6 +388,9 @@ // SFZ v2 SmoothCCUnit suVolOnCC; + SmoothCCUnit suPitchOnCC; + SmoothCCUnit suCutoffOnCC; + SmoothCCUnit suResOnCC; FixedArray EGs;