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 #ifdef HAVE_CONFIG_H
00027 #include <config.h>
00028 #endif
00029
00030 #include "aflibAudio.h"
00031
00032
00048 class aflibAudioConstantSrc: public aflibAudio {
00049
00050 public:
00051
00052 enum waveform_type
00053 {
00054 WAVEFORM_DCLEVEL,
00055 WAVEFORM_TRIANGLE,
00056 WAVEFORM_SQUAREWAVE,
00057 WAVEFORM_SINEWAVE
00058 };
00059
00060
00061 aflibAudioConstantSrc(aflibAudio& audio);
00062 aflibAudioConstantSrc();
00063
00064 ~aflibAudioConstantSrc();
00065
00066 void
00067 setWaveformType(
00068 aflibAudioConstantSrc::waveform_type wave,
00069 double max_amp,
00070 double min_amp,
00071 int frequency);
00072
00073 aflibStatus
00074 compute_segment(
00075 list<aflibData *>& data,
00076 long long position = -1) ;
00077
00079 const char *
00080 getName() const { return "aflibAudioConstantSrc";};
00081
00082 private:
00083
00084
00085 aflibAudioConstantSrc(const aflibAudioConstantSrc& op);
00086
00087 const aflibAudioConstantSrc&
00088 operator=(const aflibAudioConstantSrc& op);
00089
00090 waveform_type _wave;
00091 double _amp_max;
00092 double _amp_min;
00093 int _freq;
00094
00095 };
00096
00097
00098 #endif