def get_replay_gain(self): """returns a ReplayGain object of our ReplayGain values returns None if we have no values""" from audiotools import ReplayGain metadata = self.get_metadata() if (metadata is None): return None if ({ 'replaygain_track_gain', 'replaygain_track_peak', 'replaygain_album_gain', 'replaygain_album_peak' }.issubset(metadata.keys())): # we have ReplayGain data try: return ReplayGain( unicode(metadata['replaygain_track_gain'])[0:-len(" dB")], unicode(metadata['replaygain_track_peak']), unicode(metadata['replaygain_album_gain'])[0:-len(" dB")], unicode(metadata['replaygain_album_peak'])) except ValueError: return None else: return None
def get_replay_gain(self): """returns a ReplayGain object of our ReplayGain values returns None if we have no values""" from audiotools import ReplayGain vorbis_metadata = self.get_metadata() if ((vorbis_metadata is not None) and ({ u'REPLAYGAIN_TRACK_PEAK', u'REPLAYGAIN_TRACK_GAIN', u'REPLAYGAIN_ALBUM_PEAK', u'REPLAYGAIN_ALBUM_GAIN' }.issubset(vorbis_metadata.keys()))): # we have ReplayGain data try: return ReplayGain( vorbis_metadata[u'REPLAYGAIN_TRACK_GAIN'][0] [0:-len(u" dB")], vorbis_metadata[u'REPLAYGAIN_TRACK_PEAK'][0], vorbis_metadata[u'REPLAYGAIN_ALBUM_GAIN'][0] [0:-len(u" dB")], vorbis_metadata[u'REPLAYGAIN_ALBUM_PEAK'][0]) except (IndexError, ValueError): return None else: return None
def get_replay_gain(self): """returns a ReplayGain object of our ReplayGain values returns None if we have no values may raise IOError if unable to read the file""" from audiotools import ReplayGain try: rg = BitstreamReader(self.get_block(b"RG"), False) except KeyError: return None version = rg.read(8) if version != 1: return None gain_title = rg.read(16) peak_title = rg.read(16) gain_album = rg.read(16) peak_album = rg.read(16) if ((gain_title == 0) and (peak_title == 0) and (gain_album == 0) and (peak_album == 0)): return None else: return ReplayGain( track_gain=64.82 - float(gain_title) / 256, track_peak=(10**(float(peak_title) / 256 / 20)) / 2**15, album_gain=64.82 - float(gain_album) / 256, album_peak=(10**(float(peak_album) / 256 / 20)) / 2**15)
def replay_gain(self): vorbis_metadata = self.get_metadata() if (set([ 'REPLAYGAIN_TRACK_PEAK', 'REPLAYGAIN_TRACK_GAIN', 'REPLAYGAIN_ALBUM_PEAK', 'REPLAYGAIN_ALBUM_GAIN' ]).issubset(vorbis_metadata.keys())): #we have ReplayGain data try: return ReplayGain( vorbis_metadata['REPLAYGAIN_TRACK_GAIN'][0][0:-len(" dB")], vorbis_metadata['REPLAYGAIN_TRACK_PEAK'][0], vorbis_metadata['REPLAYGAIN_ALBUM_GAIN'][0][0:-len(" dB")], vorbis_metadata['REPLAYGAIN_ALBUM_PEAK'][0]) except ValueError: return None else: return None
def replay_gain(self): metadata = self.get_metadata() if (metadata is None): return None if (set([ 'replaygain_track_gain', 'replaygain_track_peak', 'replaygain_album_gain', 'replaygain_album_peak' ]).issubset(metadata.keys())): #we have ReplayGain data try: return ReplayGain( unicode(metadata['replaygain_track_gain'])[0:-len(" dB")], unicode(metadata['replaygain_track_peak']), unicode(metadata['replaygain_album_gain'])[0:-len(" dB")], unicode(metadata['replaygain_album_peak'])) except ValueError: return None else: return None