--- linuxsampler/trunk/src/engines/sfz/SfzSignalUnitRack.h 2011/08/12 13:07:05 2237 +++ linuxsampler/trunk/src/engines/sfz/SfzSignalUnitRack.h 2011/08/12 17:30:47 2238 @@ -32,9 +32,9 @@ #include "../common/SineLFO.h" namespace LinuxSampler { namespace sfz { - const int MaxUnitCount = 1000; - const int maxEgCount = 100; // Maximum number of v2 envelope generators - const int maxLfoCount = 100; // Maximum number of v2 LFOs + const int MaxUnitCount = 200; + const int maxEgCount = 30; // Maximum number of v2 envelope generators + const int maxLfoCount = 30; // Maximum number of v2 LFOs class Voice; class SfzSignalUnitRack; @@ -90,11 +90,13 @@ class SmoothCCUnit: public CurveCCUnit { protected: - Smoother Smoothers[128]; + FixedArray Smoothers; public: - SmoothCCUnit(SfzSignalUnitRack* rack, Listener* l = NULL): CurveCCUnit(rack, l) { } + SmoothCCUnit(SfzSignalUnitRack* rack, Listener* l = NULL): CurveCCUnit(rack, l), Smoothers(MaxCCs) { } virtual void AddSmoothCC(uint8_t Controller, float Influence, short int Curve, float Smooth); + + virtual void RemoveAllCCs() { CurveCCUnit::RemoveAllCCs(); Smoothers.clear(); } };