Repository: lordmulder/DynamicAudioNormalizer
Branch: master
Commit: 3d991fd3c833
Files: 157
Total size: 2.1 MB
Directory structure:
gitextract_sinsno6i/
├── .gitignore
├── DynamicAudioNormalizerAPI/
│ ├── DynamicAudioNormalizerAPI_VS2013.vcxproj
│ ├── DynamicAudioNormalizerAPI_VS2013.vcxproj.filters
│ ├── DynamicAudioNormalizerAPI_VS2015.vcxproj
│ ├── DynamicAudioNormalizerAPI_VS2015.vcxproj.filters
│ ├── DynamicAudioNormalizerAPI_VS2017.vcxproj
│ ├── DynamicAudioNormalizerAPI_VS2017.vcxproj.filters
│ ├── include/
│ │ └── DynamicAudioNormalizer.h
│ ├── makefile
│ ├── res/
│ │ └── DynamicAudioNormalizerAPI.rc
│ └── src/
│ ├── Binding_C.cpp
│ ├── Binding_JNI.cpp
│ ├── DLLMain.cpp
│ ├── DynamicAudioNormalizer.cpp
│ ├── FrameBuffer.cpp
│ ├── FrameBuffer.h
│ ├── GaussianFilter.cpp
│ ├── GaussianFilter.h
│ ├── Logging.cpp
│ ├── Logging.h
│ ├── Test_API.c
│ ├── Version.cpp
│ └── Version.h
├── DynamicAudioNormalizerCLI/
│ ├── DynamicAudioNormalizerCLI_VS2013.vcxproj
│ ├── DynamicAudioNormalizerCLI_VS2013.vcxproj.filters
│ ├── DynamicAudioNormalizerCLI_VS2015.vcxproj
│ ├── DynamicAudioNormalizerCLI_VS2015.vcxproj.filters
│ ├── DynamicAudioNormalizerCLI_VS2017.vcxproj
│ ├── DynamicAudioNormalizerCLI_VS2017.vcxproj.filters
│ ├── makefile
│ ├── res/
│ │ └── DynamicAudioNormalizerCLI.rc
│ └── src/
│ ├── 3rd_party/
│ │ └── memmem.h
│ ├── AudioIO.cpp
│ ├── AudioIO.h
│ ├── AudioIO_Mpg123.cpp
│ ├── AudioIO_Mpg123.h
│ ├── AudioIO_OpusFile.cpp
│ ├── AudioIO_OpusFile.h
│ ├── AudioIO_SndFile.cpp
│ ├── AudioIO_SndFile.h
│ ├── Main.cpp
│ ├── Parameters.cpp
│ ├── Parameters.h
│ ├── Platform.h
│ ├── Platform_Linux.cpp
│ ├── Platform_OSX.cpp
│ └── Platform_Win32.cpp
├── DynamicAudioNormalizerGUI/
│ ├── DynamicAudioNormalizerGUI.qrc
│ ├── DynamicAudioNormalizerGUI_VS2013.vcxproj
│ ├── DynamicAudioNormalizerGUI_VS2013.vcxproj.filters
│ ├── DynamicAudioNormalizerGUI_VS2015.vcxproj
│ ├── DynamicAudioNormalizerGUI_VS2015.vcxproj.filters
│ ├── DynamicAudioNormalizerGUI_VS2017.vcxproj
│ ├── DynamicAudioNormalizerGUI_VS2017.vcxproj.filters
│ ├── makefile
│ ├── res/
│ │ └── DynamicAudioNormalizerGUI.rc
│ └── src/
│ ├── 3rd_party/
│ │ ├── qcustomplot.cpp
│ │ └── qcustomplot.h
│ ├── Main.cpp
│ └── WinMain.cpp
├── DynamicAudioNormalizerJNI/
│ ├── .classpath
│ ├── .project
│ ├── build.xml
│ ├── generate_headers.bat
│ ├── include/
│ │ ├── com_muldersoft_dynaudnorm_JDynamicAudioNormalizer.h
│ │ ├── com_muldersoft_dynaudnorm_JDynamicAudioNormalizer_Error.h
│ │ ├── com_muldersoft_dynaudnorm_JDynamicAudioNormalizer_Logger.h
│ │ └── com_muldersoft_dynaudnorm_JDynamicAudioNormalizer_NativeAPI_r8.h
│ ├── makefile
│ ├── samples/
│ │ └── com/
│ │ └── muldersoft/
│ │ └── dynaudnorm/
│ │ └── samples/
│ │ ├── AudioFileIO.java
│ │ └── DynamicAudioNormalizerExample.java
│ ├── src/
│ │ └── com/
│ │ └── muldersoft/
│ │ └── dynaudnorm/
│ │ └── JDynamicAudioNormalizer.java
│ └── test/
│ └── com/
│ └── muldersoft/
│ └── dynaudnorm/
│ └── test/
│ └── JDynamicAudioNormalizerTest.java
├── DynamicAudioNormalizerNET/
│ ├── DynamicAudioNormalizerNET_VS2013.vcxproj
│ ├── DynamicAudioNormalizerNET_VS2013.vcxproj.filters
│ ├── DynamicAudioNormalizerNET_VS2015.vcxproj
│ ├── DynamicAudioNormalizerNET_VS2015.vcxproj.filters
│ ├── DynamicAudioNormalizerNET_VS2017.vcxproj
│ ├── DynamicAudioNormalizerNET_VS2017.vcxproj.filters
│ ├── res/
│ │ └── DynamicAudioNormalizerNET.rc
│ ├── samples/
│ │ ├── DynamicAudioNormalizerExample.cs
│ │ ├── DynamicAudioNormalizerExample.vb
│ │ ├── DynamicAudioNormalizerExample_CS.csproj
│ │ ├── DynamicAudioNormalizerExample_VB.vbproj
│ │ ├── DynamicAudioNormalizerExamples.sln
│ │ └── Properties/
│ │ ├── AssemblyInfo.cs
│ │ └── AssemblyInfo.vb
│ └── src/
│ ├── AssemblyInfo.cpp
│ ├── DynamicAudioNormalizerNET.cpp
│ ├── DynamicAudioNormalizerNET.h
│ └── resource.h
├── DynamicAudioNormalizerPAS/
│ ├── DynamicAudioNormalizerPAS.cfg
│ ├── DynamicAudioNormalizerPAS.dof
│ ├── DynamicAudioNormalizerPAS.dpr
│ ├── DynamicAudioNormalizerPAS.res
│ ├── include/
│ │ └── DynamicAudioNormalizer.pas
│ └── src/
│ ├── DynamicAudioNormalizerExample.dfm
│ └── DynamicAudioNormalizerExample.pas
├── DynamicAudioNormalizerPYD/
│ ├── DynamicAudioNormalizerPYD_VS2013.vcxproj
│ ├── DynamicAudioNormalizerPYD_VS2013.vcxproj.filters
│ ├── DynamicAudioNormalizerPYD_VS2015.vcxproj
│ ├── DynamicAudioNormalizerPYD_VS2015.vcxproj.filters
│ ├── DynamicAudioNormalizerPYD_VS2017.vcxproj
│ ├── DynamicAudioNormalizerPYD_VS2017.vcxproj.filters
│ ├── include/
│ │ └── DynamicAudioNormalizer.py
│ ├── makefile
│ ├── res/
│ │ └── DynamicAudioNormalizerPYD.rc
│ ├── samples/
│ │ ├── DynamicAudioNormalizerExample.py
│ │ └── WaveFileUtils.py
│ └── src/
│ └── DynamicAudioNormalizerPYD.cpp
├── DynamicAudioNormalizerShared/
│ ├── include/
│ │ ├── Common.h
│ │ └── Threads.h
│ └── res/
│ ├── compat.manifest
│ └── version.inc
├── DynamicAudioNormalizerSoX/
│ ├── DynamicAudioNormalizerSoX.c
│ ├── INFO.txt
│ ├── extra/
│ │ ├── main.c
│ │ ├── unicode_support.c
│ │ └── unicode_support.h
│ └── patch/
│ ├── SoX-v14.4.2-Patch1-UnicodeSupport+BuildFix.diff
│ └── SoX-v14.4.2-Patch2-AddDynAudNormEffect.diff
├── DynamicAudioNormalizerVST/
│ ├── DynamicAudioNormalizerVST.def
│ ├── DynamicAudioNormalizerVST_VS2013.vcxproj
│ ├── DynamicAudioNormalizerVST_VS2013.vcxproj.filters
│ ├── DynamicAudioNormalizerVST_VS2015.vcxproj
│ ├── DynamicAudioNormalizerVST_VS2015.vcxproj.filters
│ ├── DynamicAudioNormalizerVST_VS2017.vcxproj
│ ├── DynamicAudioNormalizerVST_VS2017.vcxproj.filters
│ ├── res/
│ │ └── DynamicAudioNormalizerVST.rc
│ └── src/
│ ├── DynamicAudioNormalizerVST.cpp
│ ├── DynamicAudioNormalizerVST.h
│ ├── Spooky.cpp
│ └── Spooky.h
├── DynamicAudioNormalizerWA5/
│ ├── DynamicAudioNormalizerWA5_VS2013.vcxproj
│ ├── DynamicAudioNormalizerWA5_VS2013.vcxproj.filters
│ ├── DynamicAudioNormalizerWA5_VS2015.vcxproj
│ ├── DynamicAudioNormalizerWA5_VS2015.vcxproj.filters
│ ├── DynamicAudioNormalizerWA5_VS2017.vcxproj
│ ├── DynamicAudioNormalizerWA5_VS2017.vcxproj.filters
│ ├── res/
│ │ └── DynamicAudioNormalizerWA5.rc
│ └── src/
│ └── DynamicAudioNormalizerWA5.cpp
├── DynamicAudioNormalizer_VS2013.sln
├── DynamicAudioNormalizer_VS2015.sln
├── DynamicAudioNormalizer_VS2017.props
├── DynamicAudioNormalizer_VS2017.sln
├── LICENSE-GPL2.html
├── LICENSE-GPL3.html
├── LICENSE-LGPL.html
├── Makefile
├── README.md
├── etc/
│ ├── vst_sdk/
│ │ └── VST_SDK_INFO.txt
│ └── winamp_sdk/
│ ├── LICENSE.txt
│ └── include/
│ ├── winamp_dsp.h
│ └── winamp_ipc.h
├── img/
│ └── dyauno/
│ └── Style.inc
├── z_build.bat
└── z_test.bat
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*.VC.db
*.bin
*.dcu
*.ddp
*.dll
*.dylib
*.exe
*.local.*
*.o
*.old
*.opendb
*.opensdf
*.sdf
*.so
*.suo
*.user
*.~*
*__pycache__*
*_old_*
/.vs
/DynamicAudioNormalizerGUI/tmp
/DynamicAudioNormalizerJNI/.settings
/DynamicAudioNormalizerJNI/bin
/DynamicAudioNormalizerJNI/out
/DynamicAudioNormalizerNET/samples/bin
/DynamicAudioNormalizerNET/samples/obj
/bin
/doc
/etc/vst_sdk/pluginterfaces
/etc/vst_sdk/public.sdk
/ipch
/obj
/out
/tmp
================================================
FILE: DynamicAudioNormalizerAPI/DynamicAudioNormalizerAPI_VS2013.vcxproj
================================================
Debug
Win32
Debug
x64
Release_DLL
Win32
Release_DLL
x64
Release_Static
Win32
Release_Static
x64
{376386EE-8268-47E3-A335-7663716E4C60}
Win32Proj
DynamicAudioNormalizerAPI
DynamicAudioNormalizerAPI
DynamicLibrary
true
v120_xp
Unicode
DynamicLibrary
true
v120_xp
Unicode
DynamicLibrary
false
v120_xp
true
Unicode
DynamicLibrary
false
v120_xp
true
Unicode
StaticLibrary
false
v120_xp
true
Unicode
StaticLibrary
false
v120_xp
true
Unicode
true
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
true
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
NotUsing
Level3
Disabled
WIN32;_DEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Disabled
false
MultiThreadedDebugDLL
Sync
ProgramDatabase
NoExtensions
Windows
true
$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
%(AdditionalDependencies)
NotUsing
Level3
Disabled
WIN32;_DEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Disabled
false
MultiThreadedDebugDLL
Sync
ProgramDatabase
Windows
true
$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
%(AdditionalDependencies)
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
false
StreamingSIMDExtensions2
MultiThreadedDLL
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
LinkVerboseLib
%(AdditionalDependencies)
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
false
MultiThreadedDLL
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
LinkVerboseLib
%(AdditionalDependencies)
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_STATIC;%(PreprocessorDefinitions)
false
StreamingSIMDExtensions2
MultiThreaded
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$(SolutionDir)\etc\vld\lib\$(Platform);%(AdditionalLibraryDirectories)
true
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_STATIC;%(PreprocessorDefinitions)
false
MultiThreaded
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$(SolutionDir)\etc\vld\lib\$(Platform);%(AdditionalLibraryDirectories)
true
================================================
FILE: DynamicAudioNormalizerAPI/DynamicAudioNormalizerAPI_VS2013.vcxproj.filters
================================================
{4FC737F1-C7A5-4376-A066-2A32D752A2FF}
cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
{eec3c662-ede0-4758-ba9f-e053d0324afa}
{93995380-89BD-4b04-88EB-625FBE52EBFB}
h;hh;hpp;hxx;hm;inl;inc;xsd
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Internal Header Files
Internal Header Files
Public Header Files
Internal Header Files
Internal Header Files
================================================
FILE: DynamicAudioNormalizerAPI/DynamicAudioNormalizerAPI_VS2015.vcxproj
================================================
Debug
Win32
Debug
x64
Release_DLL
Win32
Release_DLL
x64
Release_Static
Win32
Release_Static
x64
{376386EE-8268-47E3-A335-7663716E4C60}
Win32Proj
DynamicAudioNormalizerAPI
DynamicAudioNormalizerAPI
DynamicLibrary
true
v140_xp
Unicode
DynamicLibrary
true
v140_xp
Unicode
DynamicLibrary
false
v140_xp
true
Unicode
DynamicLibrary
false
v140_xp
true
Unicode
StaticLibrary
false
v140_xp
true
Unicode
StaticLibrary
false
v140_xp
true
Unicode
true
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
true
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
NotUsing
Level3
Disabled
WIN32;_DEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Disabled
false
MultiThreadedDebugDLL
Sync
ProgramDatabase
NoExtensions
Windows
true
$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
%(AdditionalDependencies)
NotUsing
Level3
Disabled
WIN32;_DEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Disabled
false
MultiThreadedDebugDLL
Sync
ProgramDatabase
Windows
true
$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
%(AdditionalDependencies)
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
false
StreamingSIMDExtensions2
MultiThreadedDLL
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
LinkVerboseLib
%(AdditionalDependencies)
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
false
MultiThreadedDLL
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
LinkVerboseLib
%(AdditionalDependencies)
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_STATIC;%(PreprocessorDefinitions)
false
StreamingSIMDExtensions2
MultiThreaded
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$(SolutionDir)\etc\vld\lib\$(Platform);%(AdditionalLibraryDirectories)
true
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_STATIC;%(PreprocessorDefinitions)
false
MultiThreaded
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$(SolutionDir)\etc\vld\lib\$(Platform);%(AdditionalLibraryDirectories)
true
================================================
FILE: DynamicAudioNormalizerAPI/DynamicAudioNormalizerAPI_VS2015.vcxproj.filters
================================================
{4FC737F1-C7A5-4376-A066-2A32D752A2FF}
cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
{eec3c662-ede0-4758-ba9f-e053d0324afa}
{93995380-89BD-4b04-88EB-625FBE52EBFB}
h;hh;hpp;hxx;hm;inl;inc;xsd
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Internal Header Files
Internal Header Files
Public Header Files
Internal Header Files
Internal Header Files
================================================
FILE: DynamicAudioNormalizerAPI/DynamicAudioNormalizerAPI_VS2017.vcxproj
================================================
Debug
Win32
Debug
x64
Release_DLL
Win32
Release_DLL
x64
Release_Static
Win32
Release_Static
x64
true
true
{376386EE-8268-47E3-A335-7663716E4C60}
Win32Proj
DynamicAudioNormalizerAPI
DynamicAudioNormalizerAPI
7.0
DynamicLibrary
true
v141_xp
Unicode
DynamicLibrary
true
v141_xp
Unicode
DynamicLibrary
false
v141_xp
true
Unicode
DynamicLibrary
false
v141_xp
true
Unicode
StaticLibrary
false
v141_xp
true
Unicode
StaticLibrary
false
v141_xp
true
Unicode
true
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
true
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
false
$(SolutionDir)\obj\$(ProjectName)\$(Platform)\$(PlatformToolset)\$(Configuration)\
$(SolutionDir)\bin\$(Platform)\$(PlatformToolset)\$(Configuration)\
NotUsing
Level3
Disabled
WIN32;_DEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Disabled
false
MultiThreadedDebugDLL
Sync
ProgramDatabase
NoExtensions
Windows
true
$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
%(AdditionalDependencies)
NotUsing
Level3
Disabled
WIN32;_DEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Disabled
false
MultiThreadedDebugDLL
Sync
ProgramDatabase
Windows
true
$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
%(AdditionalDependencies)
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
false
StreamingSIMDExtensions2
MultiThreadedDLL
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
LinkVerboseLib
%(AdditionalDependencies)
$(SolutionDir)DynamicAudioNormalizerShared\res\compat.manifest %(AdditionalManifestFiles)
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_EXPORTS;%(PreprocessorDefinitions)
false
MultiThreadedDLL
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$$(SolutionDir)\..\Prerequisites\VisualLeakDetector\lib\$(Platform);%(AdditionalLibraryDirectories)
LinkVerboseLib
%(AdditionalDependencies)
$(SolutionDir)DynamicAudioNormalizerShared\res\compat.manifest %(AdditionalManifestFiles)
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_STATIC;%(PreprocessorDefinitions)
false
StreamingSIMDExtensions2
MultiThreaded
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$(SolutionDir)\etc\vld\lib\$(Platform);%(AdditionalLibraryDirectories)
true
Level3
NotUsing
MaxSpeed
true
true
WIN32;NDEBUG;_WINDOWS;_USRDLL;MDYNAMICAUDIONORMALIZER_STATIC;%(PreprocessorDefinitions)
false
MultiThreaded
AnySuitable
Speed
true
$(ProjectDir)\include;$(SolutionDir)\DynamicAudioNormalizerShared\include;$(SolutionDir)\DynamicAudioNormalizerJNI\include;$(SolutionDir)\..\Prerequisites\VisualLeakDetector\include;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)
Fast
true
Windows
false
true
true
$(SolutionDir)\etc\vld\lib\$(Platform);%(AdditionalLibraryDirectories)
true
================================================
FILE: DynamicAudioNormalizerAPI/DynamicAudioNormalizerAPI_VS2017.vcxproj.filters
================================================
{4FC737F1-C7A5-4376-A066-2A32D752A2FF}
cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
{eec3c662-ede0-4758-ba9f-e053d0324afa}
{93995380-89BD-4b04-88EB-625FBE52EBFB}
h;hh;hpp;hxx;hm;inl;inc;xsd
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Source Files
Internal Header Files
Internal Header Files
Public Header Files
Internal Header Files
Internal Header Files
Resource Files
================================================
FILE: DynamicAudioNormalizerAPI/include/DynamicAudioNormalizer.h
================================================
/* ================================================================================== */
/* Dynamic Audio Normalizer - Audio Processing Library */
/* Copyright (c) 2014-2019 LoRd_MuldeR . Some rights reserved. */
/* */
/* This library is free software; you can redistribute it and/or */
/* modify it under the terms of the GNU Lesser General Public */
/* License as published by the Free Software Foundation; either */
/* version 2.1 of the License, or (at your option) any later version. */
/* */
/* This library is distributed in the hope that it will be useful, */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
/* Lesser General Public License for more details. */
/* */
/* You should have received a copy of the GNU Lesser General Public */
/* License along with this library; if not, write to the Free Software */
/* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
/* */
/* http://www.gnu.org/licenses/lgpl-2.1.txt */
/* ================================================================================== */
#pragma once
/*StdLib includes*/
#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS
#endif
#include
/*DLL Export Definitions*/
#ifdef _MSC_VER
# ifdef MDYNAMICAUDIONORMALIZER_EXPORTS
# pragma message("MDynamicAudioNormalizer DLL: Export")
# define MDYNAMICAUDIONORMALIZER_DLL __declspec(dllexport)
# else
# ifndef MDYNAMICAUDIONORMALIZER_STATIC
# pragma message("MDynamicAudioNormalizer DLL: Import")
# define MDYNAMICAUDIONORMALIZER_DLL __declspec(dllimport)
# else
# define MDYNAMICAUDIONORMALIZER_DLL
# endif
# endif
#else
# ifdef __GNUC__
# ifdef MDYNAMICAUDIONORMALIZER_EXPORTS
# define MDYNAMICAUDIONORMALIZER_DLL __attribute__ ((visibility ("default")))
# else
# define MDYNAMICAUDIONORMALIZER_DLL
# endif
# else
# define MDYNAMICAUDIONORMALIZER_DLL
# endif
#endif
/*Utility macros*/
#define MDYNAMICAUDIONORMALIZER_GLUE1(X,Y) X##Y
#define MDYNAMICAUDIONORMALIZER_GLUE2(X,Y) MDYNAMICAUDIONORMALIZER_GLUE1(X,Y)
/*Interface version*/
#define MDYNAMICAUDIONORMALIZER_CORE 8
#define MDYNAMICAUDIONORMALIZER_FUNCTION(X) MDYNAMICAUDIONORMALIZER_GLUE2(MDynamicAudioNormalizer_##X##_r, MDYNAMICAUDIONORMALIZER_CORE)
#define MDynamicAudioNormalizer MDYNAMICAUDIONORMALIZER_GLUE2(MDynamicAudioNormalizer_r,MDYNAMICAUDIONORMALIZER_CORE)
/*Callback for log messages*/
typedef void (MDYNAMICAUDIONORMALIZER_FUNCTION(LogFunction))(const int logLevel, const char *const message);
/* ================================================================================== */
/* API for C++ application */
/* ================================================================================== */
#ifdef __cplusplus /*C++ compiler!*/
/*Standard Library include*/
#include
/*Opaque Data Class*/
class MDynamicAudioNormalizer_PrivateData;
/*Dynamic Normalizer Class*/
class MDYNAMICAUDIONORMALIZER_DLL MDynamicAudioNormalizer
{
public:
/*Constructor & Destructor*/
MDynamicAudioNormalizer(const uint32_t channels, const uint32_t sampleRate, const uint32_t frameLenMsec = 500, const uint32_t filterSize = 31, const double peakValue = 0.95, const double maxAmplification = 10.0, const double targetRms = 0.0, const double compressFactor = 0.0, const bool channelsCoupled = true, const bool enableDCCorrection = false, const bool altBoundaryMode = false, FILE *const logFile = NULL);
virtual ~MDynamicAudioNormalizer(void);
/*Public API*/
bool initialize(void);
bool process(const double *const *const samplesIn, double *const *const samplesOut, const int64_t inputSize, int64_t &outputSize);
bool processInplace(double *const *const samplesInOut, const int64_t inputSize, int64_t &outputSize);
bool flushBuffer(double *const *const samplesOut, const int64_t bufferSize, int64_t &outputSize);
bool reset(void);
bool getConfiguration(uint32_t &channels, uint32_t &sampleRate, uint32_t &frameLen, uint32_t &filterSize);
bool getInternalDelay(int64_t &delayInSamples);
/*Type definitions*/
typedef MDYNAMICAUDIONORMALIZER_FUNCTION(LogFunction) LogFunction;
enum { LOG_LEVEL_DBG = 0, LOG_LEVEL_WRN = 1, LOG_LEVEL_ERR = 2 };
/*Static functions*/
static void getVersionInfo(uint32_t &major, uint32_t &minor, uint32_t &patch);
static void getBuildInfo(const char **const date, const char **const time, const char **const compiler, const char **const arch, bool &debug);
static LogFunction *setLogFunction(LogFunction *const logFunction);
private:
MDynamicAudioNormalizer(const MDynamicAudioNormalizer&) : p(NULL) { throw "unsupported"; }
MDynamicAudioNormalizer &operator=(const MDynamicAudioNormalizer&) { throw "unsupported"; }
MDynamicAudioNormalizer_PrivateData *const p;
};
#endif /*__cplusplus*/
/* ================================================================================== */
/* API for C applications */
/* ================================================================================== */
#ifdef __cplusplus
extern "C" {
#endif /*__cplusplus*/
/*Standard Library include*/
#include
/*Opaque handle*/
typedef struct MDynamicAudioNormalizer_Handle MDynamicAudioNormalizer_Handle;
/*Global Functions*/
MDYNAMICAUDIONORMALIZER_DLL MDynamicAudioNormalizer_Handle* MDYNAMICAUDIONORMALIZER_FUNCTION(createInstance)(const uint32_t channels, const uint32_t sampleRate, const uint32_t frameLenMsec, const uint32_t filterSize, const double peakValue, const double maxAmplification, const double targetRms, const double compressFactor, const int channelsCoupled, const int enableDCCorrection, const int altBoundaryMode, FILE *const logFile);
MDYNAMICAUDIONORMALIZER_DLL void MDYNAMICAUDIONORMALIZER_FUNCTION(destroyInstance)(MDynamicAudioNormalizer_Handle **const handle);
MDYNAMICAUDIONORMALIZER_DLL int MDYNAMICAUDIONORMALIZER_FUNCTION(process)(MDynamicAudioNormalizer_Handle *const handle, const double *const *const samplesIn, double *const *const samplesOut, const int64_t inputSize, int64_t *const outputSize);
MDYNAMICAUDIONORMALIZER_DLL int MDYNAMICAUDIONORMALIZER_FUNCTION(processInplace)(MDynamicAudioNormalizer_Handle *const handle, double *const *const samplesInOut, const int64_t inputSize, int64_t *const outputSize);
MDYNAMICAUDIONORMALIZER_DLL int MDYNAMICAUDIONORMALIZER_FUNCTION(flushBuffer)(MDynamicAudioNormalizer_Handle *const handle, double *const *const samplesOut, const int64_t bufferSize, int64_t *const outputSize);
MDYNAMICAUDIONORMALIZER_DLL int MDYNAMICAUDIONORMALIZER_FUNCTION(reset)(MDynamicAudioNormalizer_Handle *const handle);
MDYNAMICAUDIONORMALIZER_DLL int MDYNAMICAUDIONORMALIZER_FUNCTION(getConfiguration)(MDynamicAudioNormalizer_Handle *const handle, uint32_t *const channels, uint32_t *const sampleRate, uint32_t *const frameLen, uint32_t *const filterSize);
MDYNAMICAUDIONORMALIZER_DLL int MDYNAMICAUDIONORMALIZER_FUNCTION(getInternalDelay)(MDynamicAudioNormalizer_Handle *const handle, int64_t *const delayInSamples);
MDYNAMICAUDIONORMALIZER_DLL void MDYNAMICAUDIONORMALIZER_FUNCTION(getVersionInfo)(uint32_t *const major, uint32_t *const minor, uint32_t *const patch);
MDYNAMICAUDIONORMALIZER_DLL void MDYNAMICAUDIONORMALIZER_FUNCTION(getBuildInfo)(const char **const date, const char **const time, const char **const compiler, const char **const arch, int *const debug);
MDYNAMICAUDIONORMALIZER_DLL MDYNAMICAUDIONORMALIZER_FUNCTION(LogFunction) *MDYNAMICAUDIONORMALIZER_FUNCTION(setLogFunction)(MDYNAMICAUDIONORMALIZER_FUNCTION(LogFunction) *const logFunction);
#ifdef __cplusplus
}
#endif /*__cplusplus*/
================================================
FILE: DynamicAudioNormalizerAPI/makefile
================================================
##############################################################################
# Dynamic Audio Normalizer - Audio Processing Library
# Copyright (c) 2014-2019 LoRd_MuldeR . Some rights reserved.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
# http://www.gnu.org/licenses/lgpl-2.1.txt
##############################################################################
ECHO=echo -e
SHELL=/bin/bash
JAVA_HOME ?= $(shell update-java-alternatives -l 2>/dev/null | grep -oE '[^[:space:]]+$$' || echo "/usr/lib/jvm/default")
##############################################################################
# Constants
##############################################################################
LIBRARY_NAME := libDynamicAudioNormalizerAPI
ifndef API_VERSION
$(error API_VERSION variable is not set!)
endif
##############################################################################
# JDK Checks
##############################################################################
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(ENABLE_JNI),false)
JDK_CHECK := $(shell [ -f $(JAVA_HOME)/include/jni.h ] && echo true || echo false)
ifneq ($(JDK_CHECK),true)
$(error File "include/jni.h" not found in JAVA_HOME path!)
endif
endif
endif
##############################################################################
# Flags
##############################################################################
DEBUG_BUILD ?= 0
MARCH ?= native
ifeq ($(DEBUG_BUILD), 1)
CONFIG_NAME = Debug
CXXFLAGS = -g -O0 -D_DEBUG
else
CONFIG_NAME = Release
CXXFLAGS = -O3 -Wall -ffast-math -mfpmath=sse -msse -fomit-frame-pointer -fno-tree-vectorize -DNDEBUG -march=$(MARCH)
endif
ifneq ($(findstring MINGW,$(shell uname -s)),MINGW)
CXXFLAGS += -fPIC
endif
CXXFLAGS += -std=gnu++11
CXXFLAGS += -fvisibility=hidden
CXXFLAGS += -DMDYNAMICAUDIONORMALIZER_EXPORTS
CXXFLAGS += -I./src
CXXFLAGS += -I./include
CXXFLAGS += -I../DynamicAudioNormalizerShared/include
CXXFLAGS += -I../DynamicAudioNormalizerJNI/include
ifneq ($(ENABLE_JNI),false)
CXXFLAGS += -I$(JAVA_HOME)/include
ifeq ($(findstring MINGW,$(shell uname -s)),MINGW)
CXXFLAGS += -I$(JAVA_HOME)/include/win32
else ifeq ($(shell uname), Darwin)
CXXFLAGS += -I$(JAVA_HOME)/include/darwin
else
CXXFLAGS += -I$(JAVA_HOME)/include/linux
endif
else
CXXFLAGS += -DNO_JAVA_SUPPORT
endif
##############################################################################
# File Names
##############################################################################
ifeq ($(findstring MINGW,$(shell uname -s)),MINGW)
SO_EXT = dll
LDXFLAGS += -Wl,--out-implib,$@.a
SHAREDFLAG = -shared
else ifeq ($(shell uname), Darwin)
SO_EXT = dylib
SHAREDFLAG = -dynamiclib
else
SO_EXT = so
SHAREDFLAG = -shared
endif
SOURCES_CPP = $(wildcard src/*.cpp)
SOURCES_OBJ = $(patsubst %.cpp,%.o,$(SOURCES_CPP))
LIBRARY_OUT = lib/$(LIBRARY_NAME)-$(API_VERSION)
LIBRARY_BIN = $(LIBRARY_OUT).$(SO_EXT)
LIBRARY_DBG = $(LIBRARY_OUT)-DBG.$(SO_EXT)
##############################################################################
# Rules
##############################################################################
.PHONY: all clean
all: $(LIBRARY_DBG) $(LIBRARY_BIN)
#-------------------------------------------------------------
# Link & Strip
#-------------------------------------------------------------
$(LIBRARY_BIN): $(SOURCES_OBJ)
@$(ECHO) "\e[1;36m[STR] $@\e[0m"
@mkdir -p $(dir $@)
g++ $(SHAREDFLAG) -g0 -o $@ $+ $(LDXFLAGS)
ifeq ($(shell uname), Darwin)
install_name_tool -id "@loader_path/$(notdir $@)" $@
strip -u -r -x $@
else
strip --strip-unneeded $@
endif
$(LIBRARY_DBG): $(SOURCES_OBJ)
@$(ECHO) "\e[1;36m[LNK] $@\e[0m"
@mkdir -p $(dir $@)
g++ $(SHAREDFLAG) -o $@ $+ $(LDXFLAGS)
ifeq ($(shell uname), Darwin)
install_name_tool -id "@loader_path/$(notdir $@)" $@
endif
#-------------------------------------------------------------
# Compile
#-------------------------------------------------------------
%.o: %.cpp
@$(ECHO) "\e[1;36m[CXX] $<\e[0m"
@mkdir -p $(dir $@)
g++ $(CXXFLAGS) -c $< -o $@
#-------------------------------------------------------------
# Clean
#-------------------------------------------------------------
clean:
rm -fv $(SOURCES_OBJ)
rm -rfv ./lib
================================================
FILE: DynamicAudioNormalizerAPI/res/DynamicAudioNormalizerAPI.rc
================================================
//////////////////////////////////////////////////////////////////////////////////
// Dynamic Audio Normalizer - Audio Processing Library
// Copyright (c) 2014-2019 LoRd_MuldeR . Some rights reserved.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
//
// http://www.gnu.org/licenses/lgpl-2.1.txt
//////////////////////////////////////////////////////////////////////////////////
#include "WinResrc.h" //"afxres.h"
#define INC_DYNAUDNORM_VERSION_INTERNAL 0x22b4f8a9
#include "../DynamicAudioNormalizerShared/res/version.inc"
//////////////////////////////////////////////////////////////////////////////////
// Neutral resources
//////////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
#ifdef _WIN32
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#pragma code_page(1252)
#endif //_WIN32
//////////////////////////////////////////////////////////////////////////////////
// Version
//////////////////////////////////////////////////////////////////////////////////
VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_DYNAUDNORM_MAJOR,VER_DYNAUDNORM_MINOR_HI,VER_DYNAUDNORM_MINOR_LO,VER_DYNAUDNORM_PATCH
PRODUCTVERSION VER_DYNAUDNORM_MAJOR,VER_DYNAUDNORM_MINOR_HI,VER_DYNAUDNORM_MINOR_LO,VER_DYNAUDNORM_PATCH
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x3L
#else
FILEFLAGS 0x2L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "Comments", "This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License ."
VALUE "CompanyName", "LoRd_MuldeR "
VALUE "FileDescription", "DynamicAudioNormalizer Core Library"
VALUE "FileVersion", VER_DYNAUDNORM_STR
VALUE "InternalName", "DynamicAudioNormalizerAPI"
VALUE "LegalCopyright", "Copyright (c) 2014-2019 LoRd_MuldeR "
VALUE "LegalTrademarks", "This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License "
VALUE "OriginalFilename", "DynamicAudioNormalizerAPI.dll"
VALUE "ProductName", "DynamicAudioNormalizer"
VALUE "ProductVersion", VER_DYNAUDNORM_STR
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0, 1200
END
END
#endif // Neutral resources
================================================
FILE: DynamicAudioNormalizerAPI/src/Binding_C.cpp
================================================
//////////////////////////////////////////////////////////////////////////////////
// Dynamic Audio Normalizer - Audio Processing Library
// Copyright (c) 2014-2019 LoRd_MuldeR . Some rights reserved.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
//
// http://www.gnu.org/licenses/lgpl-2.1.txt
//////////////////////////////////////////////////////////////////////////////////
#include "DynamicAudioNormalizer.h"
#define INT2BOOL(X) ((X) != 0)
extern "C"
{
MDynamicAudioNormalizer_Handle* MDYNAMICAUDIONORMALIZER_FUNCTION(createInstance)(const uint32_t channels, const uint32_t sampleRate, const uint32_t frameLenMsec, const uint32_t filterSize, const double peakValue, const double maxAmplification, const double targetRms, const double compressFactor, const int channelsCoupled, const int enableDCCorrection, const int altBoundaryMode, FILE *const logFile)
{
try
{
MDynamicAudioNormalizer *const instance = new MDynamicAudioNormalizer(channels, sampleRate, frameLenMsec, filterSize, peakValue, maxAmplification, targetRms, compressFactor, INT2BOOL(channelsCoupled), INT2BOOL(enableDCCorrection), INT2BOOL(altBoundaryMode), logFile);
if(instance->initialize())
{
return reinterpret_cast(instance);
}
else
{
delete instance;
return NULL;
}
}
catch(...)
{
return NULL;
}
}
MDYNAMICAUDIONORMALIZER_DLL void MDYNAMICAUDIONORMALIZER_FUNCTION(destroyInstance)(MDynamicAudioNormalizer_Handle **const handle)
{
if(MDynamicAudioNormalizer **const instance = reinterpret_cast(handle))
{
try
{
delete (*instance);
(*instance) = NULL;
}
catch(...)
{
/*ignore exception*/
}
}
}
int MDYNAMICAUDIONORMALIZER_FUNCTION(process)(MDynamicAudioNormalizer_Handle *const handle, const double *const *const samplesIn, double *const *const samplesOut, const int64_t inputSize, int64_t *const outputSize)
{
if (MDynamicAudioNormalizer *const instance = reinterpret_cast(handle))
{
try
{
return instance->process(samplesIn, samplesOut, inputSize, (*outputSize)) ? 1 : 0;
}
catch (...)
{
return 0;
}
}
return 0;
}
int MDYNAMICAUDIONORMALIZER_FUNCTION(processInplace)(MDynamicAudioNormalizer_Handle *const handle, double *const *const samplesInOut, const int64_t inputSize, int64_t *const outputSize)
{
if(MDynamicAudioNormalizer *const instance = reinterpret_cast(handle))
{
try
{
return instance->processInplace(samplesInOut, inputSize, (*outputSize)) ? 1 : 0;
}
catch(...)
{
return 0;
}
}
return 0;
}
int MDYNAMICAUDIONORMALIZER_FUNCTION(flushBuffer)(MDynamicAudioNormalizer_Handle *const handle, double *const *const samplesOut, const int64_t bufferSize, int64_t *const outputSize)
{
if(MDynamicAudioNormalizer *const instance = reinterpret_cast(handle))
{
try
{
return instance->flushBuffer(samplesOut, bufferSize, (*outputSize)) ? 1 : 0;
}
catch(...)
{
return 0;
}
}
return 0;
}
int MDYNAMICAUDIONORMALIZER_FUNCTION(reset)(MDynamicAudioNormalizer_Handle *const handle)
{
if(MDynamicAudioNormalizer *instance = reinterpret_cast(handle))
{
try
{
return instance->reset() ? 1 : 0;
}
catch(...)
{
return 0;
}
}
return 0;
}
int MDYNAMICAUDIONORMALIZER_FUNCTION(getConfiguration)(MDynamicAudioNormalizer_Handle *const handle, uint32_t *const channels, uint32_t *const sampleRate, uint32_t *const frameLen, uint32_t *const filterSize)
{
if(MDynamicAudioNormalizer *const instance = reinterpret_cast(handle))
{
try
{
return instance->getConfiguration((*channels), (*sampleRate), (*frameLen), (*filterSize)) ? 1 : 0;
}
catch(...)
{
return 0;
}
}
return 0;
}
int MDYNAMICAUDIONORMALIZER_FUNCTION(getInternalDelay)(MDynamicAudioNormalizer_Handle *const handle, int64_t *const delayInSamples)
{
if(MDynamicAudioNormalizer *const instance = reinterpret_cast(handle))
{
try
{
return instance->getInternalDelay(*delayInSamples) ? 1 : 0;
}
catch(...)
{
return 0;
}
}
return 0;
}
MDYNAMICAUDIONORMALIZER_FUNCTION(LogFunction) *MDYNAMICAUDIONORMALIZER_FUNCTION(setLogFunction)(MDYNAMICAUDIONORMALIZER_FUNCTION(LogFunction) *const logFunction)
{
return MDynamicAudioNormalizer::setLogFunction(logFunction);
}
void MDYNAMICAUDIONORMALIZER_FUNCTION(getVersionInfo)(uint32_t *const major, uint32_t *const minor, uint32_t *const patch)
{
MDynamicAudioNormalizer::getVersionInfo((*major), (*minor), (*patch));
}
void MDYNAMICAUDIONORMALIZER_FUNCTION(getBuildInfo)(const char **const date, const char **const time, const char **const compiler, const char **const arch, int *const debug)
{
bool isDebug;
MDynamicAudioNormalizer::getBuildInfo(date, time, compiler, arch, isDebug);
*debug = isDebug ? 1 : 0;
}
}
================================================
FILE: DynamicAudioNormalizerAPI/src/Binding_JNI.cpp
================================================
//////////////////////////////////////////////////////////////////////////////////
// Dynamic Audio Normalizer - Audio Processing Library
// Copyright (c) 2014-2019 LoRd_MuldeR . Some rights reserved.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
//
// http://www.gnu.org/licenses/lgpl-2.1.txt
//////////////////////////////////////////////////////////////////////////////////
#include "DynamicAudioNormalizer.h"
//Java support?
#ifndef NO_JAVA_SUPPORT
//StdLib
#include
#include
#include
#include
#ifdef __APPLE__
#include
#else
#include
#endif //__APPLE__
//C++11 support
#if (__cplusplus >= 201100L) || (defined(_MSC_VER) && (_MSC_VER > 1600))
#include
#define MAP_TYPE std::unordered_map
#else
#pragma message "C++11 support *not* enabled"
#include