Audacity  3.0.3
LegacyBlockFile.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  Audacity: A Digital Audio Editor
4 
5  LegacyBlockFile.h
6 
7  Dominic Mazzoni
8 
9 **********************************************************************/
10 
11 #ifndef __AUDACITY_LEGACY_BLOCKFILE__
12 #define __AUDACITY_LEGACY_BLOCKFILE__
13 
14 #include "../BlockFile.h"
15 
16 class wxFileName;
17 
18 void ComputeLegacySummaryInfo(const wxFileName &fileName,
19  size_t summaryLen,
21  SummaryInfo *info,
22  bool noRMS,bool Silent,
23  float *min, float *max, float *rms);
24 
25 
26 //
27 // This class supports loading BlockFiles in one of the old
28 // Audacity BlockFile formats (versions 0.98 through 1.0, or
29 // versions 1.1.0 through 1.1.2). You can load a BlockFile
30 // in this format, and you can save information about it
31 // back to disk, but you can't create a NEW one from NEW
32 // sample data.
33 //
34 class LegacyBlockFile final : public BlockFile {
35  public:
36 
37  // Constructor / Destructor
38 
40  LegacyBlockFile(wxFileNameWrapper &&existingFile,
42  size_t summaryLen,
43  size_t len,
44  bool noRMS);
45  virtual ~LegacyBlockFile();
46 
47  // Reading
48 
50  bool ReadSummary(ArrayOf<char> &data) override;
53  size_t start, size_t len, bool mayThrow) const override;
54 
56  BlockFilePtr Copy(wxFileNameWrapper &&newFileName) override;
58  void SaveXML(XMLWriter &xmlFile) override;
59  DiskByteCount GetSpaceUsage() const override;
60  void Recover() override;
61 
62  static BlockFilePtr BuildFromXML(const FilePath &dir, const wxChar **attrs,
63  size_t len,
65 
66  protected:
68 };
69 
70 #endif // __AUDACITY_LEGACY_BLOCKFILE__
XMLWriter
Base class for XMLFileWriter and XMLStringWriter that provides the general functionality for creating...
Definition: XMLWriter.h:23
LegacyBlockFile::LegacyBlockFile
LegacyBlockFile(wxFileNameWrapper &&existingFile, sampleFormat format, size_t summaryLen, size_t len, bool noRMS)
Create the memory structure to refer to the given block file.
Definition: LegacyBlockFile.cpp:126
LegacyBlockFile::GetSpaceUsage
DiskByteCount GetSpaceUsage() const override
Definition: LegacyBlockFile.cpp:273
wxFileNameWrapper
Definition: wxFileNameWrapper.h:21
LegacyBlockFile::ReadData
size_t ReadData(samplePtr data, sampleFormat format, size_t start, size_t len, bool mayThrow) const override
Read the data section of the disk file.
Definition: LegacyBlockFile.cpp:195
LegacyBlockFile::mFormat
sampleFormat mFormat
Definition: LegacyBlockFile.h:67
LegacyBlockFile::ReadSummary
bool ReadSummary(ArrayOf< char > &data) override
Read the summary section of the disk file.
Definition: LegacyBlockFile.cpp:157
LegacyBlockFile::Recover
void Recover() override
Definition: LegacyBlockFile.cpp:279
LegacyBlockFile
Audacity 1.1.0 block file format:
Definition: LegacyBlockFile.h:34
LegacyBlockFile::~LegacyBlockFile
virtual ~LegacyBlockFile()
Definition: LegacyBlockFile.cpp:148
FilePath
wxString FilePath
Definition: Project.h:20
format
int format
Definition: ExportPCM.cpp:56
sampleFormat
sampleFormat
Definition: SampleFormat.h:29
samplePtr
char * samplePtr
Definition: SampleFormat.h:49
min
int min(int a, int b)
Definition: CompareAudioCommand.cpp:106
ComputeLegacySummaryInfo
void ComputeLegacySummaryInfo(const wxFileName &fileName, size_t summaryLen, sampleFormat format, SummaryInfo *info, bool noRMS, bool Silent, float *min, float *max, float *rms)
Definition: LegacyBlockFile.cpp:38
LegacyBlockFile::SaveXML
void SaveXML(XMLWriter &xmlFile) override
Write an XML representation of this file.
Definition: LegacyBlockFile.cpp:205
LegacyBlockFile::Copy
BlockFilePtr Copy(wxFileNameWrapper &&newFileName) override
Create a NEW block file identical to this one.
Definition: LegacyBlockFile.cpp:265
LegacyBlockFile::BuildFromXML
static BlockFilePtr BuildFromXML(const FilePath &dir, const wxChar **attrs, size_t len, sampleFormat format)
static
Definition: LegacyBlockFile.cpp:223
ArrayOf< char >