##################################### # Released FreeLCS 3.9 with: # # ---------------------------- # # - LoudnessCorrection version 303 # # - HeartBeat_Checker version 022 # # - Installer version 134 # # - Latest Documentation # ##################################### - Installer version 134. Disabled ffmpeg dependencies from libebur128 loudness - executable since they wont build anymore. It seems FFmpeg API has changed and libebur128 loudness_scanner has not kept up with the changes. However ffmpeg bindings are not needed for anything in FreeLCS, because it uses the FFmpeg - executable installed in the os. - LoudnessCorrection version 303. Getting event number with: str(event) produces a diffrently formatted string than before. Changed to find the event number in the new format. ##################################### # Released FreeLCS 3.8 with: # # ---------------------------- # # - LoudnessCorrection version 301 # # - HeartBeat_Checker version 022 # # - Installer version 133 # # - Latest Documentation # ##################################### - Libebur128 does not support 8 - bit audio anymore (since December 2021). Convert 8 - bit files to 16 bits if FFmpeg is installed. - Ubuntu 22.04 and Debian 11 ships with broken mediainfo that hangs reading some 32 bit audio files. Install fixed mediainfo version 22.06 from mediainfo official site: https://mediaarea.net/en/MediaInfo - 00-backup_freelcs_configuration.sh: Handle installation of mediainfo from official .deb packages. ##################################### # Released FreeLCS 3.7 with: # # ---------------------------- # # - LoudnessCorrection version 300 # # - HeartBeat_Checker version 022 # # - Installer version 131 # # - Latest Documentation # ##################################### - installer.py version 131: Dropped support for debian 9 since it has an old version of sox (14.4.1) which does not support --i -p option that is now needed since FreeLCS 3.7. - LoudnessCorrection.py version 300: Get bit depth from sox with option -p not -b. -p is sox value "Precision" and it gets the exact bit depth for PCM files and estimated bit depth for audio compressed with bit reduction compression. - LoudnessCorrection.py version 299. Fixed a crash caused by BWF or mp2 having user added metadata in other than UTF-8 encoding. Sox is used to get file info and it prints user metadata since version 14.4.2 (starting from ubuntu 18.04 and debian 10). Now only channel count, bit depth, sample rate and sample count are asked from sox one by one and user metadata is ignored. - Updated 00-backup_freelcs_configuration.sh to handle ubuntu 20.04 installation. - Installer 130: ubuntu 20.04 added /dev/nvram and this new entry prevented discovering /dev/ram devices correctly. Package libqt4-dev is not available in ubuntu 20.04, disabled qt4, qt5, gtk2, gstreamer, rsvg2 build options and removed these packages from installation also. On ubuntu 20.04 gnuplot installation installs by default also package gnuplot-qt which depends on Gnome3 and brings dosens of unneeded packages with it. Gnuplot needs to be installed with package gnuplot-nox to avoid this. All issues fixed and FreelCS 3.7 seems to install cleanly now on ubuntu 20.04 ##################################### # Released FreeLCS 3.6 with: # # ---------------------------- # # - LoudnessCorrection version 297 # # - HeartBeat_Checker version 022 # # - Installer version 128 # # - Latest Documentation # ##################################### - 00-backup_freelcs_configuration.sh: Checkout correct version of libebur128 source. - Installer versio 128: Append target loudness level (for example -16 LUFS) to the hotfolder name but only if target loudness is different from -23 LUFS. - 00-backup_freelcs_configuration.sh: Fix unattended install on debian 10. Always install package fonts-liberation as gnuplot uses Liberation-Sans from it. - LoudnessCorrection version 297: Gnuplot now uses Liberations-Sans font and UTF-8 encoding when creating loudness history graphics. Html progress report now uses UTF-8 encoding. - Installer version 127: Always install package fonts-liberation as gnuplot uses Liberation-Sans from it. - LoudnessCorrection 295: Set target level color on graphics based on if target loudness is lower, equal or higher than -23 LUFS. - LoudnessCorrection version 294. Made code little clearer for where limiter hard_limit is when user uses loudness target level higher than -23 LUFS. - Installer version 125. Allow user to change target loudness level in the range of -31 to -12 LUFS. - LoudnessCorrection version 293. If target loudness is higher than -23 LUFS then lower sox limiter gradually depending on the target loudness. This helps reduce cases where processing with sox causes clipping. - LoudnessCorrection 292: Preliminary support for changing the target_loudness to a number different from -23 LUFS. - Installer 124: Debian 10 samba-common package has a bug that makes it always prompt the user for WINS configuration. Disable prompting. Preliminary support for changing the target_loudness to a number different from -23 LUFS. - Debian 10 compatibility modifications. ##################################### # Released FreeLCS 3.5 with: # # ---------------------------- # # - LoudnessCorrection version 291 # # - HeartBeat_Checker version 022 # # - Installer version 122 # # - Latest Documentation # ##################################### - Updated documentation for FreeLCS 3.5 release. - 00-backup_freelcs_configuration.sh: Forgot to update required git commit number. Fixed. - 00-backup_freelcs_configuration.sh: Oh Bash and your horrible inconsistent syntax :) - 00-backup_freelcs_configuration.sh: Libebur128 does not build cleanly anymore on old distros when TAGLIB is enabled, disable it for those distros. - Installer version 122. Version 1.2.4 of libebur128 does not build cleanly on ubuntu 16.04 naymore, it probably misses some c++11 headers. The problem lies in TAGLIB so I just disable building it because we don't need it for anything. - Added formats: 'mov','3gp','3g2','mj2' to nonfree mpeg formats, that gets enables if the user enables mp4. All these formats are based on mp4. - Adjusted GUI for moving ac3, mpeg layers 1 - 3 to free formats. - Forgot to add ac3 to free wrapper formats. Fixed. - More modifications required by adding Mpeg 1 Layer 1, 2, 3, Ac3 to free codecs. - Added opus and formats whos patents has epired (mpeg Layer 1, 2, 3 and AC-3) to free formats. Dropped support for Ubuntu 14.04. Work still in progress. - LoudnessCorrection version updated to 290. There are no changes in LoudnessCorrection functionality, but new regression tests needs a new version number as the version number is part of the name of the directory where regression test results are saved. regression_tester also needed some minor changes to work around a buggy "sudo" utility distributed with Ubuntu 18.04. Sudo -p does not work as it used to and this bug seems to be fixed in next sudo version. For some reason Ubuntu decided to include the buggy version in its distro. - Installer 120: Added initial support for Ubuntu 18.04. Upgraded libebur128 to versio 1.2.4 and added a compatible freelcs patch to it. ##################################### # Released FreeLCS 3.4 with: # # ---------------------------- # # - LoudnessCorrection version 289 # # - HeartBeat_Checker version 022 # # - Installer version 119 # # - Latest Documentation # ##################################### Documentation -------------- Updated documentation for FreeLCS 3.4 release. Installer 119 -------------- Found a bug that caused writing a Samba version 3.x smb.conf file on Ubuntu 14.04 and 16.04 when it should have written a samba version 4.1 file. Fixed. 00-backup_freelcs_configuration.sh ----------------------------------- Removed extra 'fi' left after last edit. 00-backup_freelcs_configuration.sh ----------------------------------- Fix typo. 00-backup_freelcs_configuration.sh ---------------------------------- Install the same apt packages now for all supported Linux versions. Removed checking for Debian 9. Installer 118 ------------- Samba configuration file was not correctly written. Fixed. 00-backup_freelcs_configuration.sh ----------------------------------- The backup / Restore script now handles loading of the ram disk driver (kernel module brd) Installer 117 ------------- Fix a bunch of bugs introduced to new code in the previous commit :) Installer 115 ------------- Add ram disk module brd to /etc/modules if it is not already there or compiled into the kernel. Installer 114 -------------- The root password is needed in the beginning of the installation process, since we are going to need to 'modprobe brd' on Ubuntu 16.04 and newer and Debian. Ask root password at the start of the installation process. 00-backup_freelcs_configuration.sh ---------------------------------- Fixed backup_freelcs_configuration.sh to use local libebur128 source archive if it is available. Installer 112 -------------- - Changed patchfile name and libebur128 source commit number to the latest that forces sane channel masp to 4 and 5 channel audio files Installer ---------- Libebur128 1.2.2 still gets 4 channel audio file channel maps sometimes wrong. Added code in the patch that forces 4.0 (L,R,LS,RS) and 5.0 (L,R,C,LS,RS) mapping for 4 and 5 channel files. Regression Tester ----------------- 'loudness' executable name has changed to 'loudness-freelcs'. Installer version 111 ---------------------- Added libebur128 version 1.2.2 source archive to FreeLCS installer package. - Install libebur128 version 1.2.2 from source package included in FreeLCS distribution. If included source is not found download source from github. - Change libebur128 file names so that they won't conflict with names from debian libebur128 package. User can install and remove the debian package now without affecting FreeLCS. Libebur128 debian package still does not have the 'loudness' executable that is needed for loudness calculations. The 'loudness' executable is installed by FreeLCS installer as 'loudness-freelcs'. - Added option 'server min protocol = SMB2' as a commented option in smb.conf. In case you want to disable smb protocol version 1 (cifs) just remove the # character in front of the option. LoudnessCorrection 289 ----------------------- - program 'loudness' is now called 'loudness-freelcs'. 00-backup_freelcs_configuration.sh ----------------------------------- Debian 9 support added to configuration backup script. Installer ---------- Added support for Debian 9. Needs more testing. Documentation: -------------- - Link to Audacity web page was out of date. Added info about how freelcs can be restarted on a systemd based distro. Documentation -------------- - Fixed links that got broken when I moved some "news" items from index.html to FreeLCS-Old_News.htm Documentation -------------- Forgot to update some documentation files, fixed :) ##################################### # Released FreeLCS 3.3 with: # # ---------------------------- # # - LoudnessCorrection version 287 # # - HeartBeat_Checker version 022 # # - Installer version 109 # # - Latest Documentation # ##################################### Documentation ------------- - Added info about dropping support of ubuntu 12.04 and Debian 7. - Recommend always to use a 64 bit operating system because the 32 bit version of mediainfo can't handle files bigger than 4 GB. - Ubuntu 16.04 Server locale works out of the box, no manual fixing needed anymore. - Added more info about OS X Samba problems. Copy files one by one to the FreeLCS server, most errors happen when transferring many files in one go. 00-backup_freelcs_configuration.sh ----------------------------------- - Corrected a bug I created in last commits causing sox not to be installed when restoring a FreeLCS backup. 00-backup_freelcs_configuration.sh ----------------------------------- Correct the OS_VERSION_MINOR_NUMBER parsing on Debian. This did not affect anything since the value is not yet used for anything, but maybe in the future :) 00-backup_freelcs_configuration.sh ----------------------------------- Install apt-get packages first and after that FreeLCS scripts, so that configuration file that comes with samba won't have a chance to overwrite users samba configuration. LoudnessCorrection 287 ----------------------- - Fix some of the new code meant for ubuntu 16.04 and FFmpeg 2.8.6 so that it still works correctly on older avconv based distros. LoudnessCorrection 285 ----------------------- - By default use FFmpeg, not avconv if both are found. This is because all distros are now transitioning from avconv back to FFmpeg. Ubuntu 16.04 already only uses FFmpeg and Debian 9 will also. installer 109 -------------- - Print correct text on installer window about installing libav-tools / FFmpeg on different distro versions. Ubuntu 16.04 now uses FFmpeg and previous versions of it and Debian 8 still uses libav-tools. 00-backup_freelcs_configuration.sh ----------------------------------- Updated to print a correct media converter installation command at the end of installation on both avconv and FFmpeg based distros. installer 108 -------------- - Removed support for debian 7. LoudnessCorrection 284 ----------------------- - Correction to previous commit :) LoudnessCorrection 283 ----------------------- Ubuntu 16.04 has changed from avconv to FFmpeg and it cuts 10 - 50 ms away from the audio when processing certain compressed formats (mpegts, mp3, aac). Found a fix :) LoudnessCorrection 282 ----------------------- FFmpeg does no longer skip corrupted audio frames but decodes them by default. This results in 10 - 40 ms full volume noise at the end of some multistream mpegts audio streams, and this in turn results the peak measurement showing a too high value for the stream. Fixed with FFmpeg option -fflags discardcorrupt. LoudnessCorrection 281 ----------------------- - Made some corrections to code in previous commit LoudnessCorrection 280 ----------------------- This version define formats that we don't want to support meaning files FFmpeg tries to convert with bad results. FFmpeg 2.8.6 on Ubuntu 16.04 tries to use Timidity with FFmpeg to create a wav from midi files, but the result is total garbage, prevent this. LoudnessCorrection 279 ----------------------- FFmpeg 2.8.6 prints info about 0 channel stream two times. First it complains that it can't find codec parameters, then it prints stream info. Prevent the first error message from incrementing the audio stream counter, since the 0 channel 'error' will be detected later in FFmpeg output when specifically checking for 0 channel streams. LoudnessCorrection 278 ----------------------- In Ubuntu 16.04 ffmpeg text output changed slightly causing wrapper format detection to fail. Fixed. LoudnessCorrection 277 ---------------------- Gnuplot 5 in Ubuntu 16.04 reverses y axis. Detect os version and adjust y axis cordinates accordingly LoudnessCorrection 275 ----------------------- Force FFmpeg to use less threads. On Ubuntu 16.04 with a 48 stream audiofile, FFmpeg created 327 threads resulting in stack space running out and FFmpeg failing. LoudnessCorrection 274 ----------------------- - Fixed 24 bit flac detection on Ubuntu 16.04 Installer 107 -------------- - Removed Ubuntu 12.04 from supported oses. Installer 105 --------------- - Installer is now allowed to run on Ubuntu 16.04. Updated FreeLCS version number to 3.3 ##################################### # Released FreeLCS 3.2 with: # # ---------------------------- # # - LoudnessCorrection version 273 # # - HeartBeat_Checker version 022 # # - Installer version 104 # # - Latest Documentation # ##################################### Documentation -------------- - Updated documentation for the FreeLCS release 3.2 :) Backup / Restore script ----------------------- - Bugfixes. Backup / Restore script ------------------------ - Added Debian 7 support to restore script Backup / Restore script ----------------------- - Noticed I had not updated restore script to disable loudness - program progress bar when I did it for LoudnessCorrection.py. The progress bar caused loudness - program to hang sometimes. Fixed. Backup / Restore script ------------------------ - Found out while testing restore that changes in newer oses made it fail. Fixed. Backup / Restore script ------------------------ - Started work to get the backup / restore script also to work on systemd based oses. Installer version 104 ---------------------- - Corrected a small bug in modifications I made and changed some text that is displayd to the user. On systemd based os's there will no more be a delay before LoudnessCorrection starts up, so I removed text explaining the delay. Installer version 103 ---------------------- - Print systemd information when debug mode is on. LoudnessCorrection Version 273 installer 102 ---------------------------------------------- - Write os init system name (init / systemd) to configfile that is passed to LoudnessCorrection and written to various logs. Installer version 101 ---------------------- - FreeLCS should now start correctly on systemd based os versions. This feature is still untested. Installer version 100 ---------------------- - Started work on supporting systemd init system introduced in Debian 8. LoudnessCorrection Version 272 ------------------------------- - Corrected a small typo in an error message LoudnessCorrection Version 271 ------------------------------- - Heartbeat_Checker crashed if the machine had no ip-address. Fixed. Installer version 99 --------------------- - Test os version number as a float so that version numbers can be compared easily. Installer version 98 --------------------- - Started testing if running on Debian 8 needs anymodifications to the functionality. This version accepts Debian 8 as install target os :) ##################################### # Released FreeLCS 3.1 with: # # ---------------------------- # # - LoudnessCorrection version 270 # # - HeartBeat_Checker version 022 # # - Installer version 097 # # - Latest Documentation # ##################################### Documentation -------------- - Updated index.html to tell about FreeLCS 3.1 release :) Installer 097 -------------- - Bumped FreeLCS version number to 3.1. No other changes :) LoudnessCorrection Version 270 ------------------------------- - Made some more refinements to the code in the last commit, so that it functions sanely in all situations. LoudnessCorrection Version 269 ------------------------------- - I sometimes get error messages by email, that tells me that checking the ip address of the server failed. I checked the code and ip address checking is done in too many places, some may happen simultaneously in separate threads causing the problem. Now LoudnessCorrections checks the ip address only in one thread and only once every 5 minutes. Also if checking fails, it is retried for 120 seconds before sending an error message to admin. Regression Tester ----------------- - Trying to find if regression tester runs on server or desktop version of a distro by searching for installed package: pulseaudio did not work. Fixed :) ##################################### # Released FreeLCS 3.0 with: # # ---------------------------- # # - LoudnessCorrection version 268 # # - HeartBeat_Checker version 022 # # - Installer version 095 # # - Latest Documentation # ##################################### Installer 095, Documentation ----------------------------- - Changed FreeLCS version from 2.5 to 3.0 since this release includes major new features. - Added info in the FAQ about FreeLCS 3.0 installation log. Documentation -------------- - Added some minor clarifications to the documentation. LoudnessCorrection Version 268, Installer 094, Documentation ------------------------------------------------------------- - Squashed a couple of more bugs in the new functionality. LoudnessCorrection Version 267, Installer 093, Documentation ------------------------------------------------------------- - Tested new features some more and fixed some more bugs I found :) LoudnessCorrection Version 265, Installer 092, Documentation ------------------------------------------------------------- - Made some tests with the new features and found some bugs and fixed them :) Documentation -------------- - Made some small corrections here and there. Installer 091 -------------- - Made some small changes in text displayed to the user. Documentation -------------- - FAQ: A little correction to last commit :) Documentation -------------- - Faq: added causes for the most common error messages you might get from FreeLCS. Documentation -------------- - I read through what I had written in two previous commits and corrected language and made clarifications here and there. Documentation -------------- - Added info about how to use the MXF Audio Remix - feature. Documentation -------------- - Added info in the user manual about how to use the Machine Readable Results - feature. Documentation -------------- - Started to update documentation to reflect the current status of FreeLCS. Added info about libav-tools vs. FFmpeg, how to use FFmpeg instead of avconv, added info in the FAQ about MXF remix mapping, how to partition disks bigger than 2 TB, what are sane defaults for a FreeLCS installation running on a virtual server. Regression Tester ----------------- - Trying to find if regression tester runs on server or desktop version of a distro by searching for installed package: xserver-xorg-core failed, because FreeLCS installation requires python3-tk which in turn installs xserver-xorg-core. Now we search for: pulseaudio. It is not present on server versions of Debian or Ubuntu distros. Installer 090 -------------- - Added a warning text that informs the user that before installation on Debian or Ubuntu Server some os configuration modifications must be made. LoudnessCorrection Version 264 ------------------------------- - The avconv version that ships with Ubuntu 14.04 uses 24 bit depth by default when saving in Flac format. This is wasteful when the input file bit depth is 16 or we are decompressing a lossy compression format. Forced bit depth of 16 in these cases. Installer 089 -------------- - Minor typo corrections in a print command. Regression Tester ----------------- - Various fixes for bugs that I encountered while regression testing FreeLCS latest version on Ubuntu 14.04. Installer 088 -------------- - Remove during startup also all directories users might have created into HotFolder/00-Corrected_Files/ LoudnessCorrection Version 263 ------------------------------- - Do not try to automatically delete files from HotFolder that start with .nfs since these are not regular files, but created when the folder is mounted with nfs and a file is deleted through nfs. The file will automatically disapper when the nfs is unmounted. Installer 087 -------------- - FreeLCS now removes during startup all directories users might have created in the HotFolder. Documentation -------------- - Changed all references from FFmpeg to libav. Added a section in the FAQ explaining the confusing situation of the FFmpeg / libav - fork. LoudnessCorrection Version 262 ------------------------------- - When debug_all - mode is on write settings that user defined during installation to a logfile in error logs directory. This helps debugging and making sure installation options are correctly picked up by LoudnessCorrection.py. Installer 084 -------------- - Made a small change to how installation options are written to a logfile. Installer 083 -------------- - Completed: write settings that user defined during installation to a installation logfile in /var/log Installer 082 -------------- - Installer did not read file output settings saved in previous installation. Fixed. - Work in progress: write settings that user defined during installation to a installation logfile in /var/log LoudnessCorrection Version 261 ------------------------------- - Made a small correction to how ffmpeg / avconv output is parsed to find the number of channels a audio stream has. Documentation -------------- - Changed the style of the FreeLCS homepage on freelcs.sourceforge.net. LoudnessCorrection Version 260 ------------------------------- - Fixed some more typo bugs made in previous commits :) LoudnessCorrection Version 259 ------------------------------- - Fixed typo bugs made in previous commit. Installer 081 -------------- - Fixed typo bugs made in previous commit. LoudnessCorrection Version 258 ------------------------------- - FreeLCS should now work using anconv instead of FFmpeg. FFmpeg is no longer easily availble to Ubuntu 14.04 users, because of the Ubuntu / Debian maintainers egoistic decision. He is a avconv developer part of the group that forked FFmpeg to start the libav - project. Installer 080 -------------- - Changed the name of one variable to better describe what's the value stored in it. LoudnessCorrection Version 257 ------------------------------- - Ubuntu 14.04 ships with Libav that supports writing 24 bit flac files. Ubuntu 12.04 FFmpeg limits this to 16 bits. Enabled using 24 bit flac when extracting audio streams with avconv. Installer 079 -------------- - Installer now tells LoudnessCorrection the distro name and version. 00-backup_freelcs_configuration -------------------------------- - Added a warning telling that a backup must be restored to the same Linux distro and version it was originally installed on or it might not work. Installer 078 -------------- - In Ubuntu 14.04 and Debian 7 install sox from OS repository because it is version 14.4.0 or higher (14.4.0 required). Ubuntu 12.04 still has an older version and sox 14.4.0 needs to be build from source. Installer 077 -------------- - Default peak measurement method is now TruePeak for new installations. Installer 075 -------------- - The new Samba - version in Ubuntu 14.04 depricated config option: security=shared and this caused samba shares to stop working. Corrected. LoudnessCorrection Version 256 ------------------------------- - Removed Mpeg Layer 1 and Layer 2 from free formats. Installer 074 -------------- - Added controls to define default MXF Remix Maps and to limit formats that FFmpeg is allowed to process. - Removed Mpeg Layer 1 and Layer 2 from free formats and added those as user selectable formats. LoudnessCorrection Version 255 ------------------------------- - Added mpeg1 and mpeg2 as permitted free audio codec formats. Wikipedia says Layer 1 and 2 audio patents have expired. Installer 073 -------------- - Added mpeg1 and mpeg2 as permitted free audio codec formats. Wikipedia says Layer 1 and 2 audio patents have expired. - Made some changes and bugfixes to the window that lets the user define settings for 'Machine Readable Result'. Installer 072 -------------- - Work continues towards getting Machine Readable Results and Remix Maps ready. Now the user can define Machine Readable Result - file options in the installer. LoudnessCorrection Version 254, Installer 071 ---------------------------------------------- - More work towards getting Machine Readable Results and Remix Maps ready :) LoudnessCorrection Version 253, Installer 070 ---------------------------------------------- - Work continues towards getting Machine Readable Results and Remix Maps ready :) HeartBeat_Checker 022, LoudnessCorrection Version 252, Installer 069 --------------------------------------------------------------------- - Started work toward adding new functionality (Machine Readable Results, Remix maps) to the installer, so that users can configure these during installation. - The FreeLCS version number is now fed by the installer program to LoundessCorrection.py and HeartBeat_Checker.py Installer 068 -------------- - Changed text that is displayed on window that asks for password. Installer 067 -------------- - The user can now force installation on a unsupported os version by using a commandline option. Example: ./installer.py -force-distro ubuntu 14.04 HeartBeat_Checker 021 ---------------------- - Error messages emailed to admin displays FreeLCS version number instead of LoudnessCorrection.py version number. LoudnessCorrection Version 251 ------------------------------ - Error messages emailed to admin and html - progress report now display FreeLCS version number instead of LoudnessCorrection.py version number. Installer 065 -------------- - FreeLCS now cleans up it's temp - directory when it starts up if there are some files left over from the last run. Installer 064 -------------- - I have noticed that the libebur128 program 'loudness' that is used to measure file loudness in FreeLCS sometimes hangs. This happens very rarely. I know that the progress bar the program prints has caused hangs in the past. The libebur128 author fixed the problem then, but I suspect the fix did not fix all hangs. I now did some testing with hundreds of files and did not get any hangs anymore when the progress bar was disbled. This version of the installer now patches libebur128 source code to disable the progress bar. The progress bar is not used for anything in FreeLCS, so it's safe to disable :) Installer 063 -------------- - The installer now finds operating system name and version number from '/etc/os-release', this can be later used to customize installation based on os version. The installer needs to do different things on different platforms. - Added the possibility to turn on debugging mode with the command line option -debug - Os name and version in now shown on the status line of the installer window. Documentation -------------- - On Ubuntu 14.04 the installer can't be started by double clicking on it in the file manager. Added instructions on how to correct this. Installer 062 -------------- - Ubuntu 14.04 ships with a new version of libav that does not work with the current version of libebur128. This issue stops libebur128 from compiling. Libav provides limited FFmpeg functionality to libebur128 and since this functionality is never used with FreeLCS I disabled libav from libebur128. FreeLCS uses the full FFmpeg to convert all files to wav, flac, ogg before loudness measurement with libebur128 and the limited built in FFmpeg functionality in libebur128 is never used anyway. Documentation -------------- - Refined installation instructions for Ubuntu Server and Debian without a GUI. Also made many small corrections and clarifications throughout documentation. Also tried to correct text with broken english :) Documentation -------------- - Added info about what changes are needed to Ubuntu Server to run FreeLCS and also how to install FreeLCS on Ubuntu Server or Debian over a ssh - connection. Also added info about how to set up automatic security updates on Ubuntu Server and Debian. The Debian part is still untested. Documentation -------------- - Added info about differences in configuring a Debian system compared to Ubuntu. Documentation -------------- - Added info about changes needed to the Debian system before FreeLCS installation. Installer 061 -------------- Preliminary support for Debian 7. The user must do a couple of small config changes to the Debian system before FreeLCS can be installed. I will document these later. LoudnessCorrection Version 250 ------------------------------ LoudnessCorrection always gathered processing data for last 100 processed files. Now info is only gathered when debug_file_processing == True. Warning these changes are still untested. Documentation -------------- Made a small correction to the main page (index.html) Installer / Documentation / Backup ----------------------------------- Merged changes made to the already released FreeLCS 2.4 to the main source tree. ##################################### # Released FreeLCS 2.4 with: # # ---------------------------- # # - LoudnessCorrection version 249 # # - HeartBeat_Checker version 020 # # - Installer version 060 # # - Latest Documentation # ##################################### Regression_tester ----------------- - Fixed a bug created in the last change :) Regression_tester ----------------- - Small bugfixes. compare_two_loudness_calculation_logs.py ---------------------------------------- - Small bugfixes. Regression_tester ----------------- - A small correction to text output in case email sending fails. Regression_tester ----------------- - The final feature added and some bugfixes. Regression_tester ----------------- - Bugfixes. Regression_tester ----------------- - A couple more features and bugfixes. Almost feature complete now :) Regression_tester ----------------- - Bugfixes. Regression_tester ----------------- - Bugfixes. Regression_tester ----------------- - Functionality mostly ready. Regression_tester ----------------- - Added more functionality. Work in progress. LoudnessCorrection Version 249 ------------------------------ - A small cosmetic change to ouput of subroutine 'debug_lists_and_dictionaries_thread' Regression_tester ----------------- - Added some more functionality, still work in progress. LoudnessCorrection Version 248 ------------------------------ - Bugfix: commandline option '-debug_all' did not turn on all support for all possible formats and writing results to machine readable results files like it should have. - New debug commandline options were missing from help text. - When 'debug_all' = True then the default time for idling before exiting is 3 minutes (used to be 11). Regression_tester ----------------- - Added a new script to help in debugging: regression_test.py. This script runs regression tests on a newly minted version of LoudnessCorrection.py and compares results to a known good set of results and reports findings to the developer by email. I used to run these tests manually, which was time consuming. The script is still work in progress. LoudnessCorrection Version 247 ------------------------------ - Added some commandline options that are used when running regression tests. FFmpeg processing can be turned on and off and samplepeak / TruePeak can be controlled using commandline options. Added also a commandline option that causes LoudnessCorrection to stop and exit when idling more than 11 minutes. This is needed to run the next regression test. compare_two_loudness_calculation_logs.py ---------------------------------------- - Rewrote the program totally so that it can now compare results from loudness calculation logs or sets of machine readable files. This prepares for the new automatic regression testing functionality that is soon to come. LoudnessCorrection Version 245 ------------------------------ - Bugfixes to the new functionality. LoudnessCorrection Version 244 ------------------------------ - Bugfixes to the new functionality. LoudnessCorrection Version 243 ------------------------------ - Bugfixes to the new functionality. LoudnessCorrection Version 242 ------------------------------ - Many bugfixes for the new functionality. - If the loudness corrected file could not be created due to an error in measuring the peak limited file or error in sox processing, then the error is recorded in the machine readable results file. - If MXF - file contains supported and unsupported audio streams and remix function is on, then a warning is recorded in the machine readable results file and loudness history graphics. LoudnessCorrection Version 241 ------------------------------ - User can now define if the original multistream file will be deleted immediately after extracting all audio streams from it or after the expiration time (default 8 hours). - Debug: the commandline option: '-debug_all' now turns on writing results to a machine readable file. LoudnessCorrection Version 240 ------------------------------ - Many bugfixes for the new functionality. Still more tests are needed to confirm that the new code functions correctly. LoudnessCorrection Version 239 ------------------------------ - Still work in progress: Redesigning how loudness calculation results are saved to a machine readable file. Features are ready but untested. LoudnessCorrection Version 238 ------------------------------ - Still work in progress: Redesigning how loudness calculation results are saved to a machine readable file. LoudnessCorrection Version 237 ------------------------------ - Work in progress: Redesigning how loudness calculation results are saved to a machine readable file. The new system knows what was the original multistream file that the mixes were extracted from, and stores results for all its mixes to a file named like the original multistream file. This makes it easier to integrate FreeLCS into an automated audio processing system. LoudnessCorrection Version 235 ------------------------------ - It is now possible to limit FFmpeg processing to free wrappers and codecs, or allow all formats. LoudnessCorrection Version 234 ------------------------------ - Add error number and error message at the end of loudness calculation results written to the results directory. - Errors happening in various subroutines now print error number and error message to the results text file if user has turned this option on. - Its now possible to define if the user doesn't want to create loudness corrected audio files or loudness history graphics files. This might be needed if LoudnessCorrection.py is used as part of audio processing automation. LoudnessCorrection Version 233 ------------------------------ - Corrected bugs made in version 232. LoudnessCorrection Version 232 ------------------------------ - Added the option to write loudness calculation results of each file to a separate text file in results directory. This and mxf audio remixing needs to be implemented in the installer before it is available to the user. LoudnessCorrection Version 231 ------------------------------ - Corrected bugs in the new mxf audio remixing code. LoudnessCorrection Version 230 ------------------------------ - Started work on experimental support for remixing audio in mxf to required mixes before loudness processing. Warning !!!!!!! Lots of untested code here :) ##################################### # Released FreeLCS 2.3 with: # # ---------------------------- # # - LoudnessCorrection version 229 # # - HeartBeat_Checker version 020 # # - Installer version 059 # # - Latest Documentation # ##################################### LoudnessCorrection Version 229 ------------------------------ - Bugfix: Two threads 'write_to_heartbeat_file_thread' and 'debug_manage_file_processing_information_thread' writes information gathered in a dictionary to disk in pickle format. Other threads update information in these dictionaries and if the update happend at the same time when these dictionaries were written to disk then the disk writing thread crashed. The timing for this to happen had to be very precise. Documentation ------------- - Corrected links in 'FreeLCS_Old_News.html' from absolute to relative :) Documentation ------------- - Corrected some links that the html - editor on it's own decided to change from relative to absolute :) Documentation ------------- - Added release information for FreeLCS 2.3. LoudnessCorrection Version 228 ------------------------------ - Bugfix: Debug mode: The variables read from configfile were not still written at the beginning of logfile 'debug-variables_lists_and_dictionaries'. LoudnessCorrection Version 227 ------------------------------ - I wrote a 'torture test' script that continuously copies files to loudness correction and deletes them while LoudnessCorrection is processing them. This allowed me to find more situations where LoudnessCorrection could be crashed (cases below) by deleting files that are already being processed upon. - Bugfix: When debug mode is on then LoudnessCorrection changes 'debug-variables_lists_and_dictionaries' filename every 24 hours. The new filename was incorrect. - Bugfix: When debug mode was on then LoudnessCorrection should have printed all variables read from configfile to logfile 'debug-variables_lists_and_dictionaries' but didn't. - Bugfix: Some stdout and stderr files used by 'subprocess.Popen' on several subroutines of LoudnessCorrection.py were not defined in the beginning of the subroutine. This sometimes caused these files to be 'undefined' if a audio file was deleted just the right moment in the middle of processing it. - Bugfix: If email sending failed, then the error message printed in error_log did not have timestamp and other vital information on it. - Bugfix: If user repeatedly copies the same file to the HotFolder and deletes it, then the file went multiple times in the processing queue. - Bugfix: If a file was just entering ffmpeg extraction and the user copied the same file to the HotForlder again, then the default dummy file info that is used before we really know file properties overwrote info for the file entering ffmpeg extraction causing a crash. This only happened if timing was just right. Documentation ------------- - Added info about the new backup / restoration functionality. Installer 059 -------------- - Bugfix: when debug mode was on the installer crashed due to addressing wrong dictionary on line 3577. - Added a license agreement window. Documentation ------------- - Added screenshot of the license agreement window. All programs ------------ - The path to Gnu GPL 3 license has changes on gnu.org website, updated the new path to all programs. LoudnessCorrection Version 225 ------------------------------ - Bugfix: Stopped some more ways that LoudnessCorrection could be crashed by deleting files it was currently processing. Backup_FreeLCS_configuration ---------------------------- - Bugfix: corrected a typo in loudnesscorrection_init_script link name. Documentation ------------- - Corrected typo in filename: loudnesscorrection_init_script. LoudnessCorrection Version 224 ------------------------------ - Bugfix: File processing information for unsupported audio streams was left over in a debug gathering dictionary although it was supposed to be deleted for unsupported streams. LoudnessCorrection Version 223 ------------------------------ - Bugfix: LoudnessCorrection could be crashed by copying many files to HotFolder and then deleting a file that was in the queue waiting for a processing slot to open. Backup_FreeLCS_configuration ---------------------------- - Added a separate script that can be used to clone FreeLCS installation to another machine. The restoration process does not need X, so it can be automated or run over a ssh - connection. LoudnessCorrection Version 222 ------------------------------ - Bugfix: debug information for sox commandlines was not recorded correctly when file was too big and and needed to be split to separate mono files. LoudnessCorrection Version 221 ------------------------------ - Bugfix: Fixed a regression in handling outputfiles bigger than 4 GB that appeared in version 220. Splitting output to separate mono files did not work correctly. - Bugfix: In case running sox was not successful, the error message printed on the result graphics was empty. ##################################### # Released FreeLCS 2.2 with: # # ---------------------------- # # - LoudnessCorrection version 220 # # - HeartBeat_Checker version 020 # # - Installer version 058 # # - Latest Documentation # ##################################### LoudnessCorrection Version 220 ------------------------------ - Bugfix: deleting a file in the HotFolder when the file had already entered processing, could cause a processing thread to crash. This caused the filename to block a processing slot indefenetively. Installer 058 -------------- - Bugfix: options start and stop did not work anymore on init script 'loudnesscorrection_init_script' after making the 'restart' option for it. Documentation -------------- - Changed 4 installer pictures on user manual and made a small addition to the FAQ. Installer 057 -------------- - LoudnessCorrection script can now be stopped and started with the following command: sudo -b /etc/init.d/loudnesscorrection_init_script restart LoudnessCorrection Version 219 ------------------------------ - Bugfix: corrected a crash bug I created when writing version 217. LoudnessCorrection Version 218 ------------------------------ - Changed loudness history graphics file scale for files longer than 192 hours (8 days) to display graphics at 1 day resolution. LoudnessCorrection Version 217 ------------------------------ - Debug information about each file processing is now saved only for the last 100 files, not 8 hours like it was previously. 8 hours of debug data consumes too much Ram on 64 bit operating systems. Documentation -------------- These updates happened in the previous commit, but I forgot to mention them :) - Updated User Manual and FAQ to current situation where FreeLCS can be installed without FFmpeg. - Clarified how bit depths are manipulated when FFmpeg is installed and when it's not. - Added a section to the FAQ about FFmpeg and patents. LoudnessCorrection Version 215 ------------------------------ - Bugfix: Bit depths under 8 and over 32 were not discarded as they should have been. - Bugfix: Found a case where sox could not get technical info from an audio file causing LoudnessCorrection to crash. Documentation -------------- - Added a chapter about how to synchronize server clock to a NTP time server. Documentation -------------- - Made some corrections. - Added sections to the FAQ about TruePeak metering and what Linux distributions will be supported. - Changed the wording "EBU R128 standard" to "EBU R128 recommendation". - Made a change to the raid section: it is better to use the UUID to identify your raid disk in /etc/fstab since the raid device name may change after kernel updates. Installer 055 -------------- - Installer no longer installs FFmpeg automatically, but shows user how to do it. - LoudnessCorrection startup commands on the last window can now be copied to clipboard and pasted to terminal. Installer 054 -------------- - Bugfix: If no email sending details were filled in previous installer run, then the list of smtp-server ports was not correct on the next run. Installer 053 -------------- - Bugfix: Corrected some bugs left over when modifying installer in version 052. LoudnessCorrection Version 214 ------------------------------ - Removed a couple of unsused variables left in the code. - When FFmpeg is installed then LoudnessCorrection no longer sends error messages in email if user drops files unsupported by FFmpeg (for example text files) to the HotFolder. Installer 052 -------------- - Removed some unused variables left in the code. - Bugfix: Installer always installed samba even though user did not select it for installation. LoudnessCorrection Version 212 ------------------------------ - Removed exception raising routines written in 208 because I found them hard to use and quite unnecessary :) LoudnessCorrection Version 211 ------------------------------ - New code added that catches python errors caused by a crash. The new code should help to debug hard to find bugs that happen only in specific circumstances. LoudnessCorrection Version 210 ------------------------------ - Bugfix: Corrected some more bugs in the new debug reporting code. - Found a way to ask samba if file transfer is ready. If samba is installed then this info is used before starting processing file. This should help if the network is very slow or unreliable. If the file transfer stops for 5 minutes, then the file is discarded and an error message is printed on the loudness history graphics file. LoudnessCorrection Version 209 ------------------------------ - Bugfix: language could not be changed to Finnish with the commandline option -finnish. LoudnessCorrection Version 208 ------------------------------ - Printing to screen when running in the background is not allower and a process is stopped if it tries. I combed through all print statements making sure nothing prints in the background. In situations when there is not possible to send email about and error an python exception is now raised with a custom error message. Exception messages are going to be handled by code that will soon be written :) LoudnessCorrection Version 207 ------------------------------ - Bugfix: Corrected some more bugs found in the new debugging code :) LoudnessCorrection Version 205 ------------------------------ - Bugfix: Corrected some more bugs in the new debugging code. - Function 'debug_file_processing' can be swithced on / off by sending the running LoudnessCorrection - process the SIGUSR1 - signal. - Function 'debug_all' can be swithced on / off by sending the running LoudnessCorrection - process the SIGUSR2 - signal. - Added tools to read debugging files that LoudnessCorrection.py writes. LoudnessCorrection Version 204 ------------------------------ - Corrected numerous bugs and misspellings I did when writing new debug info gathering code in version 198 - 203 :) LoudnessCorrection Version 203 ------------------------------- - Even more untested debugging code, the new debugging info gathering functionality is almost ready. LoudnessCorrection Version 202 ------------------------------- - Bugfix: Unit for difference from target loudness was dB in loudness history graphics file, corrected to LU. - Bugfix: Corrected unit from dBFS to dBTP in loudness history graphics when TruePeak measurement method is used. - Did split one big debug information dictionary to two more logically named ones. - List and dictionary function no longer prints debug info on screen only saves to disk. Info if written to a new file every 24 hours (starting from LoudnessCorrection startup time). - Values read from a configfile are now printed as first things on lists and dictionaries debug file if debug mode is on. - Removed the all old debugging code. - Added more untested debugging code :) LoudnessCorrection Version 201 ------------------------------- - Changed subroutine: 'get_audiofile_info_with_sox_and_determine_output_format' to get sample count again with sox, since 14.4.0 seems to get seems to get this info correctly (14.3.2 was buggy). Sample count is used when calculating audio duration (audio duration = sample_count / sample_rate). - Added even some more untested debugging code :) LoudnessCorrection Version 200 ------------------------------- - Some more work on debug information gathering. Code totally untested. LoudnessCorrection Version 199 ------------------------------- - This is a intermediate version to save changes made so far. Warning: this is work in progress, so there is a lot of new untested code. Version 197 of LoudnessCorrection works quite well, so use it if you must have a newer version that what was in official FreeLCS release. LoudnessCorrection Version 198 ------------------------------ - Continueing the work towards better debug information output. Warning lots of new code here, so it might contain new bugs. LoudnessCorrection Version 197 ------------------------------ - Bugfix: Hunted down a rare hanging bug. The error crashed integrated loudness calculation and the crash seems to be caused by the logarithm function that converts libebur128 given floating point value to decibels was getting a forbidden value (zero or negative number) sometimes. The bug is hard to reproduce, when it happened it wouldn't happen again with the same test files. I changed the way libebur128 output is parsed and added some code to catch the possible forbidden values. These changes should prevent the crash from happening again. - Continued working towards better and more defined debug information output. LoudnessCorrection Version 195 ------------------------------- - Bugfix: Corrected some bugs left over in new functionality that appeared in version 194. - Added more descriptive error messages to result graphics, when unsupported formats are encountered in case FFmpeg is not installed. - Started work towards more fine grained debug information output. LoudnessCorrection Version 194 ------------------------------- - It is now possible to use LoudnessCorrection when FFmpeg is not installed. This reduces the supported formats to: wav, flac and ogg. The installer needs to be modified before this functionality becomes available to the user. ##################################### # Released FreeLCS 2.1 with: # # ---------------------------- # # - LoudnessCorrection version 193 # # - HeartBeat_Checker version 020 # # - Installer version 051 # # - Latest Documentation # ##################################### Documentation -------------- - Minor fix in documentation clarifying what happens to bit depth when a file is processed. LoudnessCorrection Version 193 ------------------------------- - Bugfix: If audio file had many audio streams with uncompressed PCM audio then bit depth was not preserved correctly. - 64 bit audio files are now converted to 32 bits before processing. This is done because sox does not support bit depth over 32 bits. - Added some more text output when debug mode is on. - Bugfix: if FFmpeg stream map number can not be found when parsing FFmpeg text output then the audio stream is skipped. ##################################### # Released FreeLCS 2.00 with: # # ---------------------------- # # - LoudnessCorrection version 192 # # - HeartBeat_Checker version 020 # # - Installer version 051 # # - Latest Documentation # ##################################### Documentation -------------- - Some last minute corrections. Installer 051 -------------- - Changed the default email sending interval for LoudnessCorrection.py from 10 minutes to 30 minutes. I already did this in version 042, but it seems the change got lost somehow :) LoudnessCorrection Version 192 ------------------------------- - Bugfix: Corrected a typo that caused a crash. Documentation -------------- - Updated documentation, it is now completely up to date. LoudnessCorrection Version 191 ------------------------------- - Undid one change made in 189: libsndfile is no longer used to read long files when reading files with sox. This is because the installer now forces installation of sox 14.4.0 which solves the problem and large files work both on 32 bit and 64 bit Ubuntu. - Bugfix: minor fix for sox commandline list assignment. Installer 050 -------------- - Ubuntu ships with sox 14.3.2 which does not support large files correctly, so the installer now downloads sox source and builds and installs sox version 14.4.0. - libebur128 and sox compilation now uses 4 jobs to speed up installation. LoudnessCorrection Version 190 ------------------------------- - Bugfix: Corrected some crashy typos and some other bugs made when editing 189 :) LoudnessCorrection Version 189 ------------------------------- - Found out that large file support does not work correctly in sox unless operating system is 64 bit Ubuntu and sox reads files through libsndfile. All files that are bigger than 4 GB uncompressed are now read through libsndfile when processing with sox. - Renamed some variables in subroutine 'create_sox_commands_for_loudness_adjusting_a_file' to make more clear what values they store. - Changed flac compression level from 0 to 1 since this seems to give the best speed / compression ratio. - Bugfix: Forgot to turn debug off before commit 188 :) LoudnessCorrection Version 188 ------------------------------- - Debug mode now adds some more information about an audio file to the logfile: filename, integrated_loudness, loudness_range, highest_peak_db, channel_count, sample_rate, bit_depth, audio_duration. This info can be used for debugging. LoudnessCorrection Version 187 ------------------------------- - Bugfix: LoudnessCalculation started sometimes too early when files were still being transferred through network. This was due to the fact that in some cases the file size was immidiately reported as full when the tranfer started. This seemed to happen when the source computer was a windows computer. - Added some more text output when debug mode is on. - Bugfix: sox fails to report the duration of a long file correctly. This caused the output file size to be estimated incorrectly which in turn caused trying to write bigger than 4 GB files to wav format. Worked around the problem by getting file duration with mediainfo. Documentation -------------- - Made some more updates, documentation is now up to date :) Documentation -------------- - Started updating documentation to reflect the latest state of FreeLCS. Will release FreeLCS 2.0 soon :) Installer 049 -------------- - Bugfix: Corrected a bug in libebur128 patch installer introduced in version 048 and changed the name of a variable to one that better describes what's stored in it. LoudnessCorrection Version 185 ------------------------------- - Bugfix: error messages about nonsupported channel counts (channel counts bigger that 6) are no longer sent by email. - Cosmetic change to how the machine info looks in emailed error messages. Installer 048 -------------- - Installer now checks if libebur128 program 'loudness' has 4.0 and 5.0 channel compatibility patch applied and if not forces new installation with the patch. The patch makes libebur128 calculate correctly loudness of 4.0 (L, R, LS, RS) and 5.0 (L, R, C, LS, RS) files. - Bugfix: Reading of configfile written in previous installation caused a crash if email recipients list was empty. - Bugfix: Installer does not read in values from configuration written during previous installation unless previous installer version number was 39 or higher. There were some changes in stuff saved in config file in version 39. - If debug mode is on then installer displays values read in from config file that was written during previous installation. LoudnessCorrection Version 184 ------------------------------- - Bugfix: If there are audio streams in a file with channels count of zero (these are possible in mpegts), then create error message in result graphics file. Previously these streams were silently skipped. - Bugfix: The changes made in 183 caused a crash if LoudnessCorrection.py was started manually. The crash was caused because a list was modified from being a simple list to being a list of lists. - Made some cosmetic changes to error messages. There were filenames missing in some error messages sent to logfile and if the error message was printed on results graphics it sometimes included filename even though the title of result graphics always is the filename. LoudnessCorrection Version 183 ------------------------------- - Undid changes made in version 177. If there are more than 6 channels in an audio stream or file then the stream / file will not be processed because libebur128 only supports channel counts from 1 to 6. An error message is printed on result graphics file telling the user about this. If there are streams in file with channel counts over and under 6 then only streams with channel counts of 6 and lower are processed. - Bugfix: When channel count is 8 FFmpeg says it is 7.1. This situation in now handled correctly. LoudnessCorrection Version 181 ------------------------------- - Bugfix: In some rare cases FFmpeg tells channel count is 'quad' when usually in these cases it says it is '4'. The 'quad' situation is handled now correctly. LoudnessCorrection Version 180 ------------------------------- - If user drops files that have no audio (for example text files) in the HotFolder then error message is no longer sent by email. - Bugfix: When I made some changes to the exeception handling code early in the development, some typos were left in email sending exeception handling causing a crash. LoudnessCorrection Version 179 ------------------------------- - Added a function 'debug_write_loudness_calculation_info_to_a_logfile' than can be used to write filenames and loudness calculation data to a text file. Saved logfiles can be compared to new ones when critical parts of LoudnessCorrection.py or for example libebur128 gets modified. In other words this debug function can be used to validate that loudness calculation gives the same results before and after a change in critical components. LoudnessCorrection Version 178 ------------------------------- - Bugfix: If inputfile format is mpegts, then file duration is found out using 'mediainfo'. If mediainfo did not find time info, LoudnessCorrection crashed. LoudnessCorrection Version 177 ------------------------------- - If there are more than 6 audio channels in a single stream then a warning message on the results graphics now tells the user that channels beyond 6 will be ignored. HeartBeat_Checker version 020 ------------------------------- - Cosmetic change, removed one word ('at') from the HeartBeat_Checker startup email. Installer 047 -------------- - When installer starts it now checks for previously saved configfile and if found reads in some values from it and uses them as defaults. Installer 045 -------------- - Changed the text of the 'Force reinstallation' button. - Moved the 'Reinstallation toggle' button to another part of the window. - Bugfix: If LoudnessCorrection.py or HeartBeat_Checker.py was not in the same directory as the installer the install failed silently, now an error message is displayed. Installer 044 -------------- - Bugfix: Installer did not check if the apt-get database was already in use by another program. This caused the installation to silently fail in these cases. Installer 043 -------------- - Bugfix: If FreeLCS was previously installed and a new installation / update failed then LoudnessCorrection.py was deleted in some cases. - Bugfix: Some active buttons remained active and clickable after installation had started. Buttons go to 'disabled' state now when installation starts. Installer 042 -------------- - Changed the default email sending interval for LoudnessCorrection.py from 10 minutes to 30 minutes. - Added a new button to force reinstallation of all programs. This is needed when libebur128 gets bugfixes and needs to be updated. - Bugfix: errors that happened during installation were not shown on the program window. Installer 041 -------------- - Installs now the program 'mediainfo' that is required beginning from LoudnessCorrection version 173. LoudnessCorrection Version 175 ------------------------------- Bugfix: Compressed audio in wav - container was not handled at all, now it is uncompressed with FFmpeg and processed. Bugfix: If there are more than 1 streams in ogg then extract streams with FFmpeg. Bugfix: When LoudnessCorrection.py was run by starting it manually from the commandline, it crashed if given gibberish commandline arguments. LoudnessCorrection Version 174 ------------------------------- - Made a change to how the destinations for error messages are defined (where error messages are sent (log, screen, email)). Previously there was only a global default, now destinations can be defined when calling the subroutine that prints / sends error messages. - If file duration is less than 1 second the script no longer sends an error message by email. - Bugfix: error message about exceeding 4 GB wav format max size was not printed in Finnish. - Bugfix: The variable 'ffmpeg_output_format' was not transferred correctly from installer.py to LoudnessCorrection.py due to a typo in LoudnessCorrection.py LoudnessCorrection Version 173 ------------------------------- - Changed default output format to wav in cases where audio streams need to be extracted from a file with FFmpeg and input file bit depth is 24 bits. Previous format was flac, but I learned that FFmpeg forces bit depth to 16 bits always when writing flac files. - Bugfix: If file format is mpeg transportstream (mpegts) then FFmpeg is not always able to tell the correct file duration. In these cases read file duration with external command: mediainfo. - New requirement: mediainfo needs to be installed. Installer 040 -------------- - There is a variable (ffmpeg_output_format) defined in installer.py that used to tell LoudnessCorrection.py what output format to use when extracting audio streams with FFmpeg. The output format is now defined in LoudnessCorrection.py based on the estimated uncompressed file size. The variable in installer.py might be used in the future if user is allowed to define the ouput format, so I changed the variable default to ffmpeg_output_format = '' in installer. LoudnessCorrection Version 172 ------------------------------- - Bugfix: Creation of loudness corrected file failed due to a typo in cases where volume needed to be adjusted up. The bug was introduced in version 170. LoudnessCorrection Version 171 ------------------------------- - Bugfix: When language was 'Finnish' then strings added to filenames mixed English and Finnish words in some cases. - Old versions of libebur128 did not support more than 2 channels in a wav-file. Now it seems this restriction is gone and 6 channels wavs are supported, so we don't need to convert multichannel files to flac anymore before processing. This change speeds up processing multichannel wav-files. LoudnessCorrection Version 170 ------------------------------- - Splitting a big (bigger than 4 GB) multichannel file to separate mono files turned out to be very slow since sox is able to output just one file at a time. Now max 10 sox commands are run in parallel in separate threads. This cuts prosessing time when splitting up a 5.1 file to about a third (speed depends on raw processor power). HeartBeat_Checker version 019 ------------------------------- - The copyright disclaimer at the beginning of the code was missing some information, added it. No changes to the program code. LoudnessCorrection Version 169 ------------------------------- - Found a way to skip creating an intermediate file when the output file size is over 4 GB and needs to be split to separate channels. Speeds things up a bit in these cases. - Cleaned up sox routines by splitting repeating sections to separate subroutines. - Bugfix: integrated loudness calculation routine mixed english and finnish in error messages. LoudnessCorrection Version 168 ------------------------------- - Moved a functionality to it's own subroutine: get_audiofile_info_with_sox_and_determine_ouput_format - If output file size would exeed wav format max size of 4 GB, and the file is split to separate mono files or stored as a flac file then print a warning message about this in the loudness history graphics file. LoudnessCorrection Version 167 ------------------------------- - Bugfix: Corrected some bugs in 4 GB limit workaround. LoudnessCorrection Version 165 ------------------------------- - Workaround for wav 4 GB size limit is ready but untested. If outputfile will be bigger than 4 GB (for example a long 5.1 file), the channels in the file will be split to separate mono files. If individual mono files would still exeed the 4 GB wav limit, then all channels of the file are written to a single flac file. LoudnessCorrection Version 164 ------------------------------- - Took another approach to the 4 GB wav file size limit problem and undid some work done in version 163. - Latest version of Sox (14.4.2) seems to have implemented wav size support over 4 GB limit, but it's still buggy. Wav header gets messed up when 4 GB limit is exceeded. I filed a bugreport here: http://sourceforge.net/tracker/?func=detail&aid=3558019&group_id=10706&atid=110706 LoudnessCorrection Version 163 ------------------------------- - Bugfix: By mistake used a wrong Python method to find channel count and other numeric audio information from FFmpeg output. Corrected. - Started initial work on a problem when processing very large files would cause output file size to exceed wav-format max size of 4 GB. Documentation -------------- - Added info about how to download unreleased development versions of the software. HeartBeat_Checker version 018 ------------------------------- - Bugfix: HeartBeat Checker adds the time when an error happened to the email it sends to admin. The time was not always correct. - HeartBeat Checker now adds Heartbeat Checker and LoudnessCorrection program version numbers and other additional program info to emails it sends to the admin. LoudnessCorrection Version 162 ------------------------------- - LoudnessCorrection now adds its version number to the timestamp-file that HeartBeat_Checker monitors. LoudnessCorrection Version 161 ------------------------------- - All FFmpeg output parsing is now in its own subroutine and easier to change when new needs arise. - Bugfix: it seems that transport streams can have audio streams with a channel count of 0 which is quite surprising. These dummy streams are now skipped. - Bugfix: corrected another instance of a bug corrected in 159, when FFmpeg output contained characters that could not be translated to UTF-8 and caused a crash. Now ISO-8859-15 is used in these cases. - Corrected variable name: 'peak_measuring_method' to 'peak_measurement_method'. - LoudnessCorrection now writes its version number to the timestamps file that HeartBeat_Checker monitors. Installer 039 -------------- - Corrected variable name: 'peak_measuring_method' to 'peak_measurement_method'. LoudnessCorrection Version 160 ------------------------------- - Audio stream information is found out using FFmpeg. FFmpeg output parsing is split into two parts in the program. Started to move all FFmpeg output parsing to its own subroutine: get_audio_stream_information_with_ffmpeg. LoudnessCorrection Version 159 ------------------------------- - Added an check for if FFmpeg extracted stream number is valid. - Bugfix: Fixed a crash that happened when a file was inspected with FFmpeg and it output info (transportstream metadata) that contained characters that could not be translated to UTF-8. In these cases ISO-8859-15 is now used. - Bugfix: FFmpeg output format changes slightly depending what stream info it finds. Stream map numbers were not always found. LoudnessCorrection Version 158 ------------------------------- - Bugfix: If a file has many audiostreams then FFmpeg sometimes extracts the streams in random order and stream numbers and channel counts in filenames won't match. The FFmpeg stream number is now extracted from FFmpeg output and mapping is used to extract the streams in the correct order. LoudnessCorrection Version 157 ------------------------------- - Corrected some copy / paste errors that was left when doing the modifications in version 155. LoudnessCorrection Version 155 ------------------------------- - Hunted a hanging bug that sometimes manifests itself when processing lots of very short files (duration 1 second). I changed all instances of subprocess.Popen to use real files as the stdout and stderr buffers for the external commands that are run through subprocess.Popen. Some sources on the net said this is safer in threading than using subprocess.PIPE. In the end I found that the hanging bug is not in LoudnessCorrection.py but in libebur128 program 'loudness'. I have made the developer aware of this problem by filing a bugreport here: https://github.com/jiixyj/libebur128/issues/14 ##################################### # Released FreeLCS 1.02 with: # # - LoudnessCorrection version 154 # # - HeartBeat_Checker version 017 # # - Installer version 038 # # - Latest Documentation # ##################################### Documentation -------------- - Corrected some typos and made minor clarifications. - Corrected an error in the command needed to install required packages. The requirements was missing idle3. - Added info about how to report bugs and get error messages from the programs. ##################################### # Released FreeLCS 1.01 with: # # - LoudnessCorrection version 154 # # - HeartBeat_Checker version 017 # # - Installer version 038 # # - Latest Documentation # ##################################### Documentation -------------- - Added the new window in the installer that lets user select between sample peak and TruePeak measurement. LoudnessCorrection Version 154 ------------------------------- - Bugfix: Added printing of peak_measurement method In debug - mode. I forgot to do that in the last version :) Installer 038 -------------- - Bugfix: LoudnessCorrection.py was not installed to /usr/bin/ if user after installation navigated back through windows. - Added the possibility to select between sample peak and TruePeak measurement. Documentation -------------- - Added some clarifications to the manual about what happens to the files when they are processed. LoudnessCorrection Version 153 ------------------------------- - Bugfix: If there were several audiostreams in a file, then the channel count string in the extracted files name was incorrect. - Bugfix: When setting debug = True, the script crashed due to a critical dictionary not being defined. - Bugfix: Audio duration was not correctly extrated from ffmpeg output in some cases. - Added the possibility to use libebur128 TruePeak measurement method to find highest peaks. This is 4 times slower than just finding the sample peaks. - Protective limiter limits peaks to -4 dBFS when using sample peaks and to -2 dBFS when using TruePeak. In both cases resulting peaks will be about 1 dB higher than the limit. LoudnessCorrection Version 152 ------------------------------- - Bugfix: Introduced a bug a couple of versions ago when increased the maximum number of audiostreams that are extracted from a file from 8 to unlimited. The bug caused the program to crash when it was processing mp3 - files. - Bugfix: File duration was displayed incorrectly in the loudness history graphics file if duration was exactly 10 seconds. - Loudness history graphics display is calculated with 0.5 sec resolution if file duration is under 12 seconds (was previously for files less than 10 seconds). Resolution for longer files is 3 seconds. ##################################### # Released FreeLCS 1.00 with: # # - LoudnessCorrection version 151 # # - HeartBeat_Checker version 017 # # - Installer version 037 # # - Latest Documentation # ##################################### Documentation -------------- - Added documentation for FreeLCS 1.0 :) HeartBeat_Checker version 017 ------------------------------- The first email (HeartBeat_Checker has started) was sent too early, before the timestamps and other info of LoudnessCorrection was read. Installer 037 -------------- - Bugfix: Some directory permissions were not set correctly if HeartBeat Checker was deselected in installer. Installer 035 -------------- - Bugfix: Installer let the user go to the next window even though loudnesscorrection_init_script was not installed yet. - Bigfix: Some directory ownership and permissions were not set correctly if the user selected not to create a ram disk. ##################################### # First Public Git Commit :) # ##################################### HeartBeat_Checker version 015 ------------------------------- - HeartBeat_Checker now reads LoudnessCorrection IP-Addresses from the heartbeat.pickle instead of getting the addresses from the os. If HeartBeat_Checker and LoudnessCorrection are running on separate machines then emailed error messages nwo correctly tell IP-Addresses of the LoudnessCorrection - machine. LoudnessCorrection Version 151 ------------------------------- - The script now writes the machines IP-Addresses to the pickle HeartBeat_Checker monitors. - Made some small modifications to error email formatting. Installer 034 -------------- - Bugfix: Samba mount path was always 'LoudnessCorrection', changed this to follow the selected language. The mount path when finnish is selected is now 'AanekkyysKorjaus'.