/********************************************************************** Audacity: A Digital Audio Editor LegacyBlockFile.h Dominic Mazzoni **********************************************************************/ #ifndef __AUDACITY_LEGACY_BLOCKFILE__ #define __AUDACITY_LEGACY_BLOCKFILE__ #include #include #include "../BlockFile.h" void ComputeLegacySummaryInfo(wxFileName fileName, int summaryLen, sampleFormat format, SummaryInfo *info, bool noRMS,bool Silent, float *min, float *max, float *rms); // // This class supports loading BlockFiles in one of the old // Audacity BlockFile formats (versions 0.98 through 1.0, or // versions 1.1.0 through 1.1.2). You can load a BlockFile // in this format, and you can save information about it // back to disk, but you can't create a new one from new // sample data. // class LegacyBlockFile : public BlockFile { public: // Constructor / Destructor /// Create the memory structure to refer to the given block file LegacyBlockFile(wxFileName existingFile, sampleFormat format, sampleCount summaryLen, sampleCount len, bool noRMS); virtual ~LegacyBlockFile(); // Reading /// Read the summary section of the disk file virtual bool ReadSummary(void *data); /// Read the data section of the disk file virtual int ReadData(samplePtr data, sampleFormat format, sampleCount start, sampleCount len); /// Create a new block file identical to this one virtual BlockFile *Copy(wxFileName newFileName); /// Write an XML representation of this file virtual void SaveXML(XMLWriter &xmlFile); virtual wxLongLong GetSpaceUsage(); virtual void Recover(); static BlockFile *BuildFromXML(wxString dir, const wxChar **attrs, sampleCount len, sampleFormat format); protected: sampleFormat mFormat; }; #endif // __AUDACITY_LEGACY_BLOCKFILE__ // Indentation settings for Vim and Emacs and unique identifier for Arch, a // version control system. Please do not modify past this point. // // Local Variables: // c-basic-offset: 3 // indent-tabs-mode: nil // End: // // vim: et sts=3 sw=3 // arch-tag: 4ebdbe44-29e1-468e-832c-800ad0ca8ea5