This PR basically refactors the entire processing structure and adds the following features:
WaveAlign won't stop processing in case of an error
Logging is added (skipped files and problem files are noted in a .log file)
WaveAlign never clips: If a file would clip after processing, it is simply not processed and added to the .log
Caching mechanism: WaveAlign writes and reads a .yaml cache file to skip already processed and unmodified files. This is probably the most important feature here, as it required the most refactoring.
Integration test added
Read mode can now detect the library dependent maximum LUFS (great if you just want to maximise the loudness of your whole library taking all files into account)
Window size now follows the Reaper scheme: LUFS-S (3 seconds, default) LUFS-M (4 seconds), LUFS-I (integrated)
Gain calculation strategy removed (there is currently no need for user access to RMS and peak level calculation)
I have also added various TODOs (tech-debts and new features). We should probably make issues out of them.
I know that some things are not 100% solved and that there is still some work to do. However, this has become so big that I had to stop at some point.
This PR basically refactors the entire processing structure and adds the following features:
I have also added various TODOs (tech-debts and new features). We should probably make issues out of them.
I know that some things are not 100% solved and that there is still some work to do. However, this has become so big that I had to stop at some point.