00001
00002 #ifndef SYNTH_H_INCLUDED
00003 #define SYNTH_H_INCLUDED
00004
00005 #include <vector>
00006
00007 class CSynthBuffer
00008 {
00009 public:
00010 CSynthBuffer();
00011 CSynthBuffer(int nSampleRate, int nSamples);
00012 CSynthBuffer(const CSynthBuffer* toMix, int nCount);
00013
00014 public:
00015 void CreateBuffer(int nSampleRate, int nSamples);
00016
00017 void FillDB(int nStart, int nCount, double dDB);
00018 void FillAbs(int nStart, int nCount, double dAbs);
00019
00020 void Sinus(int nStart, int nCount,
00021 double dStartFreq, double dEndFreq,
00022 double dDB);
00023 void SinusSqr(int nStart, int nCount,
00024 double dStartFreq, double dEndFreq,
00025 double dDB);
00026 void Saw(int nStart, int nCount,
00027 double dStartFreq, double dEndFreq,
00028 double dDB);
00029
00030 public:
00031 std::vector<double> m_samples;
00032 int m_nSampleRate;
00033 };
00034
00035 #endif // SYNTH_H_INCLUDED