00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _AFLIBAUDIOCONSTANTSRC_H_
00024 #define _AFLIBAUDIOCONSTANTSRC_H_
00025
00026 #include "aflibAudio.h"
00027
00028
00044 class aflibAudioConstantSrc: public aflibAudio {
00045
00046 public:
00047
00048 enum waveform_type
00049 {
00050 WAVEFORM_DCLEVEL,
00051 WAVEFORM_TRIANGLE,
00052 WAVEFORM_SQUAREWAVE,
00053 WAVEFORM_SINEWAVE
00054 };
00055
00056
00057 aflibAudioConstantSrc(aflibAudio& audio);
00058 aflibAudioConstantSrc();
00059
00060 ~aflibAudioConstantSrc();
00061
00062 void
00063 setWaveformType(
00064 aflibAudioConstantSrc::waveform_type wave,
00065 double max_amp,
00066 double min_amp,
00067 int frequency);
00068
00069 aflibStatus
00070 compute_segment(
00071 list<aflibData *>& data,
00072 long long position = -1) ;
00073
00075 const char *
00076 getName() const { return "aflibAudioConstantSrc";};
00077
00078 private:
00079
00080
00081 aflibAudioConstantSrc(const aflibAudioConstantSrc& op);
00082
00083 const aflibAudioConstantSrc&
00084 operator=(const aflibAudioConstantSrc& op);
00085
00086 waveform_type _wave;
00087 double _amp_max;
00088 double _amp_min;
00089 int _freq;
00090
00091 };
00092
00093
00094 #endif