#ifndef B3_WRITE_WAV_FILE_H #define B3_WRITE_WAV_FILE_H // b3WriteWavFile is copied from Stk::FileWvOut/FileWrite // See also https://github.com/thestk/stk // by Perry R. Cook and Gary P. Scavone, 1995--2014. #include class b3WriteWavFile { void incrementFrame( void ); void flush(); struct b3WriteWavFileInternalData* m_data; void flushData(int bufferSize); public: b3WriteWavFile(); virtual ~b3WriteWavFile(); bool setWavFile(std::string fileName, int sampleRate, int numChannels, bool useDoublePrecision=true); void closeWavFile(); void tick( double* values, int numValues ); void tick( float* values, int numValues ); }; #endif //B3_WRITE_WAV_FILE_H