2017-04-14 19:22:38 +00:00
|
|
|
#ifndef B3_SOUND_SOURCE_H
|
|
|
|
#define B3_SOUND_SOURCE_H
|
|
|
|
|
|
|
|
class b3SoundSource
|
|
|
|
{
|
|
|
|
struct b3SoundSourceInternalData* m_data;
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
b3SoundSource();
|
|
|
|
virtual ~b3SoundSource();
|
|
|
|
|
|
|
|
virtual bool computeSamples(double *sampleBuffer, int numSamples, double sampleRate);
|
2017-04-27 04:31:01 +00:00
|
|
|
|
|
|
|
int getNumOscillators() const;
|
|
|
|
void setOscillatorType(int oscillatorIndex, int type);
|
|
|
|
void setOscillatorFrequency(int oscillatorIndex, double frequency);
|
|
|
|
void setOscillatorAmplitude(int oscillatorIndex, double amplitude);
|
|
|
|
void setOscillatorPhase(int oscillatorIndex, double phase);
|
|
|
|
|
|
|
|
bool setWavFile(int oscillatorIndex, const char* fileName, int sampleRate);
|
|
|
|
|
|
|
|
void startSound();
|
|
|
|
void stopSound();
|
|
|
|
|
2017-04-14 19:22:38 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif //B3_SOUND_SOURCE_H
|