/********************************************************************** Audacity: A Digital Audio Editor PCMAliasBlockFile.h Joshua Haberman **********************************************************************/ #ifndef __AUDACITY_PCMALIASBLOCKFILE__ #define __AUDACITY_PCMALIASBLOCKFILE__ #include "../BlockFile.h" /// An AliasBlockFile that references uncompressed data in an existing file class PCMAliasBlockFile : public AliasBlockFile { public: // Constructor / Destructor /// Constructs a PCMAliasBlockFile, writing the summary to disk PCMAliasBlockFile(wxFileName baseFileName, wxFileName aliasedFile, sampleCount aliasStart, sampleCount aliasLen, int aliasChannel); PCMAliasBlockFile(wxFileName existingFileName, wxFileName aliasedFile, sampleCount aliasStart, sampleCount aliasLen, int aliasChannel, float min, float max, float rms); virtual ~PCMAliasBlockFile(); // Reading /// Reads the specified data from the aliased file using libsndfile virtual int ReadData(samplePtr data, sampleFormat format, sampleCount start, sampleCount len); virtual void SaveXML(int depth, wxFFile &xmlFile); virtual BlockFile *Copy(wxFileName fileName); static BlockFile *BuildFromXML(wxString projDir, const char **attrs); }; #endif