Files
oak-editor/app/decoder/waveinput.h
T
itsmattkc c19cf8f8e6 fixed issue in waveinput where the format would be detected incorrectly
Floating point detection was backwards causing float-based audio to be
detected as integer and vice versa (for >32-bit formats)
2019-11-30 02:49:19 +11:00

47 lines
693 B
C++

#ifndef WAVEINPUT_H
#define WAVEINPUT_H
#include <QFile>
#include "common/constructors.h"
#include "render/audioparams.h"
class WaveInput
{
public:
WaveInput(const QString& f);
~WaveInput();
DISABLE_COPY_MOVE(WaveInput)
bool open();
bool is_open() const;
QByteArray read(int length);
QByteArray read(int offset, int length);
void read(int offset, char *buffer, int length);
bool at_end() const;
const AudioRenderingParams& params() const;
void close();
int sample_count() const;
private:
bool find_str(QFile* f, const char* str);
AudioRenderingParams params_;
QFile file_;
qint64 data_position_;
quint32 data_size_;
};
#endif // WAVEINPUT_H