OpenDAFF C++ API  v1.7
Directional Audio File Format
DAFFReader.h
Go to the documentation of this file.
1 /*
2  * -------------------------------------------------------------------------------------
3  *
4  * OpenDAFF - A free, open source software package for directional audio data
5  * Copyright 2016 Institute of Technical Acoustics, RWTH Aachen University
6  * OpenDAFF is distributed under the Apache License Version 2.0.
7  *
8  * ------------------------------------------------------------------------------------
9  *
10  */
11 #ifndef IW_DAFF_READER
12 #define IW_DAFF_READER
13 
14 #include <DAFFDefs.h>
15 #include <string>
16 
17 // Forward declarations
18 class DAFFContent;
19 class DAFFMetadata;
20 class DAFFProperties;
21 
23 
117 {
118 public:
120 
123  static DAFFReader* create();
124 
126  inline virtual ~DAFFReader() {};
127 
128 
129  // --= File handling =--
130 
132  virtual bool isFileOpened() const = 0;
133 
135 
141  virtual int openFile( const std::string& sFilePath ) = 0;
142 
144 
147  virtual void closeFile() = 0;
148 
150  virtual std::string getFilename() const = 0;
151 
152 
153  // --= Serialization methods =--
154 
156  virtual int deserialize( char* pDAFFDataBuffer ) = 0;
157 
158  virtual bool isValid() const=0;
159 
160 
161  // --= Properties =--
162 
164  virtual int getFileFormatVersion() const = 0;
165 
167  virtual int getContentType() const = 0;
168 
170  virtual DAFFContent* getContent() const = 0;
171 
173  virtual const DAFFMetadata* getMetadata() const = 0;
174 
176  virtual DAFFProperties* getProperties() const = 0;
177 
178 
179  // --= Utility & helper methods =--
180 
182  virtual std::string toString() const = 0;
183 };
184 
185 #endif // IW_DAFF_READER
#define DAFF_API
Definition: DAFFDefs.h:29
Reader interface for DAFF files.
Definition: DAFFReader.h:116
Common content interface.
Definition: DAFFContent.h:40
virtual ~DAFFReader()
Destructor.
Definition: DAFFReader.h:126
Metadata interface.
Definition: DAFFMetadata.h:31
Properties of a DAFF file that uses regular sphere grids (or parts of a regular grid) ...
OpenDAFF is a project from the Institute of Technical Acoustics, RWTH Aachen University, Germany.