Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef TSIO_WAV_INCLUDED
Toshihiro Shimizu 890ddd
#define TSIO_WAV_INCLUDED
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "tsound_io.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//==========================================================
Toshihiro Shimizu 890ddd
/*!
Toshihiro Shimizu 890ddd
The class TSoundTrackReaderWav reads audio files having
Toshihiro Shimizu 890ddd
.wav extension 
Toshihiro Shimizu 890ddd
*/
Toshihiro Shimizu 890ddd
class TSoundTrackReaderWav : public TSoundTrackReader
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	TSoundTrackReaderWav(const TFilePath &fp);
Toshihiro Shimizu 890ddd
	~TSoundTrackReaderWav() {}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	/*!
Toshihiro Shimizu 890ddd
  Loads the .wav audio file whose path has been specified in the constructor.
Toshihiro Shimizu 890ddd
  It returns a TSoundTrackP created from the audio file 
Toshihiro Shimizu 890ddd
  */
Toshihiro Shimizu 890ddd
	TSoundTrackP load();
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	/*!
Toshihiro Shimizu 890ddd
  Returns a soundtrack reader able to read .wav audio files
Toshihiro Shimizu 890ddd
  */
Toshihiro Shimizu 890ddd
	static TSoundTrackReader *create(const TFilePath &fp)
Toshihiro Shimizu 890ddd
	{
Toshihiro Shimizu 890ddd
		return new TSoundTrackReaderWav(fp);
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//==========================================================
Toshihiro Shimizu 890ddd
/*!
Toshihiro Shimizu 890ddd
The class TSoundTrackWriterWav writes audio file having
Toshihiro Shimizu 890ddd
.wav extension
Toshihiro Shimizu 890ddd
*/
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class TSoundTrackWriterWav : public TSoundTrackWriter
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	TSoundTrackWriterWav(const TFilePath &fp);
Toshihiro Shimizu 890ddd
	~TSoundTrackWriterWav() {}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	/*!
Toshihiro Shimizu 890ddd
  Saves the informations of the soundtrack in .wav audio file
Toshihiro Shimizu 890ddd
  whose path has been specified in the constructor.
Toshihiro Shimizu 890ddd
  */
Toshihiro Shimizu 890ddd
	bool save(const TSoundTrackP &);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	/*!
Toshihiro Shimizu 890ddd
  Returns a soundtrack writer able to write .wav audio files
Toshihiro Shimizu 890ddd
  */
Toshihiro Shimizu 890ddd
	static TSoundTrackWriter *create(const TFilePath &fp)
Toshihiro Shimizu 890ddd
	{
Toshihiro Shimizu 890ddd
		return new TSoundTrackWriterWav(fp);
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif