From ccd0d4e8cf51a46b9c80ebbfedd9a9ffb023741f Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Wed, 8 Aug 2012 11:53:07 -0400 Subject: [PATCH] cc-4105: added naive replay gain with some performance improvements. reading full file for md5 --- python_apps/media-monitor2/media/monitor/listeners.py | 1 - python_apps/media-monitor2/media/monitor/metadata.py | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/python_apps/media-monitor2/media/monitor/listeners.py b/python_apps/media-monitor2/media/monitor/listeners.py index 5c7f2d5f1..7c8784f7c 100644 --- a/python_apps/media-monitor2/media/monitor/listeners.py +++ b/python_apps/media-monitor2/media/monitor/listeners.py @@ -13,7 +13,6 @@ from media.monitor.log import Loggable, get_logger # following classes should be able to handle. TODO : implement all of the # following special cases # -# - Recursive directories being added to organized dirs are not handled # properly as they only send a request for the dir and not for every file. Also # more hacks are needed to check that the directory finished moving/copying? # diff --git a/python_apps/media-monitor2/media/monitor/metadata.py b/python_apps/media-monitor2/media/monitor/metadata.py index 7f206a400..1e591ced7 100644 --- a/python_apps/media-monitor2/media/monitor/metadata.py +++ b/python_apps/media-monitor2/media/monitor/metadata.py @@ -4,6 +4,7 @@ import math import os import copy +import media.update.replaygain as gain from media.monitor.exceptions import BadSongFile from media.monitor.log import Loggable import media.monitor.pure as mmp @@ -57,7 +58,8 @@ airtime_special = { "MDATA_KEY_MIME" : lambda m: m.mime[0] if len(m.mime) > 0 else u'', } -mutagen2airtime = dict( (v,k) for k,v in airtime2mutagen.iteritems() if isinstance(v, str) ) +mutagen2airtime = dict( (v,k) for k,v in airtime2mutagen.iteritems() + if isinstance(v, str) ) truncate_table = { 'MDATA_KEY_GENRE' : 64, @@ -158,9 +160,9 @@ class Metadata(Loggable): # Finally, we "normalize" all the metadata here: self.__metadata = mmp.normalized_metadata(self.__metadata, fpath) # Now we must load the md5: - self.__metadata['MDATA_KEY_MD5'] = mmp.file_md5(fpath) - #self.__metadata['MDATA_KEY_REPLAYGAIN'] = \ - #gain.calculate_replay_gain(fpath) + self.__metadata['MDATA_KEY_MD5'] = mmp.file_md5(fpath,max_length=-1) + self.__metadata['MDATA_KEY_REPLAYGAIN'] = \ + gain.calculate_replay_gain(fpath) def is_recorded(self): return mmp.is_airtime_recorded( self.__metadata )