Added: Filter type "IIR", which allows to specify a user-defined IIR filter of arbitrary order with custom coefficients. Improved: For playback devices, the APO is now installed both as GFX (post-mix) and LFX (pre-mix) APO. Normally the filtering happens in GFX, but the command "Stage" allows to select LFX to apply effects based on the number of input channels. Added: Expression language. The commands "If", "ElseIf", "Else", "EndIf", "Eval" and inline expressions allow to change the filter behaviour based on runtime conditions. Added: Command "Copy", which copies audio data between channels. Added: Command "Delay", which delays the audio on the currently selected channels. Improved: Configuration files are now locked exclusively for writing while reading them. Improved: There is now a transition (10 ms) from old to new configuration after loading. Improved: Substantial internal restructuring to improve extensibility and maintainability. Filtering commands now work exactly in the order they were specified. Fixed: When the microphone input was in stereo but the application requested a mono stream, the audio was heavily distorted. Fixed: The sine sweep generated by the Benchmark application had floating-point precision issues leading to severe artifacts when certain filters were applied.
194 lines
6.7 KiB
XML
194 lines
6.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ItemGroup>
|
|
<ClCompile Include="ClassFactory.cpp" />
|
|
<ClCompile Include="DeviceAPOInfo.cpp" />
|
|
<ClCompile Include="DllMain.cpp" />
|
|
<ClCompile Include="EqualizerAPO.cpp" />
|
|
<ClCompile Include="FilterEngine.cpp" />
|
|
<ClCompile Include="FilterConfiguration.cpp" />
|
|
<ClCompile Include="IFilter.cpp" />
|
|
<ClCompile Include="parser\RegexFunctions.cpp">
|
|
<Filter>parser</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="parser\RegistryFunctions.cpp">
|
|
<Filter>parser</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\BiQuad.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\BiQuadFilter.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\BiQuadFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\ChannelFilter.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\ChannelFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\CopyFilter.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\CopyFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\DelayFilter.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\DelayFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\DeviceFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\ExpressionFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\IncludeFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\PreampFilter.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\PreampFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\StageFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="helpers\LogHelper.cpp">
|
|
<Filter>helpers</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="helpers\MemoryHelper.cpp">
|
|
<Filter>helpers</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="helpers\RegistryHelper.cpp">
|
|
<Filter>helpers</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="helpers\StringHelper.cpp">
|
|
<Filter>helpers</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\IfFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\IIRFilterFactory.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="filters\IIRFilter.cpp">
|
|
<Filter>filters</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="parser\StringOperators.cpp">
|
|
<Filter>parser</Filter>
|
|
</ClCompile>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="ClassFactory.h" />
|
|
<ClInclude Include="DeviceAPOInfo.h" />
|
|
<ClInclude Include="EqualizerAPO.h" />
|
|
<ClInclude Include="FilterEngine.h" />
|
|
<ClInclude Include="IFilter.h" />
|
|
<ClInclude Include="IFilterFactory.h" />
|
|
<ClInclude Include="resource.h" />
|
|
<ClInclude Include="version.h" />
|
|
<ClInclude Include="FilterConfiguration.h" />
|
|
<ClInclude Include="parser\RegexFunctions.h">
|
|
<Filter>parser</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="parser\RegistryFunctions.h">
|
|
<Filter>parser</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\BiQuad.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\BiQuadFilter.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\BiQuadFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\ChannelFilter.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\ChannelFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\CopyFilter.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\CopyFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\DelayFilter.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\DelayFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\DeviceFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\ExpressionFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\IncludeFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\PreampFilter.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\PreampFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\StageFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="helpers\LogHelper.h">
|
|
<Filter>helpers</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="helpers\MemoryHelper.h">
|
|
<Filter>helpers</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="helpers\PrecisionTimer.h">
|
|
<Filter>helpers</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="helpers\RegistryHelper.h">
|
|
<Filter>helpers</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="helpers\StringHelper.h">
|
|
<Filter>helpers</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\IfFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\IIRFilterFactory.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="filters\IIRFilter.h">
|
|
<Filter>filters</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="parser\StringOperators.h">
|
|
<Filter>parser</Filter>
|
|
</ClInclude>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ResourceCompile Include="EqualizerAPO.rc" />
|
|
<ResourceCompile Include="EqualizerAPO64.rc" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<None Include="EqualizerAPO.def" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Filter Include="filters">
|
|
<UniqueIdentifier>{d8adcbe6-a53a-44e1-93fd-272b6e8983fb}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="helpers">
|
|
<UniqueIdentifier>{792503e3-923f-4123-808f-5acbf7da01fe}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="parser">
|
|
<UniqueIdentifier>{df98049b-1ada-41ad-a5ab-0a175600a767}</UniqueIdentifier>
|
|
</Filter>
|
|
</ItemGroup>
|
|
</Project> |