comparison data/fileio/WavFileWriter.h @ 1069:32ab6c48efaa

Merge from branch tonioni
author Chris Cannam
date Mon, 20 Apr 2015 09:11:34 +0100
parents a1cd5abcb38b
children 3aea4f7617bb
comparison
equal deleted inserted replaced
1036:682d64f05e72 1069:32ab6c48efaa
17 #define _WAV_FILE_WRITER_H_ 17 #define _WAV_FILE_WRITER_H_
18 18
19 #include <QString> 19 #include <QString>
20 20
21 #include <sndfile.h> 21 #include <sndfile.h>
22
23 #include "base/BaseTypes.h"
22 24
23 class DenseTimeValueModel; 25 class DenseTimeValueModel;
24 class MultiSelection; 26 class MultiSelection;
25 class TempWriteFile; 27 class TempWriteFile;
26 28
42 enum FileWriteMode { 44 enum FileWriteMode {
43 WriteToTemporary, 45 WriteToTemporary,
44 WriteToTarget 46 WriteToTarget
45 }; 47 };
46 48
47 WavFileWriter(QString path, int sampleRate, int channels, 49 WavFileWriter(QString path, sv_samplerate_t sampleRate, int channels,
48 FileWriteMode mode); 50 FileWriteMode mode);
49 virtual ~WavFileWriter(); 51 virtual ~WavFileWriter();
50 52
51 bool isOK() const; 53 bool isOK() const;
52 54
55 QString getPath() const { return m_path; } 57 QString getPath() const { return m_path; }
56 58
57 bool writeModel(DenseTimeValueModel *source, 59 bool writeModel(DenseTimeValueModel *source,
58 MultiSelection *selection = 0); 60 MultiSelection *selection = 0);
59 61
60 bool writeSamples(float **samples, int count); // count per channel 62 bool writeSamples(float **samples, sv_frame_t count); // count per channel
61 63
62 bool close(); 64 bool close();
63 65
64 protected: 66 protected:
65 QString m_path; 67 QString m_path;
66 int m_sampleRate; 68 sv_samplerate_t m_sampleRate;
67 int m_channels; 69 int m_channels;
68 TempWriteFile *m_temp; 70 TempWriteFile *m_temp;
69 SNDFILE *m_file; 71 SNDFILE *m_file;
70 QString m_error; 72 QString m_error;
71 73