Version 1.0

Added: Configuration Editor, which allows to edit configurations in a graphical user interface. Contains GUIs for most commands supported by E-APO, but as lines can also be edited directly, all commands can be used.
Added: Command "GraphicEQ", which can act as a regular, fixed-band graphic equalizer (via the GUI) but also supports variable bands so that any desired frequency response can be specified. Internally, it is implemented via convolution with a generated IR.
Added: Command "Convolution", which allows to convolve the signal with a user-provided impulse response to achieve e.g. equalization or reverberation effects.
Improved: Configurator performs checks for registry values that are needed for the operation of E-APO, which may be changed by driver installations, fixing the values if necessary.
Improved: Configurator shows which is the default device as a hint to the user.
This commit is contained in:
jthedering committed 2015-09-27 16:01:21 +00:00
1 parent d68b958bc8
commit b8cdd47f71
284 files changed
+17622 -322

No files matched your search

+2 -1
View File
@@ -17,6 +17,7 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "stdafx.h"
#ifdef DEBUG
#include <stdlib.h>
#include <crtdbg.h>
@@ -214,7 +215,7 @@ int main(int argc, char** argv)
printf("\nWriting output to %s\n", output.c_str());
SF_INFO info = {frameCount, sampleRate, channelCount, SF_FORMAT_WAV | SF_FORMAT_PCM_16, 0};
SF_INFO info = {frameCount, (int)sampleRate, (int)channelCount, SF_FORMAT_WAV | SF_FORMAT_PCM_16, 0};
SNDFILE* outFile = sf_open(output.c_str(), SFM_WRITE, &info);
if(outFile == NULL)
{
+43 -21
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -22,29 +22,34 @@
<ProjectGuid>{D4474852-5724-4253-95C6-7A6DC424F194}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Benchmark</RootNamespace>
<WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -64,28 +69,27 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>$(SolutionDir);C:\Program Files\tclap-1.2.1\include;C:\Program Files\libsndfile\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files (x86)\libsndfile\lib;$(LibraryPath)</LibraryPath>
<IncludePath>$(SolutionDir);C:\Program Files\tclap-1.2.1\include;C:\Program Files\libsndfile\include;C:\Program Files (x86)\fftw3;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files (x86)\libsndfile\lib;C:\Program Files (x86)\fftw3;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>$(SolutionDir);C:\Program Files\tclap-1.2.1\include;C:\Program Files\libsndfile\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files\libsndfile\lib;$(LibraryPath)</LibraryPath>
<IncludePath>$(SolutionDir);C:\Program Files\tclap-1.2.1\include;C:\Program Files\libsndfile\include;C:\Program Files\fftw3;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files\libsndfile\lib;C:\Program Files\fftw3;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(SolutionDir);C:\Program Files\tclap-1.2.1\include;C:\Program Files\libsndfile\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files (x86)\libsndfile\lib;$(LibraryPath)</LibraryPath>
<IncludePath>$(SolutionDir);C:\Program Files\tclap-1.2.1\include;C:\Program Files\libsndfile\include;C:\Program Files (x86)\fftw3;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files (x86)\libsndfile\lib;C:\Program Files (x86)\fftw3;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(SolutionDir);C:\Program Files\tclap-1.2.1\include;C:\Program Files\libsndfile\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files\libsndfile\lib;$(LibraryPath)</LibraryPath>
<IncludePath>$(SolutionDir);C:\Program Files\tclap-1.2.1\include;C:\Program Files\libsndfile\include;C:\Program Files\fftw3;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files\libsndfile\lib;C:\Program Files\fftw3;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -93,13 +97,12 @@
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>muparserxd.lib;version.lib;Shlwapi.lib;libsndfile-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>muparserxd.lib;version.lib;Shlwapi.lib;libsndfile-1.lib;libfftw3f-3.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -107,14 +110,13 @@
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>muparserxd.lib;version.lib;Shlwapi.lib;libsndfile-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>muparserxd.lib;version.lib;Shlwapi.lib;libsndfile-1.lib;libfftw3f-3.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
@@ -126,14 +128,13 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>muparserx.lib;version.lib;Shlwapi.lib;libsndfile-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>muparserx.lib;version.lib;Shlwapi.lib;libsndfile-1.lib;libfftw3f-3.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
@@ -145,7 +146,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>muparserx.lib;version.lib;Shlwapi.lib;libsndfile-1.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>muparserx.lib;version.lib;Shlwapi.lib;libsndfile-1.lib;libfftw3f-3.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
@@ -156,12 +157,16 @@
<ClCompile Include="..\filters\BiQuadFilterFactory.cpp" />
<ClCompile Include="..\filters\ChannelFilter.cpp" />
<ClCompile Include="..\filters\ChannelFilterFactory.cpp" />
<ClCompile Include="..\filters\ConvolutionFilter.cpp" />
<ClCompile Include="..\filters\ConvolutionFilterFactory.cpp" />
<ClCompile Include="..\filters\CopyFilter.cpp" />
<ClCompile Include="..\filters\CopyFilterFactory.cpp" />
<ClCompile Include="..\filters\DelayFilter.cpp" />
<ClCompile Include="..\filters\DelayFilterFactory.cpp" />
<ClCompile Include="..\filters\DeviceFilterFactory.cpp" />
<ClCompile Include="..\filters\ExpressionFilterFactory.cpp" />
<ClCompile Include="..\filters\GraphicEQFilter.cpp" />
<ClCompile Include="..\filters\GraphicEQFilterFactory.cpp" />
<ClCompile Include="..\filters\IfFilterFactory.cpp" />
<ClCompile Include="..\filters\IIRFilter.cpp" />
<ClCompile Include="..\filters\IIRFilterFactory.cpp" />
@@ -169,14 +174,23 @@
<ClCompile Include="..\filters\PreampFilter.cpp" />
<ClCompile Include="..\filters\PreampFilterFactory.cpp" />
<ClCompile Include="..\filters\StageFilterFactory.cpp" />
<ClCompile Include="..\helpers\ChannelHelper.cpp" />
<ClCompile Include="..\helpers\GainIterator.cpp" />
<ClCompile Include="..\helpers\LogHelper.cpp" />
<ClCompile Include="..\helpers\MemoryHelper.cpp" />
<ClCompile Include="..\helpers\RegistryHelper.cpp" />
<ClCompile Include="..\helpers\StringHelper.cpp" />
<ClCompile Include="..\IFilter.cpp" />
<ClCompile Include="..\libHybridConv-0.1.1\libHybridConv_eapo.cpp" />
<ClCompile Include="..\parser\RegexFunctions.cpp" />
<ClCompile Include="..\parser\RegistryFunctions.cpp" />
<ClCompile Include="..\parser\StringOperators.cpp" />
<ClCompile Include="..\stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Benchmark.cpp" />
</ItemGroup>
<ItemGroup>
@@ -187,12 +201,16 @@
<ClInclude Include="..\filters\BiQuadFilterFactory.h" />
<ClInclude Include="..\filters\ChannelFilter.h" />
<ClInclude Include="..\filters\ChannelFilterFactory.h" />
<ClInclude Include="..\filters\ConvolutionFilter.h" />
<ClInclude Include="..\filters\ConvolutionFilterFactory.h" />
<ClInclude Include="..\filters\CopyFilter.h" />
<ClInclude Include="..\filters\CopyFilterFactory.h" />
<ClInclude Include="..\filters\DelayFilter.h" />
<ClInclude Include="..\filters\DelayFilterFactory.h" />
<ClInclude Include="..\filters\DeviceFilterFactory.h" />
<ClInclude Include="..\filters\ExpressionFilterFactory.h" />
<ClInclude Include="..\filters\GraphicEQFilter.h" />
<ClInclude Include="..\filters\GraphicEQFilterFactory.h" />
<ClInclude Include="..\filters\IfFilterFactory.h" />
<ClInclude Include="..\filters\IIRFilter.h" />
<ClInclude Include="..\filters\IIRFilterFactory.h" />
@@ -200,6 +218,8 @@
<ClInclude Include="..\filters\PreampFilter.h" />
<ClInclude Include="..\filters\PreampFilterFactory.h" />
<ClInclude Include="..\filters\StageFilterFactory.h" />
<ClInclude Include="..\helpers\ChannelHelper.h" />
<ClInclude Include="..\helpers\GainIterator.h" />
<ClInclude Include="..\helpers\LogHelper.h" />
<ClInclude Include="..\helpers\MemoryHelper.h" />
<ClInclude Include="..\helpers\PrecisionTimer.h" />
@@ -207,9 +227,11 @@
<ClInclude Include="..\helpers\StringHelper.h" />
<ClInclude Include="..\IFilter.h" />
<ClInclude Include="..\IFilterFactory.h" />
<ClInclude Include="..\libHybridConv-0.1.1\libHybridConv_eapo.h" />
<ClInclude Include="..\parser\RegexFunctions.h" />
<ClInclude Include="..\parser\RegistryFunctions.h" />
<ClInclude Include="..\parser\StringOperators.h" />
<ClInclude Include="..\stdafx.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
+47
View File
@@ -80,6 +80,28 @@
<ClCompile Include="..\parser\StringOperators.cpp">
<Filter>parser</Filter>
</ClCompile>
<ClCompile Include="..\helpers\ChannelHelper.cpp">
<Filter>helpers</Filter>
</ClCompile>
<ClCompile Include="..\filters\GraphicEQFilterFactory.cpp">
<Filter>filters</Filter>
</ClCompile>
<ClCompile Include="..\filters\GraphicEQFilter.cpp">
<Filter>filters</Filter>
</ClCompile>
<ClCompile Include="..\helpers\GainIterator.cpp">
<Filter>helpers</Filter>
</ClCompile>
<ClCompile Include="..\libHybridConv-0.1.1\libHybridConv_eapo.cpp">
<Filter>libHybridConv-0.1.1</Filter>
</ClCompile>
<ClCompile Include="..\filters\ConvolutionFilter.cpp">
<Filter>filters</Filter>
</ClCompile>
<ClCompile Include="..\filters\ConvolutionFilterFactory.cpp">
<Filter>filters</Filter>
</ClCompile>
<ClCompile Include="..\stdafx.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\FilterEngine.h" />
@@ -164,6 +186,28 @@
<ClInclude Include="..\parser\StringOperators.h">
<Filter>parser</Filter>
</ClInclude>
<ClInclude Include="..\helpers\ChannelHelper.h">
<Filter>helpers</Filter>
</ClInclude>
<ClInclude Include="..\filters\GraphicEQFilterFactory.h">
<Filter>filters</Filter>
</ClInclude>
<ClInclude Include="..\filters\GraphicEQFilter.h">
<Filter>filters</Filter>
</ClInclude>
<ClInclude Include="..\helpers\GainIterator.h">
<Filter>helpers</Filter>
</ClInclude>
<ClInclude Include="..\libHybridConv-0.1.1\libHybridConv_eapo.h">
<Filter>libHybridConv-0.1.1</Filter>
</ClInclude>
<ClInclude Include="..\filters\ConvolutionFilterFactory.h">
<Filter>filters</Filter>
</ClInclude>
<ClInclude Include="..\filters\ConvolutionFilter.h">
<Filter>filters</Filter>
</ClInclude>
<ClInclude Include="..\stdafx.h" />
</ItemGroup>
<ItemGroup>
<Filter Include="parser">
@@ -175,5 +219,8 @@
<Filter Include="helpers">
<UniqueIdentifier>{4bf76d90-8b50-493a-848b-019f88fa1f11}</UniqueIdentifier>
</Filter>
<Filter Include="libHybridConv-0.1.1">
<UniqueIdentifier>{35b3b6f1-e4df-4214-bd4c-fa058942e547}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>