Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef TSIO_AIFF_INCLUDED
Toshihiro Shimizu 890ddd
#define TSIO_AIFF_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 TSoundTrackReaderAiff reads audio files having
Shinya Kitaoka 120a6e
.aiff extension
Toshihiro Shimizu 890ddd
*/
Toshihiro Shimizu 890ddd
Shinya Kitaoka d1f6c4
class TSoundTrackReaderAiff final : public TSoundTrackReader {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  TSoundTrackReaderAiff(const TFilePath &fp);
Shinya Kitaoka 120a6e
  ~TSoundTrackReaderAiff() {}
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  /*!
Shinya Kitaoka 120a6e
Loads the .aiff audio file whose path has been specified in the constructor.
Shinya Kitaoka 120a6e
It returns a TSoundTrackP created from the audio file
Shinya Kitaoka 120a6e
*/
Shinya Kitaoka 473e70
  TSoundTrackP load() override;
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  /*!
Shinya Kitaoka 120a6e
Returns a soundtrack reader able to read .aiff audio files
Shinya Kitaoka 120a6e
*/
Shinya Kitaoka 120a6e
  static TSoundTrackReader *create(const TFilePath &fp) {
Shinya Kitaoka 120a6e
    return new TSoundTrackReaderAiff(fp);
Shinya Kitaoka 120a6e
  }
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//==========================================================
Toshihiro Shimizu 890ddd
/*!
Toshihiro Shimizu 890ddd
The class TSoundTrackWriterAiff writes audio file having
Toshihiro Shimizu 890ddd
.aiff extension
Toshihiro Shimizu 890ddd
*/
Shinya Kitaoka d1f6c4
class TSoundTrackWriterAiff final : public TSoundTrackWriter {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  TSoundTrackWriterAiff(const TFilePath &fp);
Shinya Kitaoka 120a6e
  ~TSoundTrackWriterAiff() {}
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  /*!
luz paz 6454c4
Saves the information of the soundtrack in .aiff audio file
Shinya Kitaoka 120a6e
whose path has been specified in the constructor.
Shinya Kitaoka 120a6e
*/
Shinya Kitaoka 473e70
  bool save(const TSoundTrackP &) override;
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  /*!
Shinya Kitaoka 120a6e
Returns a soundtrack writer able to write .aiff audio files
Shinya Kitaoka 120a6e
*/
Shinya Kitaoka 120a6e
  static TSoundTrackWriter *create(const TFilePath &fp) {
Shinya Kitaoka 120a6e
    return new TSoundTrackWriterAiff(fp);
Shinya Kitaoka 120a6e
  }
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif