#pragma once #ifndef TSIO_WAV_INCLUDED #define TSIO_WAV_INCLUDED #include "tsound_io.h" //========================================================== /*! The class TSoundTrackReaderWav reads audio files having .wav extension */ class TSoundTrackReaderWav final : public TSoundTrackReader { public: 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 */ TSoundTrackP load() override; /*! Returns a soundtrack reader able to read .wav audio files */ static TSoundTrackReader *create(const TFilePath &fp) { return new TSoundTrackReaderWav(fp); } }; //========================================================== /*! The class TSoundTrackWriterWav writes audio file having .wav extension */ class TSoundTrackWriterWav final : public TSoundTrackWriter { public: TSoundTrackWriterWav(const TFilePath &fp); ~TSoundTrackWriterWav() {} /*! Saves the information of the soundtrack in .wav audio file whose path has been specified in the constructor. */ bool save(const TSoundTrackP &) override; /*! Returns a soundtrack writer able to write .wav audio files */ static TSoundTrackWriter *create(const TFilePath &fp) { return new TSoundTrackWriterWav(fp); } }; #endif