1 #ifndef __CCompressorAction_H__ 2 #define __CCompressorAction_H__ 3 #include "../../config/common.h" 4 5 class CCompressorAction; 6 class CCompressorActionFactory; 7 8 #include "../AAction.h" 9 10 class CCompressorAction : public AAction 11 { 12 public: 13 CCompressorAction(const AActionFactory *factory,const CActionSound *actionSound,float windowTime,float threshold,float ratio,float attackTime,float releaseTime,float inputGain,float outputGain,bool syncChannels,bool lookAheadForLevel); 14 virtual ~CCompressorAction(); 15 16 static const string getExplanation(); 17 18 protected: 19 bool doActionSizeSafe(CActionSound *actionSound,bool prepareForUndo); 20 void undoActionSizeSafe(const CActionSound *actionSound); 21 CanUndoResults canUndo(const CActionSound *actionSound) const; 22 23 private: 24 const float windowTime; 25 const float threshold; 26 const float ratio; 27 const float attackTime; 28 const float releaseTime; 29 const float inputGain; 30 const float outputGain; 31 const bool syncChannels; 32 const bool lookAheadForLevel; 33 }; 34 35 class CCompressorActionFactory : public AActionFactory 36 { 37 public: 38 CCompressorActionFactory(AActionDialog *channelSelectDialog,AActionDialog *dialog); 39 virtual ~CCompressorActionFactory(); 40 41 CCompressorAction *manufactureAction(const CActionSound *actionSound,const CActionParameters *actionParameters) const; 42 }; 43 44 #endif 45