OpenDAFF C++ API  v1.7
Directional Audio File Format
DAFFContentIR.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 
12 #ifndef IW_DAFF_CONTENTIR
13 #define IW_DAFF_CONTENTIR
14 
15 #include <DAFFDefs.h>
16 #include <DAFFContent.h>
17 
19 
39 {
40 public:
41  inline virtual ~DAFFContentIR() {};
42 
44  /*
45  * @return Sampling rate
46  */
47  virtual double getSamplerate() const=0;
48 
49  // --= Basic data access =--
50 
52 
57  virtual int getFilterLength() const=0;
58 
60 
73  virtual int getFilterCoeffs(int iRecordIndex, int iChannel, float* pfDest, float fGain=1.0F) const=0;
74 
76 
91  virtual int addFilterCoeffs(int iRecordIndex, int iChannel, float* pfDest, float fGain=1.0F) const=0;
92 
93  // --= Low-level data access =--
94 
96 
103  virtual int getMinEffectiveFilterOffset() const=0;
104 
106 
112  virtual int getMaxEffectiveFilterLength() const=0;
113 
115 
128  virtual int getEffectiveFilterBounds(int iRecordIndex, int iChannel, int& iOffset, int& iLength) const=0;
129 
131 
148  virtual int getEffectiveFilterCoeffs(int iRecordIndex, int iChannel, float* pfDest, float fGain=1.0F) const=0;
149 
151 
170  virtual int addEffectiveFilterCoeffs(int iRecordIndex, int iChannel, float* pfDest, float fGain=1.0F) const=0;
171 
173 
176  virtual float getOverallPeak()=0;
177 };
178 
179 #endif // IW_DAFF_CONTENTIR
#define DAFF_API
Definition: DAFFDefs.h:29
Common content interface.
Definition: DAFFContent.h:40
virtual ~DAFFContentIR()
Definition: DAFFContentIR.h:41
Impulse response content interface.
Definition: DAFFContentIR.h:38
OpenDAFF is a project from the Institute of Technical Acoustics, RWTH Aachen University, Germany.