2016-05-17 03:04:11 +12:00
|
|
|
#pragma once
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
#ifndef TSIO_WAV_INCLUDED
|
|
|
|
#define TSIO_WAV_INCLUDED
|
|
|
|
|
|
|
|
#include "tsound_io.h"
|
|
|
|
|
|
|
|
//==========================================================
|
|
|
|
/*!
|
|
|
|
The class TSoundTrackReaderWav reads audio files having
|
2016-06-15 18:43:10 +12:00
|
|
|
.wav extension
|
2016-03-19 06:57:51 +13:00
|
|
|
*/
|
2016-06-29 18:17:12 +12:00
|
|
|
class TSoundTrackReaderWav final : public TSoundTrackReader {
|
2016-03-19 06:57:51 +13:00
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
TSoundTrackReaderWav(const TFilePath &fp);
|
|
|
|
~TSoundTrackReaderWav() {}
|
|
|
|
|
|
|
|
/*!
|
|
|
|
Loads the .wav audio file whose path has been specified in the constructor.
|
|
|
|
It returns a TSoundTrackP created from the audio file
|
|
|
|
*/
|
2016-06-19 20:06:29 +12:00
|
|
|
TSoundTrackP load() override;
|
2016-06-15 18:43:10 +12:00
|
|
|
|
|
|
|
/*!
|
|
|
|
Returns a soundtrack reader able to read .wav audio files
|
|
|
|
*/
|
|
|
|
static TSoundTrackReader *create(const TFilePath &fp) {
|
|
|
|
return new TSoundTrackReaderWav(fp);
|
|
|
|
}
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
|
|
|
|
//==========================================================
|
|
|
|
/*!
|
|
|
|
The class TSoundTrackWriterWav writes audio file having
|
|
|
|
.wav extension
|
|
|
|
*/
|
|
|
|
|
2016-06-29 18:17:12 +12:00
|
|
|
class TSoundTrackWriterWav final : public TSoundTrackWriter {
|
2016-03-19 06:57:51 +13:00
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
TSoundTrackWriterWav(const TFilePath &fp);
|
|
|
|
~TSoundTrackWriterWav() {}
|
|
|
|
|
|
|
|
/*!
|
|
|
|
Saves the informations of the soundtrack in .wav audio file
|
|
|
|
whose path has been specified in the constructor.
|
|
|
|
*/
|
2016-06-19 20:06:29 +12:00
|
|
|
bool save(const TSoundTrackP &) override;
|
2016-06-15 18:43:10 +12:00
|
|
|
|
|
|
|
/*!
|
|
|
|
Returns a soundtrack writer able to write .wav audio files
|
|
|
|
*/
|
|
|
|
static TSoundTrackWriter *create(const TFilePath &fp) {
|
|
|
|
return new TSoundTrackWriterWav(fp);
|
|
|
|
}
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|