Commit 7e95613c authored by Dipl.-Ing. Jonas Stienen's avatar Dipl.-Ing. Jonas Stienen

Merging develop and style changes on binaural real-time renderer, which is due to renaming

parents 5c06f998 462e4ad8
......@@ -48,8 +48,8 @@ vista_use_package( ITABase REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITADSP REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITADataSources REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITAConvolution REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITACTC REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITASampler REQUIRED FIND_DEPENDENCIES )
vista_use_package( ITACTC REQUIRED FIND_DEPENDENCIES )
vista_use_package( OpenDAFF REQUIRED )
vista_use_package( SPLINE REQUIRED )
vista_use_package( Eigen REQUIRED )
......@@ -175,6 +175,9 @@ endif( )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH )
set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH ON CACHE BOOL "Build VACore with rendering module: prototype generic path" )
endif( )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_PROTOTYPE_IMAGE_SOURCE )
set( ITA_VACORE_WITH_RENDERER_PROTOTYPE_IMAGE_SOURCE ON CACHE BOOL "Build VACore with rendering module: prototype image source" )
endif( )
if( NOT DEFINED ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD )
set( ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD ON CACHE BOOL "Build VACore with rendering module: vector-base amplitude panning free-field" )
......@@ -305,6 +308,9 @@ endif( )
if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH )
add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_GENERIC_PATH" )
endif( )
if( ITA_VACORE_WITH_RENDERER_PROTOTYPE_IMAGE_SOURCE )
add_definitions( "-DVACORE_WITH_RENDERER_PROTOTYPE_IMAGE_SOURCE" )
endif( )
if( ITA_VACORE_WITH_RENDERER_VBAP_FREE_FIELD )
add_definitions( "-DVACORE_WITH_RENDERER_VBAP_FREE_FIELD" )
endif( )
......@@ -384,6 +390,7 @@ if( ITA_VACORE_DEPLOY_WITH_COMMON_DATA )
install( FILES "data/Singer.v17.ms.daff" DESTINATION "data" )
install( FILES "data/Trumpet1.v17.ms.daff" DESTINATION "data" )
install( FILES "data/WelcomeToVA.wav" DESTINATION "data" )
install( FILES "data/ambeo_rir_ita_doorway.wav" DESTINATION "data" )
endif( )
if( ITA_VACORE_DEPLOY_WITH_COMMON_CONFIGS )
......@@ -394,6 +401,9 @@ if( ITA_VACORE_DEPLOY_WITH_COMMON_SCRIPTS )
# nothing yet
endif( )
if( ITA_VA_INSTALL_WITH_DLLS )
vista_install_all_dlls( bin )
endif( )
# tests
if( ITA_VA_WITH_TESTS OR ITA_VACORE_WITH_TESTS )
......
......@@ -238,6 +238,29 @@ RecordOutputEnabled = false
RecordOutputFileName = renderer_out.wav
RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/MyGenericRenderer
[Renderer:MyImageSourceRenderer]
Class = PrototypeImageSource
Enabled = false
Reproductions = MyTalkthroughHeadphones
NumChannels = 2
RoomLength = 5
RoomWidth = 5
RoomHeight = 5
MaxOrder = 2
Betax1 = 0.1
Betax2 = 0.1
Betay1 = 0.1
Betay2 = 0.1
Betaz1 = 0.1
Betaz2 = 0.1
DirectSound = true
HRIRFilterLength = 256
IRFilterLengthSamples = 88200
OutputMonitoring = true
RecordOutputEnabled = false
RecordOutputFileName = renderer_out.wav
RecordOutputBaseFolder = recordings/$(ProjectName)/renderer/MyImageSourceRenderer
[Renderer:MyAirTrafficNoiseRenderer]
Class = BinauralAirTrafficNoise
Enabled = false
......
......@@ -6,7 +6,6 @@
[Output:HOAIdeal]
Description = Equiangular placed loudspeaker
Enabled = true
Devices = LS1, LS2, LS3, LS4, LS5, LS6, LS7, LS8, LS9, LS10, LS11, LS12, LS13, LS14, LS15, LS16, LS17, LS18, LS19, LS20, LS21, LS22, LS23, LS24, LS25
[OutputDevice:LS1]
......
......@@ -12,5 +12,6 @@ The following files are licensed under Creative Commons BY-NC-SA 4.0 by the Inst
- Singer.v17.ms.daff
- Trumpet1.v17.ms.daff
- HD650_all_inv.wav
- ambeo_rir_ita_doorway.wav
For more information, higher resolutions for academic purposes and commercial use, please contact us.
......@@ -472,6 +472,7 @@ void CVAAudioSignalSourceManager::SyncSignalSources()
int iEntryCount = m_iStreamCounter;
// Warten bis tatschlich incrementiert (mittels energiesparendem Event)
#pragma warning( disable : 4127 ) // We allow for a constant expression in this infinite while loop
while( true )
{
// [fwe] Fix: Falls das Streaming nicht gestartet wurde. Direkt aus dem Wait raus.
......@@ -487,6 +488,7 @@ void CVAAudioSignalSourceManager::SyncSignalSources()
return;
}
#pragma warning( default : 4127 )
}
void CVAAudioSignalSourceManager::FetchInputData( const CVAAudiostreamState* pStreamInfo )
......
......@@ -23,12 +23,12 @@
#include <ITACriticalSection.h>
#include <ITASampleBuffer.h>
#include <ITAAtomicPrimitives.h>
#include <VistaInterProcComm/Concurrency/VistaThreadEvent.h>
#include <tbb/concurrent_queue.h>
#include <atomic>
#include <map>
#include <string>
#include <vector>
......@@ -182,7 +182,7 @@ private:
tbb::concurrent_queue<CAudioSignalSource*> m_qpNewSources; //!< Lock-free queue: New sources
tbb::concurrent_queue<CAudioSignalSource*> m_qpDelReqSources; //!< Lock-free queue: Request delete sources
ITAAtomicInt m_iStreamCounter; //!< Counts the number of processed stream blocks
std::atomic< int > m_iStreamCounter; //!< Counts the number of processed stream blocks
VistaThreadEvent m_evStreamCounterInc; //!< Event: Stream counter incremented
//! Signal source find by ID
......
......@@ -16,11 +16,11 @@
#include <VAAudioSignalSource.h>
#include <ITAAtomicPrimitives.h>
#include <ITADataSourceDelegator.h>
#include <ITASampleBuffer.h>
#include <ITASampleFrame.h>
#include <atomic>
#include <string>
class ITABufferDatasource;
......@@ -57,8 +57,8 @@ public:
private:
IVAInterface* m_pAssociatedCore;
ITABufferDatasource* m_pBufferDataSource;
ITAAtomicInt m_iCurrentPlayState;
ITAAtomicInt m_iRequestedPlaybackAction; //!< User-triggered playback action
std::atomic< int > m_iCurrentPlayState;
std::atomic< int > m_iRequestedPlaybackAction; //!< User-triggered playback action
ITASampleBuffer m_sbOutBuffer;
ITASampleFrame m_sfAudioBuffer; //!< Audio buffer with multiple channels for smooth switching on update
int m_iActiveAudioBufferChannel;
......
......@@ -19,8 +19,8 @@
#include <ITADataSourceRealization.h>
#include <ITASampleBuffer.h>
#include <ITAAtomicPrimitives.h>
#include <atomic>
#include <map>
class CVACoreImpl;
......@@ -62,7 +62,7 @@ private:
Config m_oConfig;
ITASampleBuffer m_sbBuffer;
std::map< double, double > m_lFreqModesPhase;
ITAAtomicFloat m_fK; // engine number
std::atomic< float > m_fK; // engine number
};
#endif // IW_VACORE_ENGINESIGNALSOURCE
......@@ -246,7 +246,8 @@ void CVAMachineSignalSource::HandleUnregistration( IVAInterface* )
std::string CVAMachineSignalSource::GetStateString() const
{
return GetMachineStateString( MachineState( m_iCurrentState.get() ) );
MachineState iState = (MachineState) (int) m_iCurrentState;
return GetMachineStateString( iState );
}
std::string CVAMachineSignalSource::GetMachineStateString( MachineState iState ) const
......
......@@ -19,7 +19,8 @@
#include <ITADataSourceRealization.h>
#include <ITASampleBuffer.h>
#include <ITAAtomicPrimitives.h>
#include <atomic>
class CVACoreImpl;
class IITASampleInterpolationRoutine;
......@@ -145,15 +146,15 @@ private:
ITASampleBuffer m_sbIdleSound, m_sbIdleSoundNew;
ITASampleBuffer m_sbStopSound, m_sbStopSoundNew;
ITASampleBuffer m_sbInterpolationSrc;
ITAAtomicBool m_bStartSoundNew, m_bIdleSoundNew, m_bStopSoundNew;
std::atomic< bool > m_bStartSoundNew, m_bIdleSoundNew, m_bStopSoundNew;
ITASampleBuffer m_sbOut;
ITAAtomicInt m_iCurrentState;
ITAAtomicInt m_iNewTransition;
ITAAtomicFloat m_fMachineSpeed;
ITAAtomicBool m_bHasStartSound;
ITAAtomicBool m_bHasIdleSound;
ITAAtomicBool m_bHasStopSound;
ITAAtomicBool m_bCrossfadeSounds;
std::atomic< int > m_iCurrentState;
std::atomic< int > m_iNewTransition;
std::atomic< float > m_fMachineSpeed;
std::atomic< bool > m_bHasStartSound;
std::atomic< bool > m_bHasIdleSound;
std::atomic< bool > m_bHasStopSound;
std::atomic< bool > m_bCrossfadeSounds;
int m_iStartingSoundCursor;
int m_iIdlingSoundCursor;
......
......@@ -22,8 +22,8 @@
#include <ITADataSourceRealization.h>
#include <ITASampleBuffer.h>
#include <ITAAudioSample.h>
#include <ITAAtomicPrimitives.h>
#include <atomic>
#include <unordered_set>
class ITABufferDatasource;
......@@ -137,7 +137,7 @@ private:
ITASampleBuffer m_sbOut;
//this mutable keyword here is necessary since the inherited method GetParameters() is const, however we want to be able to change some parts (not very clean code, sorry)
ITAAtomicInt m_iCurrentPlayState;
std::atomic< int > m_iCurrentPlayState;
ITABufferDatasource* m_pBufferDataSource;
ITASampleFrame* m_pFrameToDelete;//this is set if the sample should be freed after playback
......
......@@ -17,13 +17,14 @@
#include "VAAudioDriverBackend.h"
#include "VAAudioDriverConfig.h"
#include <ITAAtomicPrimitives.h>
#include <ITAException.h>
#include <ITAStreamProperties.h>
#include <VistaInterProcComm/Concurrency/VistaThreadLoop.h>
#include <VistaInterProcComm/Concurrency/VistaThreadEvent.h>
#include <atomic>
/**
* Diese Klasse implementiert die Schnittstelle IVAAudioDriverArchBackend
* fr ASIO mittels des ITAsioInterface
......@@ -91,7 +92,7 @@ private:
};
CVAASIOBackend* m_pParent;
ITAAtomicInt m_iOperation;
std::atomic< int > m_iOperation;
int m_iResult;
ITAException m_oException;
VistaThreadEvent m_evStart;
......@@ -107,7 +108,7 @@ private:
MediatorThread* m_pMediator;
CVAAudioDriverConfig* m_pConfig;
ITAStreamProperties m_oOutputStreamProps;
ITAAtomicBool m_bStreaming;
std::atomic< bool > m_bStreaming;
};
#endif // IW_VACORE_ASIOBACKEND
......@@ -17,12 +17,13 @@
#include "VAAudioDriverBackend.h"
#include "VAAudioDriverConfig.h"
#include <ITAAtomicPrimitives.h>
#include <ITAException.h>
#include <ITAStreamProperties.h>
#include <VistaInterProcComm/Concurrency/VistaThreadLoop.h>
#include <VistaInterProcComm/Concurrency/VistaThreadEvent.h>
#include <atomic>
class ITAPortaudioInterface;
//! VA Portaudio Backend Klasse
......@@ -83,7 +84,7 @@ private:
CVAPortaudioBackend* m_pParent;
ITAPortaudioInterface* m_pPA;
ITAAtomicInt m_iOperation;
std::atomic< int > m_iOperation;
int m_iResult;
ITAException m_oException;
VistaThreadEvent m_evStart;
......@@ -100,7 +101,7 @@ private:
ITAPortaudioInterface* m_pITAPA;
CVAAudioDriverConfig* m_pConfig;
ITAStreamProperties m_oOutputStreamProps;
ITAAtomicBool m_bStreaming;
std::atomic< bool > m_bStreaming;
};
#endif // IW_VACORE_PORTAUDIOBACKEND
This diff is collapsed.
/*
* --------------------------------------------------------------------------------------------
*
* VVV VVV A Virtual Acoustics (VA) | http://www.virtualacoustics.org
* VVV VVV AAA Licensed under the Apache License, Version 2.0
* VVV VVV AAA
* VVV VVV AAA Copyright 2015-2018
* VVVVVV AAA Institute of Technical Acoustics (ITA)
* VVVV AAA RWTH Aachen University
*
* --------------------------------------------------------------------------------------------
*/
#ifndef IW_VACORE_ATMOSPHERE
#define IW_VACORE_ATMOSPHERE
#include <ITAThirdOctaveMagnitudeSpectrum.h>
//! Luftschall-Dmpfungsfaktoren in Terzen berechnen (nach ISO 9613-1:1993)
// (ACHTUNG: Andere Bedeutung als in Raven: Dmpfungsfaktoren! 1=>Keine Dmpfung)
void GetAirAbsorptionMagnitudesThirdOctave( float* pfAirAbsCoeffs, // Absorptionskoeffizienten [Faktor/m] (nicht Dezibel!)
double dDistance, // Abstand [m]
double dTemperature, // Temperatur [C]
double dPressure, // Statischer Luftdruck [Pa]
double dHumidity ); // Luftfeuchtigkeit [%]
// In dB/m
void GetAirAbsorptionAttenuationThirdOctaveDecibel( float* pfAirAbsCoeffs, // Absorptionskoeffizienten [Faktor/m] (nicht Dezibel!)
double dDistance, // Abstand [m]
double dTemperature, // Temperatur [C]
double dPressure, // Statischer Luftdruck [Pa]
double dHumidity ); // Luftfeuchtigkeit [%]
//! Berechnung der Luftschall-Absorption in Terzen
/**
* Standard: ISO 9613-1:1993
*
* \note Andere Bedeutung als in Raven: Dmpfungsfaktoren! 1=>Keine Dmpfung)
*
* \param oAirAbsMags Terzband-Resultat (Call-By-Reference)
* \param fDistance Abstand [m]
* \param fTemperature Temperatur [C]
* \param fStaticPressure Statischer Luftdruck [Pa]
* \param fHumidity Luftfeuchtigkeit [%]
*/
void CalculateAirAbsorptionAttenuation( ITABase::CThirdOctaveFactorMagnitudeSpectrum& oAirAbsMags, double dDistance, double dTemperature, double dStaticPressure, double dHumidity );
//! Berechnung der Luftschall-Dmpfung in Terzen als Faktoren (von Jonas implementiert)
/**
* Standard: ISO 9613-1:1993
*
* \note Wertebereich der gains: [0..1]
*
* \param oAirAbsMags Terzband-Resultat (Call-By-Reference)
* \param fDistance Abstand [m]
* \param fTemperature Temperatur [C]
* \param fStaticPressure Statischer Luftdruck [Pa]
* \param fHumidity Luftfeuchtigkeit [%]
*/
void GetAirAbsorptionMagnitudes( ITABase::CThirdOctaveFactorMagnitudeSpectrum& oMags, double dDistance, double dTemperature, double dStaticPressure, double dHumidity );
#endif // IW_VACORE_ATMOSPHERE
......@@ -4,8 +4,6 @@ set( RelativeDir "src/Filtering" )
set( RelativeSourceGroup "src\\Filtering" )
set( DirFiles
VAAtmosphere.cpp
VAAtmosphere.h
VATemporalVariations.h
_SourceFiles.cmake
)
......
......@@ -140,7 +140,8 @@ void CVAAmbientMixerAudioRenderer::HandleProcessStream( ITADatasourceRealization
const double dGainFactor = pState->GetVolume( m_oParams.pCore->GetCoreConfig()->dDefaultAmplitudeCalibration );
assert( pDesc->pSignalSource.get() );
assert( pDesc->pSignalSource.load() );
const ITASampleBuffer* psbInput = pDesc->pSignalSourceInputBuf;
// Add samples to out buffer
......
......@@ -17,7 +17,6 @@
// VA includes
#include "../../../directivities/VADirectivity.h"
#include "../../../Filtering/VAAtmosphere.h"
#include "../../../Motion/VAMotionModelBase.h"
#include "../../../Motion/VASharedMotionModel.h"
#include "../../../Motion/VASampleAndHoldMotionModel.h"
......@@ -36,7 +35,6 @@
#include <ITAUPConvolution.h>
#include <ITAUPFilter.h>
#include <ITAUPFilterPool.h>
#include <ITAAtomicPrimitives.h>
#include <ITAClock.h>
#include <ITACriticalSection.h>
#include <ITADataSourceRealization.h>
......@@ -54,6 +52,7 @@
#include <VistaInterProcComm/Concurrency/VistaThreadEvent.h>
// STL includes
#include <atomic>
#include <algorithm>
#include <cassert>
#include <fstream>
......@@ -109,7 +108,7 @@ public:
CDirectivityState oDirectivityStateCur;
CDirectivityState oDirectivityStateNew;
ITAAtomicBool bDelete;
std::atomic< bool > bDelete;
CITAThirdOctaveFilterbank* pThirdOctaveFilterBank;
CITAVariableDelayLine* pVariableDelayLineCh;
......@@ -669,9 +668,7 @@ double CVAAmbisonicsFreeFieldAudioRenderer::dAzimuthSource2ReproCenter( const CV
double CVAAmbisonicsFreeFieldAudioRenderer::dElevationSource2ReproCenter( const CVAMotionState* pMotionState )
{
// VAVec3 vPosSource2ReceiverVirtualScene = pMotionState->GetPosition() - m_vUserPosVirtualScene;
//return GetElevationOnTarget_DEG(m_vReproSystemVirtualPosition, pMotionState->GetView(), pMotionState->GetUp(), pMotionState->GetPosition());
return GetElevationOnTarget_DEG(m_vReproSystemVirtualPosition, m_vReproSystemVirtualView, m_vReproSystemVirtualUp, pMotionState->GetPosition());
return GetElevationOnTarget_DEG(m_vReproSystemVirtualPosition, m_vReproSystemVirtualUp, pMotionState->GetPosition());
}
......
......@@ -313,7 +313,7 @@ private:
int m_iNumChannels;
bool m_bDumpListeners;
double m_dDumpListenersGain;
ITAAtomicInt m_iDumpListenersFlag;
std::atomic< int > m_iDumpListenersFlag;
int m_iDefaultVDLSwitchingAlgorithm;
double m_dAdditionalStaticDelaySeconds; //!< Additional delay in seconds for delay compensation
......@@ -353,8 +353,8 @@ private:
std::list< CVAAFFSource* > m_lSources; //!< List of sources
std::list< CVAAFFListener* > m_lListeners; //!< List of listeners
ITASampleBuffer m_sbTemp; //!< Temporally used buffer to store a block of samples during processing
ITAAtomicInt m_iResetFlag; //!< Reset status flag: 0=normal_op, 1=reset_request, 2=reset_ack
ITAAtomicInt m_iStatus; //!< Current status flag: 0=stopped, 1=running
std::atomic< int > m_iResetFlag; //!< Reset status flag: 0=normal_op, 1=reset_request, 2=reset_ack
std::atomic< int > m_iStatus; //!< Current status flag: 0=stopped, 1=running
} ctxAudio;
void Init( const CVAStruct& oArgs );
......
......@@ -23,7 +23,6 @@
#include <VAReferenceableObject.h>
#include "../../../directivities/VADirectivityDAFFEnergetic.h"
#include "../../../directivities/VADirectivityDAFFHRIR.h"
#include "../../../Filtering/VAAtmosphere.h"
#include "../../../Motion/VAMotionModelBase.h"
#include "../../../Motion/VASharedMotionModel.h"
#include "../../../Motion/VASampleAndHoldMotionModel.h"
......@@ -39,11 +38,10 @@
#include <ITAUPConvolution.h>
#include <ITAUPFilter.h>
#include <ITAUPFilterPool.h>
#include <ITAAtomicPrimitives.h>
#include <ITAThirdOctaveFilterbank.h>
#include <ITAClock.h>
#include <ITACriticalSection.h>
//#include <ITAConfigUtils.h>
#include <ITAISO9613.h>
#include <ITADataSourceRealization.h>
#include <ITASampleBuffer.h>
#include <ITAStopWatch.h>
......@@ -55,7 +53,8 @@
#include <VistaInterProcComm/Concurrency/VistaThreadEvent.h>
// STL includes
#include <assert.h>
#include <atomic>
#include <cassert>
#include <fstream>
#include <iomanip>
......@@ -170,7 +169,7 @@ public:
double dGroundReflectionPlanePosition; //!< Height of ground, defaults to 0
ITAAtomicBool bDelete; //!< Schallpfad zur Lschung markiert?
std::atomic< bool > bDelete; //!< Schallpfad zur Lschung markiert?
inline void PreRequest()
{
......@@ -1413,8 +1412,8 @@ void CVABATNSoundPath::UpdateTemporalVariation()
void CVABATNSoundPath::UpdateAirAttenuation( const double dTemperatur, const double dPressure, const double dHumidity )
{
CalculateAirAbsorptionAttenuation( oDirSoundPath.oAirAttenuationMagnitudes, oDirSoundPath.oRelations.dDistance, dTemperatur, dPressure, dHumidity );
CalculateAirAbsorptionAttenuation( oRefSoundPath.oAirAttenuationMagnitudes, oRefSoundPath.oRelations.dDistance, dTemperatur, dPressure, dHumidity );
ITABase::ISO9613::AtmosphericAbsorption( oDirSoundPath.oAirAttenuationMagnitudes, oDirSoundPath.oRelations.dDistance, dTemperatur, dPressure, dHumidity );
ITABase::ISO9613::AtmosphericAbsorption( oRefSoundPath.oAirAttenuationMagnitudes, oRefSoundPath.oRelations.dDistance, dTemperatur, dPressure, dHumidity );
}
void CVABATNSoundPath::CalculateInverseDistanceDecrease()
......
......@@ -287,8 +287,8 @@ private:
std::list< CVABATNSoundReceiver* > m_lListener; //!< List of listeners
ITASampleBuffer m_sbTempBufD; //!< Temporally used buffer to store a block of samples during processing (direct sound)
ITASampleBuffer m_sbTempBufR; //!< Temporally used buffer to store a block of samples during processing (reflected sound)
ITAAtomicInt m_iResetFlag; //!< Reset status flag: 0=normal_op, 1=reset_request, 2=reset_ack
ITAAtomicInt m_iStatus; //!< Current status flag: 0=stopped, 1=running
std::atomic< int > m_iResetFlag; //!< Reset status flag: 0=normal_op, 1=reset_request, 2=reset_ack
std::atomic< int > m_iStatus; //!< Current status flag: 0=stopped, 1=running
} ctxAudio;
void Init( const CVAStruct& oArgs );
......
......@@ -18,7 +18,6 @@
// VA includes
#include "../../../directivities/VADirectivityDAFFEnergetic.h"
#include "../../../directivities/VADirectivityDAFFHRIR.h"
#include "../../../Filtering/VAAtmosphere.h"
#include "../../../Motion/VAMotionModelBase.h"
#include "../../../Motion/VASharedMotionModel.h"
#include "../../../Scene/VAScene.h"
......@@ -35,7 +34,6 @@
#include <ITAUPConvolution.h>
#include <ITAUPFilter.h>
#include <ITAUPFilterPool.h>
#include <ITAAtomicPrimitives.h>
#include <ITAVariableDelayLine.h>
#include <ITAThirdOctaveFilterbank.h>
#include <ITAClock.h>
......@@ -50,7 +48,8 @@
#include <ITAFastMath.h>
// STL includes
#include <assert.h>
#include <atomic>
#include <cassert>
#include <algorithm>
#include <iomanip>
#include <set>
......@@ -83,7 +82,7 @@ public:
CITAVariableDelayLine* pVariableDelayLine; //!< DSP
ITAAtomicBool bMarkedForDeletion;
std::atomic< bool > bMarkedForDeletion;
void PreRequest()
{
......@@ -208,7 +207,7 @@ public:
private:
tbb::concurrent_queue< CVABinauralArtificialReverbAudioRenderer::Listener* > m_lTasks;
CVABinauralArtificialReverbAudioRenderer* m_pParentRenderer;
ITAAtomicInt m_iState;
std::atomic< int > m_iState;
};
......@@ -715,7 +714,7 @@ void CVABinauralArtificialReverbAudioRenderer::ManageArtificialReverbPaths( cons
void CVABinauralArtificialReverbAudioRenderer::ProcessStream( const ITAStreamInfo* pStreamInfo )
{
// If streaming is active, set
ctxAudio.m_iStatus.set( 1 );
ctxAudio.m_iStatus = 1;
// Swap forced update and check later if another process requests another forced update
bool bForceARUpdateOnceLocalCopy = m_bForceARUpdateOnce;
......
......@@ -112,7 +112,7 @@ protected:
IVADirectivity* pCurHRIR;
IVADirectivity* pNewHRIR;
ITAAtomicBool bARFilterUpdateRequired;
std::atomic< bool > bARFilterUpdateRequired;
void PreRequest()
{
......@@ -215,7 +215,7 @@ private:
IVAObjectPool* m_pListenerPool; //!< Storage manager for listener
CBARSimulator* m_pARSimulator; //!< Artificial reverberation simulation instance
ITAAtomicBool m_bForceARUpdateOnce; //!< Triggers a forced AR update on next stream process loop
std::atomic< bool > m_bForceARUpdateOnce; //!< Triggers a forced AR update on next stream process loop
std::map< int, Source* > m_mSources; //!< Internal list of sources
std::map< int, Listener* > m_mListener; //!< Internal list of listener
......@@ -234,8 +234,8 @@ private:
tbb::concurrent_queue< Listener* > m_qpNewListeners; //!< Lock-free queue: new listener
tbb::concurrent_queue< Listener* > m_qpDelListeners; //!< Lock-free queue: removed listener
ITASampleBuffer m_sbTempBuf1;
ITAAtomicInt m_iResetFlag; // 0=normal_op, 1=reset_request, 2=reset_ack
ITAAtomicInt m_iStatus; // 0=stopped, 1=running
std::atomic< int > m_iResetFlag; // 0=normal_op, 1=reset_request, 2=reset_ack
std::atomic< int > m_iStatus; // 0=stopped, 1=running
} ctxAudio;
......
......@@ -22,7 +22,6 @@
#include "../../../directivities/VADirectivityDAFFEnergetic.h"
#include "../../../directivities/VADirectivityDAFFHRIR.h"
#include "../../../directivities/VADirectivityDAFFHATOHRIR.h"
#include "../../../Filtering/VAAtmosphere.h"
#include "../../../Motion/VAMotionModelBase.h"
#include "../../../Motion/VASharedMotionModel.h"
#include "../../../Motion/VASampleAndHoldMotionModel.h"
......@@ -39,7 +38,6 @@
#include <ITAUPConvolution.h>
#include <ITAUPFilter.h>
#include <ITAUPFilterPool.h>
#include <ITAAtomicPrimitives.h>
#include <ITAClock.h>
#include <ITACriticalSection.h>
#include <ITADataSourceRealization.h>
......@@ -58,6 +56,7 @@
#include <VistaBase/VistaQuaternion.h>
// STL includes
#include <atomic>
#include <algorithm>
#include <cassert>
#include <fstream>
......@@ -141,7 +140,7 @@ public:
CHRIRState oHRIRStateCur;
CHRIRState oHRIRStateNew;
ITAAtomicBool bDelete;
std::atomic< bool > bDelete;
CITAThirdOctaveFilterbank* pThirdOctaveFilterBank;
CITAVariableDelayLine* pVariableDelayLineChL;
......
......@@ -295,7 +295,7 @@ private:
bool m_bDumpListeners;
double m_dDumpListenersGain;
ITAAtomicInt m_iDumpListenersFlag;
std::atomic< int > m_iDumpListenersFlag;
int m_iHRIRFilterLength; //!< Length of the HRIR filter DSP module
......@@ -338,8 +338,8 @@ private:
std::list< CVABFFListener* > m_lListeners; //!< List of listeners
ITASampleBuffer m_sbTempL; //!< Temporally used buffer to store a block of samples during processing (left ear)
ITASampleBuffer m_sbTempR; //!< Temporally used buffer to store a block of samples during processing (right ear)
ITAAtomicInt m_iResetFlag; //!< Reset status flag: 0=normal_op, 1=reset_request, 2=reset_ack
ITAAtomicInt m_iStatus; //!< Current status flag: 0=stopped, 1=running
std::atomic< int > m_iResetFlag; //!< Reset status flag: 0=normal_op, 1=reset_request, 2=reset_ack
std::atomic< int > m_iStatus; //!< Current status flag: 0=stopped, 1=running
} ctxAudio;
void Init( const CVAStruct& oArgs );
......
......@@ -39,7 +39,6 @@
#include <ITAUPConvolution.h>
#include <ITAUPFilter.h>
#include <ITAUPFilterPool.h>