Skip to content
Snippets Groups Projects
Commit b9f2373e authored by Pascal Palenda's avatar Pascal Palenda
Browse files

Merge branch 'release/2023a'

parents 8ac99176 91cee03c
Branches
Tags VA_v2023a
No related merge requests found
Showing
with 146 additions and 157 deletions
......@@ -158,6 +158,57 @@ with section("parse"):
},
'groupsourcesbyfolder': {
'spelling': 'GroupSourcesByFolder'
},
'ihta_add_library' : {
'pargs' : {
'nargs' : '*',
'flags' : []
},
'spelling': 'ihta_add_library',
'kwargs': {
'TEST_INTERNALS' : 0,
'NAMESPACE' : 1,
'NAME' : 1,
'LIBRARY_TYPE' : 1,
'INCLUDE_DIR' : 1,
'SRC_DIR' : 1,
'INSTALL_INCLUDE_DIR' : 1,
'IDE_FOLDER' : 1,
'OBJECT_LIB_POSTFIX' : '?',
'OUT_LIB' : 1,
'OUT_TEST' : 1,
'SOURCES' : '+',
'TEST_SOURCES' : '*'
}
},
'ihta_add_test' : {
'pargs' : {
'nargs' : '*',
'flags' : []
},
'spelling': 'ihta_add_test',
'kwargs': {
'NAME' : 1,
'TEST_TARGET' : 1,
'IDE_FOLDER' : 1,
'SOURCES' : '+',
'COV_SOURCES' : '*'
}
},
'build_doc' : {
'pargs' : {
'nargs' : '*',
'flags' : []
},
'spelling': 'build_doc',
'kwargs': {
'SIDEBAR_ONLY' : 0,
'README_MAINPAGE' : 1,
'COLOR_STYLE' : 1,
'LOGO' : 1,
'ADD_DEV_SECTION' : 1,
'SOURCES' : '*'
}
}
}
......
cmake_minimum_required (VERSION 3.20 FATAL_ERROR)
init_project ()
project (
ITADSP
VERSION 2022.0
VERSION 2023.0
LANGUAGES CXX C
)
set (CMAKE_DEBUG_POSTFIX "-d")
if (NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY AND WIN32)
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/bin)
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/lib)
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/lib)
endif ()
# Organize targest in folders in Visual Studio
if (CMAKE_GENERATOR MATCHES "Visual Studio")
set_property (GLOBAL PROPERTY USE_FOLDERS ON)
endif ()
include (CMakeDependentOption)
# ---Options---
......@@ -53,69 +42,56 @@ if ("WITH_JSON_SUPPORT" IN_LIST JSON_CHECK AND NOT ITA_DSP_WITH_JSON_SUPPORT)
endif ()
# Library
add_library (
${PROJECT_NAME}
include/ITADSP/PD/JetEngine.h
include/ITADSP/ThirdOctaveFilterbank/IIRBurg.h
include/ITADSPDefinitions.h
include/ITASIMOVariableDelayLine.h
include/ITASIMOVariableDelayLineBase.h
include/ITAVariableDelayLine.h
include/ITABiquad.h
include/ITAIIRFilterGenerator.h
include/ITAIIRFilterEngine.h
include/ITAIIRUtils.h
include/ITAIIRCoefficients.h
include/ITAThirdOctaveFilterbank.h
include/ITAThirdOctaveFilterbankFIR.h
include/ITAThirdOctaveFilterbankIIR.h
include/ITAThirdOctaveFIRFilterGenerator.h
src/ITADSP/PD/JetEngine.cpp
src/ITADSP/ThirdOctaveFilterbank/IIRBurg.cpp
src/ITASIMOVariableDelayLine.cpp
src/ITASIMOVariableDelayLineBase.cpp
src/ITABiquad.cpp
src/ITAIIRUtils.cpp
src/ITAIIRFilterGenerator.cpp
src/ITAIIRFilterEngine.cpp
src/ITAThirdOctaveFilterbank.cpp
src/ITAThirdOctaveFilterbankIIR.cpp
src/ITAThirdOctaveFilterbankFIR.cpp
src/ITAThirdOctaveFIRFilterGenerator.cpp
src/ITAThirdOctaveFilterbankIIRCoefficients.h
src/ITAVariableDelayLine.cpp
)
add_library (${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
# Set include directory for library
target_include_directories (
${PROJECT_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/ITADSP>
ihta_add_library (
NAME ${PROJECT_NAME}
SOURCES include/ITADSP/PD/JetEngine.h
include/ITADSP/ThirdOctaveFilterbank/IIRBurg.h
include/ITADSPDefinitions.h
include/ITASIMOVariableDelayLine.h
include/ITASIMOVariableDelayLineBase.h
include/ITAVariableDelayLine.h
include/ITAVariableDelayLineConfig.h
include/ITABiquad.h
include/ITAIIRFilterGenerator.h
include/ITAIIRFilterEngine.h
include/ITAIIRUtils.h
include/ITAIIRCoefficients.h
include/ITAThirdOctaveFilterbank.h
include/ITAThirdOctaveFilterbankFIR.h
include/ITAThirdOctaveFilterbankIIR.h
include/ITAThirdOctaveFIRFilterGenerator.h
src/ITADSP/PD/JetEngine.cpp
src/ITADSP/ThirdOctaveFilterbank/IIRBurg.cpp
src/ITASIMOVariableDelayLine.cpp
src/ITASIMOVariableDelayLineBase.cpp
src/ITABiquad.cpp
src/ITAIIRUtils.cpp
src/ITAIIRFilterGenerator.cpp
src/ITAIIRFilterEngine.cpp
src/ITAThirdOctaveFilterbank.cpp
src/ITAThirdOctaveFilterbankIIR.cpp
src/ITAThirdOctaveFilterbankFIR.cpp
src/ITAThirdOctaveFIRFilterGenerator.cpp
src/ITAThirdOctaveFilterbankIIRCoefficients.h
src/ITAVariableDelayLine.cpp
NAMESPACE ${PROJECT_NAME}
INSTALL_INCLUDE_DIR ITADSP
IDE_FOLDER "ITACoreLibs"
OUT_LIB LIB_TARGET
)
# Linking
target_link_libraries (
${PROJECT_NAME}
${LIB_TARGET}
PUBLIC ITABase::ITABase ITAFFT::ITAFFT ITAConvolution::ITAConvolution DSPFilters
PRIVATE Spline::spline TBB::tbb
)
if (ITA_DSP_WITH_JSON_SUPPORT)
target_link_libraries (${PROJECT_NAME} PRIVATE nlohmann_json::nlohmann_json)
target_compile_definitions (${PROJECT_NAME} PUBLIC WITH_JSON_SUPPORT)
target_link_libraries (${LIB_TARGET} PRIVATE nlohmann_json::nlohmann_json)
target_compile_definitions (${LIB_TARGET} PUBLIC WITH_JSON_SUPPORT)
endif ()
# Definitions for Shared/Static
target_compile_definitions (${PROJECT_NAME} PUBLIC $<IF:$<BOOL:${BUILD_SHARED_LIBS}>,ITA_DSP_EXPORT,ITA_DSP_STATIC>)
# Required compiler features
target_compile_features (${PROJECT_NAME} PUBLIC cxx_std_17)
# If build out of ITACoreLibs project, add parent folder "ITACoreLibs"
if (NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
set_property (TARGET ${PROJECT_NAME} PROPERTY FOLDER "ITACoreLibs")
endif ()
# Organize sources in folders
GroupSourcesByFolder (${PROJECT_NAME})
target_compile_definitions (${LIB_TARGET} PUBLIC $<IF:$<BOOL:${BUILD_SHARED_LIBS}>,ITA_DSP_EXPORT,ITA_DSP_STATIC>)
# Install & export
packageProject (
......
......@@ -6,7 +6,7 @@ It is a component of [ITACoreLibs](https://git.rwth-aachen.de/ita/ITACoreLibs),
### License
Copyright 2015-2022 Institute of Technical Acoustics, RWTH Aachen University
Copyright 2015-2023 Institute of Technical Acoustics, RWTH Aachen University
Licensed under the Apache License, Version 2.0 (the "License");
you may not use files of this project except in compliance with the License.
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......@@ -44,6 +44,7 @@ struct ParameterSet
float fInitialDelaySamples;
int iNumCursors;
string sWAVOutFilePath;
EVDLAlgorithm eAlgorithm;
int iInterpolationType;
int iNumFrames;
float fDelayIncrementSample;
......@@ -96,12 +97,12 @@ int main( int, char** )
{
for( auto SI: { 1, 2, 4, 8, 16, 32, 64, 128 } )
{
for( auto IT: { ITABase::InterpolationFunctions::CUBIC_SPLINE, ITABase::InterpolationFunctions::LINEAR } )
for( auto IT: { EVDLAlgorithm::CUBIC_SPLINE_INTERPOLATION, EVDLAlgorithm::LINEAR_INTERPOLATION } )
{
if( BL < SI * 2 )
continue;
string sInterp = ( IT == ITABase::InterpolationFunctions::CUBIC_SPLINE ) ? "cubicspline" : "linear";
string sInterp = ( IT == EVDLAlgorithm::CUBIC_SPLINE_INTERPOLATION ) ? "cubicspline" : "linear";
// Streach
stringstream ss;
......@@ -109,7 +110,8 @@ int main( int, char** )
string sBMID = ss.str( );
pm.iBlockLength = BL;
pm.fDelayIncrementSample = SI;
pm.iInterpolationType = IT;
pm.eAlgorithm = IT;
pm.iInterpolationType = (int)IT;
pm.sWAVOutFilePath = sBMID + ".wav";
pm.SetSomeDependentParameters( );
cout << "\tStarting " << sBMID << " ";
......@@ -122,7 +124,8 @@ int main( int, char** )
sBMID = ss.str( );
pm.iBlockLength = BL;
pm.fDelayIncrementSample = ( -1.0f ) * SI;
pm.iInterpolationType = IT;
pm.eAlgorithm = IT;
pm.iInterpolationType = (int)IT;
pm.sWAVOutFilePath = sBMID + ".wav";
pm.SetSomeDependentParameters( );
cout << "\tStarting " << sBMID << " ";
......@@ -144,7 +147,7 @@ void run_benchmark( const ParameterSet& pm, const std::string& sName )
ITAStreamFunctionGenerator sinesignal( 1, pm.dSampleRate, pm.iBlockLength, ITAStreamFunctionGenerator::SINE, 500.0f, 0.9f, true );
ITADatasource* pIntputStream = &sinesignal;
CITASIMOVariableDelayLine* pSIMOVDL = new CITASIMOVariableDelayLine( pm.dSampleRate, pm.iBlockLength, pm.fMaxReservedDelaySamples, pm.iInterpolationType );
CITASIMOVariableDelayLine* pSIMOVDL = new CITASIMOVariableDelayLine( pm.dSampleRate, pm.iBlockLength, pm.fMaxReservedDelaySamples, pm.eAlgorithm );
std::vector<int> viCursors;
for( int i = 0; i < pm.iNumCursors; i++ )
......
set (CPM_DOWNLOAD_VERSION 0.32.2)
set (CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
if (NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
message (STATUS "Downloading CPM.cmake")
file (DOWNLOAD https://github.com/TheLartians/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake
${CPM_DOWNLOAD_LOCATION}
)
else (NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
message ("CPM already exists, do not need to download")
endif (NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
include (${CPM_DOWNLOAD_LOCATION})
CPMAddPackage (
NAME DSPFilters
GITHUB_REPOSITORY vinniefalco/DSPFilters
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......@@ -24,8 +24,10 @@
#include <ITADataLog.h>
#include <ITASIMOVariableDelayLineBase.h>
#include <ITAStopWatch.h>
#include <ITAVariableDelayLineConfig.h>
#include <atomic>
#include <map>
#include <memory>
//! Vorwrtsdeklarationen
class ITASampleBuffer;
......@@ -79,42 +81,23 @@ public:
* \param fReservedMaxDelaySamples Initiale maximale Verzgerung [Anzahl Samples]
* \param iAlgorithm Algorithmus (siehe #ITABase::InterpolationFunctions)
*/
CITASIMOVariableDelayLine( const double dSamplerate, const int iBlocklength, const float fReservedMaxDelaySamples, const int iAlgorithm );
CITASIMOVariableDelayLine( const double dSamplerate, const int iBlocklength, const float fReservedMaxDelaySamples, const EVDLAlgorithm eAlgorithm );
//! Destruktor der variablen Verzgerungsleitung
~CITASIMOVariableDelayLine( );
CITASIMOVariableDelayLine( const CITAVDLConfig& oConfig );
//! Verfahren zur nderung der Verzgerung zurckgeben
/**
* Gibt das momentan benutzte Verfahren zur Umsetzung der Verzgerungsnderung zurck
*
* \return Eine Nummer aus der Auflistung #SwitchingAlgorithm
*
*/
int GetAlgorithm( ) const;
//! Returns algorithm used when changing propagation delay
EVDLAlgorithm GetAlgorithm( ) const;
//! Verfahren zur nderung der Verzgerung setzen
/**
* Setzt das momentan zu benutzende Verfahren zur Umsetzung der Verzgerungsnderung
*
* \param iAlgorithm Eine Nummer aus der Auflistung #SwitchingAlgorithm
*
*/
void SetAlgorithm( const int iAlgorithm );
//! Set algorithm used when changing propagation delay (USE WITH CAUTION)
void SetAlgorithm( const EVDLAlgorithm iAlgorithm );
//! Minimal mgliche Verzgerung in Samples zurckgeben
//! Returns minimum possible delay in samples
int GetMinimumDelaySamples( ) const;
//! Minimal mgliche Verzgerung in Sekunden zurckgeben
//! Returns minimum possible delay in seconds
float GetMinimumDelayTime( ) const;
//! Maximal Verzgerung zurckgeben [Sekunden]
/**
* Maximale mgliche Verzgerung auf dem momentan
* reservierten Pufferspeicher in Sekunden zurckgeben
*
* Siehe auch: CITAVariableDelayLine::ReserveMaximumDelaySamples(), CITAVariableDelayLine::SetDelaySamples()
*/
//! Returns maximum possible delay referring to buffer size [seconds]
float GetReservedMaximumDelayTime( ) const;
//! Pufferspeicher reservieren fr die angegebene maximale Verzgerung [Sekunden]
......@@ -186,15 +169,15 @@ private:
double m_dSampleRate; //!< Audio-Abtastrate
int m_iBlockLength; //!< Audio-Blockgre
int m_iMaxDelay; //!< Maximal einstellbare Verzgerung (hngt von Puffergre ab)
int m_iSwitchingAlgorithm; //!< Eingestellter Algorithmus zum Umschalten der Verzgerung
int m_iMaxDelay; //!< Maximal einstellbare Verzgerung (hngt von Puffergre ab)
EVDLAlgorithm m_eSwitchingAlgorithm; //!< Eingestellter Algorithmus zum Umschalten der Verzgerung
int m_iFadeLength; //!< berblendlnge fr das Umschaltverfahren mittels Kreuzblende (Minimum von Blocklnge oder 32 Samples)
bool m_bBenchmark;
ITAStopWatch m_swProcess; //!< StopWatch zur berwachung der Berechnungsschleife
IITASampleInterpolationRoutine* m_pInterpolationRoutine; //!< Zeiger auf Interpolationsroutine
std::shared_ptr<IITASampleInterpolationRoutine> m_pInterpolationRoutine; //!< Zeiger auf Interpolationsroutine
};
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2022
* RWTH Aachen University, Germany, 2015-2023
*
* ----------------------------------------------------------------
* ____ __________ _______
......@@ -23,7 +23,9 @@
#include <ITADSPDefinitions.h>
#include <ITADataLog.h>
#include <ITAStopWatch.h>
#include <ITAVariableDelayLineConfig.h>
#include <atomic>
#include <memory>
//! Vorwärtsdeklarationen
class ITASampleBuffer;
......@@ -71,19 +73,6 @@ class IITASampleInterpolationRoutine;
class ITA_DSP_API CITAVariableDelayLine
{
public:
//! Umsetzung der Verzögerungsänderung
/**
* Auflistung der Algorithmen, die zur Umsetzung einer Verzögerungsänderung
* zur Verfügung stehen.
*/
enum SwitchingAlgorithm
{
SWITCH = 0, //!< Hartes umschalten
CROSSFADE, //!< Überblenden im Zeitbereich mittels Kreuzblende (Kosinus-Quadrat)
LINEAR_INTERPOLATION, //!< Stauchen und Strecken im Zeitbereich durch lineare Interpolation (Polynominterpolation der Ordnung 1)
WINDOWED_SINC_INTERPOLATION, //!< Stauchen und Strecken im Zeitbereich durch Interpolation mittels gefensterter si-Funktion
CUBIC_SPLINE_INTERPOLATION, //!< Stauchen und Strecken im Zeitbereich durch kubische Spline-Interpolation
};
//! Konstruktor der variablen Verzögerungsleitung
/**
......@@ -93,7 +82,8 @@ public:
* \param iAlgorithm Algorithmus (siehe #SwitchingAlgorithm)
*/
CITAVariableDelayLine( const double dSampleRate, const int iBlocklength, const float fReservedMaxDelaySamples,
const int iAlgorithm = CITAVariableDelayLine::CUBIC_SPLINE_INTERPOLATION );
const EVDLAlgorithm eAlgorithm = EVDLAlgorithm::CUBIC_SPLINE_INTERPOLATION );
CITAVariableDelayLine( const CITAVDLConfig& oConfig );
//! Destruktor der variablen Verzögerungsleitung
~CITAVariableDelayLine( );
......@@ -105,7 +95,7 @@ public:
* \return Eine Nummer aus der Auflistung #SwitchingAlgorithm
*
*/
int GetAlgorithm( ) const;
EVDLAlgorithm GetAlgorithm( ) const;
//! Verfahren zur Änderung der Verzögerung setzen
/**
......@@ -114,7 +104,7 @@ public:
* \param iAlgorithm Eine Nummer aus der Auflistung #SwitchingAlgorithm
*
*/
void SetAlgorithm( int iAlgorithm );
void SetAlgorithm( EVDLAlgorithm eAlgorithm );
//! Minimal mögliche Verzögerung in Samples zurückgeben
int GetMinimumDelaySamples( ) const;
......@@ -234,12 +224,12 @@ private:
ITASampleBuffer* m_psbTemp; //!< Temporärer Puffer zum Arbeiten mit Samples (Größe: 2xBlocklänge) (das könnte evtl. knapp sein)
ITACriticalSection m_csBuffer; //!< Zugriff auf Puffer schützen
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
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_iWriteCursor; //!< Der Schreibzeiger ist immer Vielfaches der Blocklänge
int m_iMaxDelay; //!< Maximal einstellbare Verzögerung (hängt von Puffergröße ab)
EVDLAlgorithm m_eSwitchingAlgorithm; //!< Eingestellter Algorithmus zum Umschalten der Verzögerung
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)
......@@ -249,7 +239,7 @@ private:
ITAStopWatch m_swProcess; //!< StopWatch zur Überwachung der Berechnungsschleife
int m_iNumberOfDropouts; //!< Zählt die Anzahl durch die VDL verursachten Ausfälle
IITASampleInterpolationRoutine* m_pInterpolationRoutine; //!< Zeiger auf Interpolationsroutine
std::shared_ptr<IITASampleInterpolationRoutine> m_pInterpolationRoutine; //!< Zeiger auf Interpolationsroutine
#if( ITA_DSP_VDL_DATA_LOG == 1 )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment