Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
Institute of Technical Acoustics (ITA)
VACore
Commits
a206476d
Commit
a206476d
authored
Feb 27, 2018
by
Dipl.-Ing. Jonas Stienen
Browse files
Options
Browse Files
Download
Plain Diff
Finalizing merge for offline simulation feature
parents
2e7826d0
435ff750
Changes
20
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
537 additions
and
135 deletions
+537
-135
CMakeLists.txt
CMakeLists.txt
+8
-4
src/Audiosignals/VAAudioSignalSourceManager.cpp
src/Audiosignals/VAAudioSignalSourceManager.cpp
+1
-3
src/Drivers/Audio/VAAudioDriverConfig.cpp
src/Drivers/Audio/VAAudioDriverConfig.cpp
+5
-6
src/Drivers/Audio/VAVirtualAudioDriverBackend.cpp
src/Drivers/Audio/VAVirtualAudioDriverBackend.cpp
+146
-0
src/Drivers/Audio/VAVirtualAudioDriverBackend.h
src/Drivers/Audio/VAVirtualAudioDriverBackend.h
+26
-6
src/Drivers/Audio/_SourceFiles.cmake
src/Drivers/Audio/_SourceFiles.cmake
+2
-2
src/Rendering/Ambisonics/Freefield/VAAmbisonicsFreefieldAudioRenderer.cpp
...bisonics/Freefield/VAAmbisonicsFreefieldAudioRenderer.cpp
+1
-1
src/Rendering/Binaural/AirTrafficNoise/VAAirTrafficNoiseAudioRenderer.cpp
...naural/AirTrafficNoise/VAAirTrafficNoiseAudioRenderer.cpp
+1
-1
src/Rendering/Binaural/ArtificialReverb/VABinauralArtificialReverb.cpp
.../Binaural/ArtificialReverb/VABinauralArtificialReverb.cpp
+1
-1
src/Rendering/Binaural/FreeField/VABinauralFreeFieldAudioRenderer.cpp
...g/Binaural/FreeField/VABinauralFreeFieldAudioRenderer.cpp
+16
-4
src/Rendering/Binaural/FreeField/VABinauralFreefieldAudioRenderer.h
...ing/Binaural/FreeField/VABinauralFreefieldAudioRenderer.h
+2
-0
src/Rendering/Prototyping/FreeField/VAPrototypeFreeFieldAudioRenderer.cpp
...ototyping/FreeField/VAPrototypeFreeFieldAudioRenderer.cpp
+1
-1
src/Rendering/Prototyping/GenericPath/VAPTGenericPathAudioRenderer.cpp
.../Prototyping/GenericPath/VAPTGenericPathAudioRenderer.cpp
+120
-94
src/Rendering/Prototyping/GenericPath/VAPTGenericPathAudioRenderer.h
...ng/Prototyping/GenericPath/VAPTGenericPathAudioRenderer.h
+2
-1
src/Rendering/Prototyping/HearingAid/VAPTHearingAidRenderer.cpp
...ndering/Prototyping/HearingAid/VAPTHearingAidRenderer.cpp
+1
-1
src/Rendering/VAAudioRenderer.h
src/Rendering/VAAudioRenderer.h
+1
-0
src/VACoreImpl.cpp
src/VACoreImpl.cpp
+25
-7
tests/CMakeLists.txt
tests/CMakeLists.txt
+11
-1
tests/CoreTest.cpp
tests/CoreTest.cpp
+2
-2
tests/OfflineSimulationVirtualDeviceTest.cpp
tests/OfflineSimulationVirtualDeviceTest.cpp
+165
-0
No files found.
CMakeLists.txt
View file @
a206476d
...
@@ -57,6 +57,10 @@ vista_use_package( Eigen REQUIRED )
...
@@ -57,6 +57,10 @@ vista_use_package( Eigen REQUIRED )
# Optional packages
# Optional packages
vista_find_package
(
RavenNet QUIET
)
vista_find_package
(
RavenNet QUIET
)
if
(
ITA_VA_CORE_LIBS_FFT_USES_FFTW3
)
set
(
ITA_VA_COPYING_GNU_GPL ON PARENT_SCOPE
)
endif
(
)
if
(
NOT DEFINED ITA_VACORE_VERSION_MAJOR
)
if
(
NOT DEFINED ITA_VACORE_VERSION_MAJOR
)
set
(
ITA_VACORE_VERSION_MAJOR
"v2018"
CACHE STRING
"VACore version major (usually 'v' and year)"
)
set
(
ITA_VACORE_VERSION_MAJOR
"v2018"
CACHE STRING
"VACore version major (usually 'v' and year)"
)
endif
(
)
endif
(
)
...
@@ -116,8 +120,8 @@ endif( )
...
@@ -116,8 +120,8 @@ endif( )
if
(
NOT DEFINED ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO
)
if
(
NOT DEFINED ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO
)
set
(
ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO ON CACHE BOOL
"Build VACore with Portaudio audio backend support"
)
set
(
ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO ON CACHE BOOL
"Build VACore with Portaudio audio backend support"
)
endif
(
)
endif
(
)
if
(
NOT DEFINED ITA_VACORE_WITH_AUDIO_BACKEND_
DUMMY
)
if
(
NOT DEFINED ITA_VACORE_WITH_AUDIO_BACKEND_
VIRTUAL
)
set
(
ITA_VACORE_WITH_AUDIO_BACKEND_
DUMMY
OFF CACHE BOOL
"Build VACore with
dummy
audio backend support"
)
set
(
ITA_VACORE_WITH_AUDIO_BACKEND_
VIRTUAL
OFF CACHE BOOL
"Build VACore with
virtual
audio backend support
(for offline simulations)
"
)
endif
(
)
endif
(
)
...
@@ -254,8 +258,8 @@ endif( )
...
@@ -254,8 +258,8 @@ endif( )
if
(
ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO
)
if
(
ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO
)
add_definitions
(
-DVACORE_WITH_AUDIO_BACKEND_PORTAUDIO
)
add_definitions
(
-DVACORE_WITH_AUDIO_BACKEND_PORTAUDIO
)
endif
(
)
endif
(
)
if
(
ITA_VACORE_WITH_AUDIO_BACKEND_
DUMMY
)
if
(
ITA_VACORE_WITH_AUDIO_BACKEND_
VIRTUAL
)
add_definitions
(
-DVACORE_WITH_AUDIO_BACKEND_
DUMMY
)
add_definitions
(
-DVACORE_WITH_AUDIO_BACKEND_
VIRTUAL
)
endif
(
)
endif
(
)
# Rendering definitions
# Rendering definitions
...
...
src/Audiosignals/VAAudioSignalSourceManager.cpp
View file @
a206476d
...
@@ -36,9 +36,7 @@
...
@@ -36,9 +36,7 @@
#include <sstream>
#include <sstream>
CVAAudioSignalSourceManager
::
CVAAudioSignalSourceManager
(
CVACoreImpl
*
pParentCore
,
CVAAudioSignalSourceManager
::
CVAAudioSignalSourceManager
(
CVACoreImpl
*
pParentCore
,
const
CVAAudioDriverConfig
&
oAudioDriverConfig
,
ITADatasource
*
pDeviceInputSource
)
const
CVAAudioDriverConfig
&
oAudioDriverConfig
,
ITADatasource
*
pDeviceInputSource
)
:
m_pParentCore
(
pParentCore
),
:
m_pParentCore
(
pParentCore
),
m_dSamplerate
(
oAudioDriverConfig
.
dSampleRate
),
m_dSamplerate
(
oAudioDriverConfig
.
dSampleRate
),
m_iBlocklength
(
oAudioDriverConfig
.
iBuffersize
),
m_iBlocklength
(
oAudioDriverConfig
.
iBuffersize
),
...
...
src/Drivers/Audio/VAAudioDriverConfig.cpp
View file @
a206476d
...
@@ -35,8 +35,8 @@ void CVAAudioDriverConfig::Init( const CVAStruct& oArgs )
...
@@ -35,8 +35,8 @@ void CVAAudioDriverConfig::Init( const CVAStruct& oArgs )
CVAConfigInterpreter
conf
(
oArgs
);
CVAConfigInterpreter
conf
(
oArgs
);
conf
.
OptNonEmptyString
(
"Driver"
,
sDriver
);
conf
.
OptNonEmptyString
(
"Driver"
,
sDriver
);
conf
.
OptString
(
"Device"
,
sDevice
,
"AUTO"
);
conf
.
OptString
(
"Device"
,
sDevice
,
"AUTO"
);
conf
.
OptNumber
(
"Sample
r
ate"
,
dSampleRate
,
DEFAULT_SAMPLERATE
);
conf
.
OptNumber
(
"Sample
R
ate"
,
dSampleRate
,
DEFAULT_SAMPLERATE
);
conf
.
OptInteger
(
"Buffer
s
ize"
,
iBuffersize
,
AUTO
,
&
lits
);
conf
.
OptInteger
(
"Buffer
S
ize"
,
iBuffersize
,
AUTO
,
&
lits
);
conf
.
OptInteger
(
"InputChannels"
,
iInputChannels
,
AUTO
,
&
lits
);
conf
.
OptInteger
(
"InputChannels"
,
iInputChannels
,
AUTO
,
&
lits
);
conf
.
OptInteger
(
"OutputChannels"
,
iOutputChannels
,
AUTO
,
&
lits
);
conf
.
OptInteger
(
"OutputChannels"
,
iOutputChannels
,
AUTO
,
&
lits
);
...
@@ -48,9 +48,8 @@ void CVAAudioDriverConfig::Init( const CVAStruct& oArgs )
...
@@ -48,9 +48,8 @@ void CVAAudioDriverConfig::Init( const CVAStruct& oArgs )
VA_EXCEPT1
(
"Invalid buffersize specified"
);
VA_EXCEPT1
(
"Invalid buffersize specified"
);
if
(
(
iInputChannels
<
0
)
&&
(
iInputChannels
!=
AUTO
)
)
if
(
(
iInputChannels
<
0
)
&&
(
iInputChannels
!=
AUTO
)
)
VA_EXCEPT1
(
"Invalid number of input channels specified"
);
VA_EXCEPT1
(
"Invalid number of input channels specified
(autodetect = -1 or AUTO)
"
);
// @todo: really?! I don't see a point why single channel output shouldn't be supported.
if
(
(
iOutputChannels
<
1
)
&&
(
iOutputChannels
!=
AUTO
)
)
if
(
(
iOutputChannels
<
2
)
&&
(
iOutputChannels
!=
AUTO
)
)
VA_EXCEPT1
(
"Invalid number of output channels specified (at least one required, if not using autodetect ... -1 or AUTO)"
);
VA_EXCEPT1
(
"Invalid number of output channels specified (at least two)"
);
}
}
src/Drivers/Audio/VA
Dummy
AudioDriverBackend.cpp
→
src/Drivers/Audio/VA
Virtual
AudioDriverBackend.cpp
View file @
a206476d
#include "VA
Dummy
AudioDriverBackend.h"
#include "VA
Virtual
AudioDriverBackend.h"
#include "../../Utils/VADebug.h"
#include "../../Utils/VADebug.h"
#include <VAException.h>
#include <ITAException.h>
#include <ITAException.h>
#include <ITANumericUtils.h>
#include <ITANumericUtils.h>
...
@@ -8,8 +9,8 @@
...
@@ -8,8 +9,8 @@
#include <cassert>
#include <cassert>
CVA
Dummy
AudioDriverBackend
::
CVA
Dummy
AudioDriverBackend
(
const
CVAAudioDriverConfig
*
pConfig
)
CVA
Virtual
AudioDriverBackend
::
CVA
Virtual
AudioDriverBackend
(
const
CVAAudioDriverConfig
*
pConfig
)
:
CVAObject
(
"VirtualAudioD
river
"
)
:
CVAObject
(
"VirtualAudioD
evice
"
)
,
m_oConfig
(
*
pConfig
)
,
m_oConfig
(
*
pConfig
)
,
m_pDataSource
(
NULL
)
,
m_pDataSource
(
NULL
)
,
m_bStarted
(
false
)
,
m_bStarted
(
false
)
...
@@ -19,72 +20,77 @@ CVADummyAudioDriverBackend::CVADummyAudioDriverBackend( const CVAAudioDriverConf
...
@@ -19,72 +20,77 @@ CVADummyAudioDriverBackend::CVADummyAudioDriverBackend( const CVAAudioDriverConf
m_oOutputStreamProps
.
uiBlocklength
=
(
unsigned
int
)
m_oConfig
.
iBuffersize
;
m_oOutputStreamProps
.
uiBlocklength
=
(
unsigned
int
)
m_oConfig
.
iBuffersize
;
}
}
CVA
Dummy
AudioDriverBackend
::~
CVA
Dummy
AudioDriverBackend
()
CVA
Virtual
AudioDriverBackend
::~
CVA
Virtual
AudioDriverBackend
()
{
{
}
}
std
::
string
CVA
Dummy
AudioDriverBackend
::
getDriverName
()
const
std
::
string
CVA
Virtual
AudioDriverBackend
::
getDriverName
()
const
{
{
return
"
Dummy
"
;
return
"
Virtual
"
;
}
}
std
::
string
CVA
Dummy
AudioDriverBackend
::
getDeviceName
()
const
std
::
string
CVA
Virtual
AudioDriverBackend
::
getDeviceName
()
const
{
{
return
"
Dummy
"
;
return
"
Trigger
"
;
}
}
int
CVA
Dummy
AudioDriverBackend
::
getNumberOfInputs
()
const
int
CVA
Virtual
AudioDriverBackend
::
getNumberOfInputs
()
const
{
{
return
m_oConfig
.
iInputChannels
;
return
m_oConfig
.
iInputChannels
;
}
}
const
ITAStreamProperties
*
CVA
Dummy
AudioDriverBackend
::
getOutputStreamProperties
()
const
const
ITAStreamProperties
*
CVA
Virtual
AudioDriverBackend
::
getOutputStreamProperties
()
const
{
{
return
&
m_oOutputStreamProps
;
return
&
m_oOutputStreamProps
;
}
}
void
CVA
Dummy
AudioDriverBackend
::
setOutputStreamDatasource
(
ITADatasource
*
pDatasource
)
void
CVA
Virtual
AudioDriverBackend
::
setOutputStreamDatasource
(
ITADatasource
*
pDatasource
)
{
{
m_pDataSource
=
pDatasource
;
m_pDataSource
=
pDatasource
;
}
}
ITADatasource
*
CVA
Dummy
AudioDriverBackend
::
getInputStreamDatasource
()
const
ITADatasource
*
CVA
Virtual
AudioDriverBackend
::
getInputStreamDatasource
()
const
{
{
return
nullptr
;
return
nullptr
;
}
}
void
CVA
Dummy
AudioDriverBackend
::
initialize
()
void
CVA
Virtual
AudioDriverBackend
::
initialize
()
{
{
}
}
void
CVA
Dummy
AudioDriverBackend
::
finalize
()
void
CVA
Virtual
AudioDriverBackend
::
finalize
()
{
{
}
}
void
CVA
Dummy
AudioDriverBackend
::
startStreaming
()
void
CVA
Virtual
AudioDriverBackend
::
startStreaming
()
{
{
m_bStarted
=
true
;
m_bStarted
=
true
;
}
}
bool
CVA
Dummy
AudioDriverBackend
::
isStreaming
()
bool
CVA
Virtual
AudioDriverBackend
::
isStreaming
()
{
{
return
m_bStarted
;
return
m_bStarted
;
}
}
void
CVA
Dummy
AudioDriverBackend
::
stopStreaming
()
void
CVA
Virtual
AudioDriverBackend
::
stopStreaming
()
{
{
m_bStarted
=
false
;
m_bStarted
=
false
;
}
}
CVAStruct
CVA
Dummy
AudioDriverBackend
::
CallObject
(
const
CVAStruct
&
oArgs
)
CVAStruct
CVA
Virtual
AudioDriverBackend
::
CallObject
(
const
CVAStruct
&
oArgs
)
{
{
CVAStruct
oReturn
;
CVAStruct
oReturn
;
if
(
oArgs
.
HasKey
(
"trigger"
)
&&
m_pDataSource
)
if
(
oArgs
.
HasKey
(
"trigger"
)
&&
m_pDataSource
)
{
// Trigger block pointer getter, then increment
for
(
int
n
=
0
;
n
<
(
int
)
m_pDataSource
->
GetNumberOfChannels
();
n
++
)
m_pDataSource
->
GetBlockPointer
(
n
,
&
m_oStreamInfo
);
m_pDataSource
->
IncrementBlockPointer
();
m_pDataSource
->
IncrementBlockPointer
();
}
if
(
oArgs
.
HasKey
(
"help"
)
||
oArgs
.
HasKey
(
"info"
)
)
if
(
oArgs
.
HasKey
(
"help"
)
||
oArgs
.
HasKey
(
"info"
)
)
{
{
...
@@ -93,3 +99,48 @@ CVAStruct CVADummyAudioDriverBackend::CallObject( const CVAStruct& oArgs )
...
@@ -93,3 +99,48 @@ CVAStruct CVADummyAudioDriverBackend::CallObject( const CVAStruct& oArgs )
return
oReturn
;
return
oReturn
;
}
}
CVAVirtualAudioDriverBackend
::
ManualClock
::
ManualClock
()
:
CVAObject
(
"ManualClock"
)
,
m_dTime
(
0.0
f
)
{
}
CVAVirtualAudioDriverBackend
::
ManualClock
::~
ManualClock
()
{
}
double
CVAVirtualAudioDriverBackend
::
ManualClock
::
getTime
()
{
m_csTime
.
enter
();
double
dTime
=
m_dTime
;
m_csTime
.
leave
();
return
dTime
;
}
void
CVAVirtualAudioDriverBackend
::
ManualClock
::
SetTime
(
double
dNow
)
{
m_csTime
.
enter
();
assert
(
m_dTime
<
dNow
);
m_dTime
=
dNow
;
m_csTime
.
leave
();
}
CVAStruct
CVAVirtualAudioDriverBackend
::
ManualClock
::
CallObject
(
const
CVAStruct
&
oArgs
)
{
if
(
oArgs
.
HasKey
(
"info"
)
||
oArgs
.
HasKey
(
"help"
)
)
{
CVAStruct
oRet
;
oRet
[
"usage"
]
=
"Set the manual clock with the key 'time' and a floating point value. Time has to be strict monotonously increasing"
;
return
oRet
;
}
else
if
(
oArgs
.
HasKey
(
"time"
)
)
{
SetTime
(
oArgs
[
"time"
]
);
return
CVAStruct
();
}
else
{
VA_EXCEPT2
(
INVALID_PARAMETER
,
"Could npt understand call, 'time' key missing. use 'help' for more information"
);
}
}
src/Drivers/Audio/VA
Dummy
AudioDriverBackend.h
→
src/Drivers/Audio/VA
Virtual
AudioDriverBackend.h
View file @
a206476d
...
@@ -11,8 +11,8 @@
...
@@ -11,8 +11,8 @@
* --------------------------------------------------------------------------------------------
* --------------------------------------------------------------------------------------------
*/
*/
#ifndef IW_VACORE_
DUMMY
_AUDIO_DRIVER_BACKEND
#ifndef IW_VACORE_
VIRTUAL
_AUDIO_DRIVER_BACKEND
#define IW_VACORE_
DUMMY
_AUDIO_DRIVER_BACKEND
#define IW_VACORE_
VIRTUAL
_AUDIO_DRIVER_BACKEND
#include "VAAudioDriverBackend.h"
#include "VAAudioDriverBackend.h"
#include "VAAudioDriverConfig.h"
#include "VAAudioDriverConfig.h"
...
@@ -21,14 +21,17 @@
...
@@ -21,14 +21,17 @@
#include <ITAStreamProperties.h>
#include <ITAStreamProperties.h>
#include <ITADatasource.h>
#include <ITADatasource.h>
#include <ITACriticalSection.h>
#include <ITAClock.h>
#include <ITAStreamInfo.h>
#pragma warning( disable : 4512 ) // yep no copy constructor
#pragma warning( disable : 4512 ) // yep no copy constructor
class
CVA
Dummy
AudioDriverBackend
:
public
IVAAudioDriverBackend
,
public
CVAObject
class
CVA
Virtual
AudioDriverBackend
:
public
IVAAudioDriverBackend
,
public
CVAObject
{
{
public:
public:
CVA
Dummy
AudioDriverBackend
(
const
CVAAudioDriverConfig
*
pConfig
);
CVA
Virtual
AudioDriverBackend
(
const
CVAAudioDriverConfig
*
pConfig
);
~
CVA
Dummy
AudioDriverBackend
();
~
CVA
Virtual
AudioDriverBackend
();
std
::
string
getDriverName
()
const
;
std
::
string
getDriverName
()
const
;
std
::
string
getDeviceName
()
const
;
std
::
string
getDeviceName
()
const
;
...
@@ -45,11 +48,28 @@ public:
...
@@ -45,11 +48,28 @@ public:
CVAStruct
CallObject
(
const
CVAStruct
&
oArgs
);
CVAStruct
CallObject
(
const
CVAStruct
&
oArgs
);
class
ManualClock
:
public
ITAClock
,
public
CVAObject
{
public:
ManualClock
();
~
ManualClock
();
inline
std
::
string
getName
()
const
{
return
"ManualClock"
;
};
inline
double
getResolution
()
const
{
return
-
1.0
f
;
};
double
getFrequency
()
const
{
return
-
1.0
f
;
};
inline
double
getTime
();
inline
void
SetTime
(
const
double
dManualNow
);
CVAStruct
CallObject
(
const
CVAStruct
&
oArgs
);
private:
ITACriticalSection
m_csTime
;
double
m_dTime
;
};
private:
private:
const
CVAAudioDriverConfig
m_oConfig
;
const
CVAAudioDriverConfig
m_oConfig
;
ITAStreamProperties
m_oOutputStreamProps
;
ITAStreamProperties
m_oOutputStreamProps
;
ITAStreamInfo
m_oStreamInfo
;
ITADatasource
*
m_pDataSource
;
ITADatasource
*
m_pDataSource
;
bool
m_bStarted
;
bool
m_bStarted
;
};
};
#endif // IW_VACORE_
DUMMY
_AUDIO_DRIVER_BACKEND
#endif // IW_VACORE_
VIRTUAL
_AUDIO_DRIVER_BACKEND
src/Drivers/Audio/_SourceFiles.cmake
View file @
a206476d
...
@@ -17,8 +17,8 @@ endif( )
...
@@ -17,8 +17,8 @@ endif( )
if
(
ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO
)
if
(
ITA_VACORE_WITH_AUDIO_BACKEND_PORTAUDIO
)
list
(
APPEND DirFiles VAPortaudioBackend.cpp VAPortaudioBackend.h
)
list
(
APPEND DirFiles VAPortaudioBackend.cpp VAPortaudioBackend.h
)
endif
(
)
endif
(
)
if
(
ITA_VACORE_WITH_AUDIO_BACKEND_
DUMMY
)
if
(
ITA_VACORE_WITH_AUDIO_BACKEND_
VIRTUAL
)
list
(
APPEND DirFiles VA
Dummy
AudioDriverBackend.cpp VA
Dummy
AudioDriverBackend.h
)
list
(
APPEND DirFiles VA
Virtual
AudioDriverBackend.cpp VA
Virtual
AudioDriverBackend.h
)
endif
(
)
endif
(
)
set
(
DirFiles_SourceGroup
"
${
RelativeSourceGroup
}
"
)
set
(
DirFiles_SourceGroup
"
${
RelativeSourceGroup
}
"
)
...
...
src/Rendering/Ambisonics/Freefield/VAAmbisonicsFreefieldAudioRenderer.cpp
View file @
a206476d
...
@@ -334,7 +334,7 @@ void CVAAmbisonicsFreeFieldAudioRenderer::Reset()
...
@@ -334,7 +334,7 @@ void CVAAmbisonicsFreeFieldAudioRenderer::Reset()
VA_VERBOSE
(
"AmbisonicsFreeFieldAudioRenderer"
,
"Received reset call, indicating reset now"
);
VA_VERBOSE
(
"AmbisonicsFreeFieldAudioRenderer"
,
"Received reset call, indicating reset now"
);
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
if
(
ctxAudio
.
m_iStatus
==
0
)
if
(
ctxAudio
.
m_iStatus
==
0
||
m_oParams
.
bOfflineRendering
)
{
{
VA_VERBOSE
(
"AmbisonicsFreeFieldAudioRenderer"
,
"Was not streaming, will reset manually"
);
VA_VERBOSE
(
"AmbisonicsFreeFieldAudioRenderer"
,
"Was not streaming, will reset manually"
);
// if no streaming active, reset manually
// if no streaming active, reset manually
...
...
src/Rendering/Binaural/AirTrafficNoise/VAAirTrafficNoiseAudioRenderer.cpp
View file @
a206476d
...
@@ -410,7 +410,7 @@ void CVABinauralAirTrafficNoiseAudioRenderer::Reset()
...
@@ -410,7 +410,7 @@ void CVABinauralAirTrafficNoiseAudioRenderer::Reset()
{
{
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
if
(
ctxAudio
.
m_iStatus
==
0
)
if
(
ctxAudio
.
m_iStatus
==
0
||
m_oParams
.
bOfflineRendering
)
{
{
// if no streaming active, reset manually
// if no streaming active, reset manually
//SyncInternalData();
//SyncInternalData();
...
...
src/Rendering/Binaural/ArtificialReverb/VABinauralArtificialReverb.cpp
View file @
a206476d
...
@@ -491,7 +491,7 @@ void CVABinauralArtificialReverbAudioRenderer::Reset()
...
@@ -491,7 +491,7 @@ void CVABinauralArtificialReverbAudioRenderer::Reset()
{
{
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
if
(
ctxAudio
.
m_iStatus
==
0
)
if
(
ctxAudio
.
m_iStatus
==
0
||
m_oParams
.
bOfflineRendering
)
{
{
// if no streaming active, reset manually
// if no streaming active, reset manually
ResetInternalData
();
ResetInternalData
();
...
...
src/Rendering/Binaural/FreeField/VABinauralFreeFieldAudioRenderer.cpp
View file @
a206476d
...
@@ -188,19 +188,20 @@ private:
...
@@ -188,19 +188,20 @@ private:
friend
class
CVABFFSoundPathFactory
;
friend
class
CVABFFSoundPathFactory
;
};
};
class
CVABFFSoundPathFactory
:
public
IVAPoolObjectFactory
{
class
CVABFFSoundPathFactory
:
public
IVAPoolObjectFactory
{
public:
public:
CVABFFSoundPathFactory
(
double
dSamplerate
,
int
iBlocklength
,
int
iHRIRFilterLength
,
int
iDirFilterLength
)
CVABFFSoundPathFactory
(
double
dSamplerate
,
int
iBlocklength
,
int
iHRIRFilterLength
,
int
iDirFilterLength
)
:
m_dSamplerate
(
dSamplerate
)
:
m_dSamplerate
(
dSamplerate
)
,
m_iBlocklength
(
iBlocklength
)
,
m_iBlocklength
(
iBlocklength
)
,
m_iHRIRFilterLength
(
iHRIRFilterLength
)
,
m_iHRIRFilterLength
(
iHRIRFilterLength
)
,
m_iDirFilterLength
(
iDirFilterLength
)
,
m_iDirFilterLength
(
iDirFilterLength
)
{}
{}
;
CVAPoolObject
*
CreatePoolObject
()
CVAPoolObject
*
CreatePoolObject
()
{
{
return
new
CVABFFSoundPath
(
m_dSamplerate
,
m_iBlocklength
,
m_iHRIRFilterLength
,
m_iDirFilterLength
);
return
new
CVABFFSoundPath
(
m_dSamplerate
,
m_iBlocklength
,
m_iHRIRFilterLength
,
m_iDirFilterLength
);
}
}
;
private:
private:
double
m_dSamplerate
;
//!< Abtastrate
double
m_dSamplerate
;
//!< Abtastrate
...
@@ -362,7 +363,7 @@ void CVABinauralFreeFieldAudioRenderer::Reset()
...
@@ -362,7 +363,7 @@ void CVABinauralFreeFieldAudioRenderer::Reset()
VA_VERBOSE
(
"BinauralFreeFieldAudioRenderer"
,
"Received reset call, indicating reset now"
);
VA_VERBOSE
(
"BinauralFreeFieldAudioRenderer"
,
"Received reset call, indicating reset now"
);
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
if
(
ctxAudio
.
m_iStatus
==
0
)
if
(
ctxAudio
.
m_iStatus
==
0
||
m_oParams
.
bOfflineRendering
)
{
{
VA_VERBOSE
(
"BinauralFreeFieldAudioRenderer"
,
"Was not streaming, will reset manually"
);
VA_VERBOSE
(
"BinauralFreeFieldAudioRenderer"
,
"Was not streaming, will reset manually"
);
// if no streaming active, reset manually
// if no streaming active, reset manually
...
@@ -1391,6 +1392,17 @@ CVAStruct CVABinauralFreeFieldAudioRenderer::CallObject( const CVAStruct& oArgs
...
@@ -1391,6 +1392,17 @@ CVAStruct CVABinauralFreeFieldAudioRenderer::CallObject( const CVAStruct& oArgs
VA_EXCEPT2
(
INVALID_PARAMETER
,
"Invalid command (
\"
"
+
sCommandOrg
+
"
\"
)"
);
VA_EXCEPT2
(
INVALID_PARAMETER
,
"Invalid command (
\"
"
+
sCommandOrg
+
"
\"
)"
);
}
}
void
CVABinauralFreeFieldAudioRenderer
::
SetParameters
(
const
CVAStruct
&
oParams
)
{
// Only delegate
CallObject
(
oParams
);
}
CVAStruct
CVABinauralFreeFieldAudioRenderer
::
GetParameters
(
const
CVAStruct
&
)
{
return
CVAStruct
(
*
m_oParams
.
pConfig
);
}
void
CVABinauralFreeFieldAudioRenderer
::
onStartDumpListeners
(
const
std
::
string
&
sFilenameFormat
)
void
CVABinauralFreeFieldAudioRenderer
::
onStartDumpListeners
(
const
std
::
string
&
sFilenameFormat
)
{
{
if
(
m_bDumpListeners
)
if
(
m_bDumpListeners
)
...
...
src/Rendering/Binaural/FreeField/VABinauralFreefieldAudioRenderer.h
View file @
a206476d
...
@@ -118,6 +118,8 @@ public:
...
@@ -118,6 +118,8 @@ public:
// --= Module interface =--
// --= Module interface =--
CVAStruct
CallObject
(
const
CVAStruct
&
oArgs
);
CVAStruct
CallObject
(
const
CVAStruct
&
oArgs
);
void
SetParameters
(
const
CVAStruct
&
oParams
);
CVAStruct
GetParameters
(
const
CVAStruct
&
);
void
onStartDumpListeners
(
const
std
::
string
&
sFilenameFormat
);
void
onStartDumpListeners
(
const
std
::
string
&
sFilenameFormat
);
void
onStopDumpListeners
();
void
onStopDumpListeners
();
...
...
src/Rendering/Prototyping/FreeField/VAPrototypeFreeFieldAudioRenderer.cpp
View file @
a206476d
...
@@ -370,7 +370,7 @@ void CVAPrototypeFreeFieldAudioRenderer::Reset()
...
@@ -370,7 +370,7 @@ void CVAPrototypeFreeFieldAudioRenderer::Reset()
VA_VERBOSE
(
"PrototypeFreeFieldAudioRenderer"
,
"Received reset call, indicating reset now"
);
VA_VERBOSE
(
"PrototypeFreeFieldAudioRenderer"
,
"Received reset call, indicating reset now"
);
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
if
(
ctxAudio
.
m_iStatus
==
0
)
if
(
ctxAudio
.
m_iStatus
==
0
||
m_oParams
.
bOfflineRendering
)
{
{
VA_VERBOSE
(
"PrototypeFreeFieldAudioRenderer"
,
"Was not streaming, will reset manually"
);
VA_VERBOSE
(
"PrototypeFreeFieldAudioRenderer"
,
"Was not streaming, will reset manually"
);
// if no streaming active, reset manually
// if no streaming active, reset manually
...
...
src/Rendering/Prototyping/GenericPath/VAPTGenericPathAudioRenderer.cpp
View file @
a206476d
This diff is collapsed.
Click to expand it.
src/Rendering/Prototyping/GenericPath/VAPTGenericPathAudioRenderer.h
View file @
a206476d
...
@@ -120,9 +120,9 @@ private:
...
@@ -120,9 +120,9 @@ private:
int
m_iIRFilterLengthSamples
;
//!< Length of the HRIR filter DSP module
int
m_iIRFilterLengthSamples
;
//!< Length of the HRIR filter DSP module
int
m_iNumChannels
;
//!< Number of channels per sound path
int
m_iNumChannels
;
//!< Number of channels per sound path
int
m_iFilterDelaySamples
;
//!< Filter delay in samples
bool
m_bOutputMonitoring
;
//!< Shows output infos / warnings if the overall listener output is zero (no filter loaded)
bool
m_bOutputMonitoring
;
//!< Shows output infos / warnings if the overall listener output is zero (no filter loaded)
ITADatasourceRealization
*
m_pOutput
;
ITADatasourceRealization
*
m_pOutput
;
ITASampleBuffer
m_sfTempBuffer
;
class
CVAPTGPUpdateMessage
:
public
CVAPoolObject
class
CVAPTGPUpdateMessage
:
public
CVAPoolObject
{
{
...
@@ -179,6 +179,7 @@ private:
...
@@ -179,6 +179,7 @@ private:
void
UpdateGenericSoundPath
(
int
iListenerID
,
int
iSourceID
,
int
iChannel
,
const
std
::
string
&
sIRFilePath
);
void
UpdateGenericSoundPath
(
int
iListenerID
,
int
iSourceID
,
int
iChannel
,
const
std
::
string
&
sIRFilePath
);
void
UpdateGenericSoundPath
(
int
iListenerID
,
int
iSourceID
,
ITASampleFrame
&
sfIR
);
void
UpdateGenericSoundPath
(
int
iListenerID
,
int
iSourceID
,
ITASampleFrame
&
sfIR
);
void
UpdateGenericSoundPath
(
int
iListenerID
,
int
iSourceID
,
int
iChannel
,
ITASampleBuffer
&
sbIR
);
void
UpdateGenericSoundPath
(
int
iListenerID
,
int
iSourceID
,
int
iChannel
,
ITASampleBuffer
&
sbIR
);
void
UpdateGenericSoundPath
(
const
int
iListenerID
,
const
int
iSourceID
,
const
double
dDelaySeconds
);
friend
class
CVAPTGenericSoundPath
;
friend
class
CVAPTGenericSoundPath
;
friend
class
CVAPTGPListenerPoolFactory
;
friend
class
CVAPTGPListenerPoolFactory
;
...
...
src/Rendering/Prototyping/HearingAid/VAPTHearingAidRenderer.cpp
View file @
a206476d
...
@@ -405,7 +405,7 @@ void CVAPTHearingAidRenderer::Reset()
...
@@ -405,7 +405,7 @@ void CVAPTHearingAidRenderer::Reset()
{
{
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
ctxAudio
.
m_iResetFlag
=
1
;
// Request reset
if
(
ctxAudio
.
m_iStatus
==
0
)
if
(
ctxAudio
.
m_iStatus
==
0
||
m_oParams
.
bOfflineRendering
)
{