SMSSynthesisConfig.hxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _SMSSynthesisConfig_
00023 #define _SMSSynthesisConfig_
00024
00025 #include "ProcessingConfig.hxx"
00026 #include "PhaseManagementConfig.hxx"
00027 #include "SpectralSynthesisConfig.hxx"
00028 #include "OverlapAddConfig.hxx"
00029 #include "SynthSineSpectrumConfig.hxx"
00030
00031 namespace CLAM {
00032
00033 class SMSSynthesisConfig:public ProcessingConfig
00034 {
00035
00036 friend class SMSSynthesis;
00037
00038 public:
00039
00040 DYNAMIC_TYPE_USING_INTERFACE(SMSSynthesisConfig,7,ProcessingConfig);
00042 DYN_ATTRIBUTE(0,public, SynthSineSpectrumConfig,SynthSineSpectrum);
00043 DYN_ATTRIBUTE(1,public, PhaseManagementConfig,PhaseMan);
00044 DYN_ATTRIBUTE(2,public, SpectralSynthesisConfig,SpectralSynth);
00045 DYN_ATTRIBUTE(3,public,OverlapAddConfig,OverlapAddSin);
00046 DYN_ATTRIBUTE(4,public,OverlapAddConfig,OverlapAddRes);
00047 DYN_ATTRIBUTE(5,public,OverlapAddConfig,OverlapAddGlobal);
00048 DYN_ATTRIBUTE(6,protected,int,prSamplingRate);
00049
00050
00051
00052
00053 public:
00055 void SetAnalWindowSize(TSize w);
00056 TSize GetAnalWindowSize() const;
00058 void SetAnalWindowType(const EWindowType& t);
00059 const EWindowType& GetAnalWindowType() const;
00061 void SetSynthWindowSize(TSize w);
00062 TSize GetSynthWindowSize()const;
00063
00065 void SetHopSize(TSize h);
00066 TSize GetHopSize() const;
00068 void SetSamplingRate(TData sr);
00069 TData GetSamplingRate() const;
00071 void SetSpectrumSize(TSize specSize);
00072 TSize GetSpectrumSize() const;
00074 void SetFrameSize(TSize f);
00075 TSize GetFrameSize();
00076
00077 private:
00078
00079 void DefaultInit();
00080 void DefaultValues();
00081
00083 TInt32 PowerOfTwo(TInt32 size);
00084 };
00085
00086 }
00087
00088 #endif
00089