Commit 594ccf84 authored by Dipl.-Ing. Jonas Stienen's avatar Dipl.-Ing. Jonas Stienen
Browse files

Moving from old atomic implementation to c++11 atomics and providing some copy...

Moving from old atomic implementation to c++11 atomics and providing some copy constructors for msvc14 compat
parent 42264fc1
......@@ -99,7 +99,7 @@ public:
fOldReadCursorSamples = 0.0f;
};
inline CITAVDLReadCursor( CITAVDLReadCursor& rhs )
inline CITAVDLReadCursor( const CITAVDLReadCursor& rhs )
{
fNewReadCursorSamples.store( rhs.fNewReadCursorSamples );
fOldReadCursorSamples.store( rhs.fOldReadCursorSamples );
......
......@@ -21,11 +21,12 @@
#include <ITADSPDefinitions.h>
#include <ITAAtomicPrimitives.h>
#include <ITACriticalSection.h>
#include <ITADataLog.h>
#include <ITAStopWatch.h>
#include <atomic>
//! Vorwärtsdeklarationen
class ITASampleBuffer;
class IITASampleInterpolationRoutine;
......@@ -237,8 +238,8 @@ private:
int m_iWriteCursor; //!< Der Schreibzeiger ist immer Vielfaches der Blocklänge
int m_iMaxDelay; //!< Maximal einstellbare Verzögerung (hängt von Puffergröße ab)
int m_iSwitchingAlgorithm; //!< Eingestellter Algorithmus zum Umschalten der Verzögerung
ITAAtomicFloat m_fCurrentDelay; //!< Aktuelle Verzögerung in Samples
ITAAtomicFloat m_fNewDelay; //!< Neue Verzögerung in Samples
std::atomic< float > m_fCurrentDelay; //!< Aktuelle Verzögerung in Samples
std::atomic< float > m_fNewDelay; //!< Neue Verzögerung in Samples
bool m_bFracDelays; //!< Fractional Delay Filterung an/aus
int m_iFadeLength; //!< Überblendlänge für das Umschaltverfahren mittels Kreuzblende (Minimum von Blocklänge oder 32 Samples)
......
......@@ -246,7 +246,7 @@ void CITAVariableDelayLine::SetDelaySamples( float fDelaySamples )
// gleich von 0 auf fDelaySamples umgesetzt und bei
// Crossfading und Interpolieren gibts unerwnschte Effekte
if( !m_bStarted )
m_fCurrentDelay = m_fNewDelay;
m_fCurrentDelay.exchange( m_fNewDelay );
}
void CITAVariableDelayLine::SetDelayTime( float fDelaySecs )
......
......@@ -30,6 +30,7 @@
#include <ITAFileDataSource.h>
#include <ITAStreamInfo.h>
#include <cassert>
#include <iostream>
#include <cmath>
#include <vector>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment