def set_metadata(self, metadata): """takes a MetaData object and sets this track's metadata this metadata includes track name, album name, and so on raises IOError if unable to write the file""" if metadata is None: return self.delete_metadata() metadata = VorbisComment.converted(metadata) old_metadata = self.get_metadata() metadata.vendor_string = old_metadata.vendor_string # port REPLAYGAIN and ENCODER from old metadata to new metadata for key in [u"REPLAYGAIN_TRACK_GAIN", u"REPLAYGAIN_TRACK_PEAK", u"REPLAYGAIN_ALBUM_GAIN", u"REPLAYGAIN_ALBUM_PEAK", u"REPLAYGAIN_REFERENCE_LOUDNESS", u"ENCODER"]: try: metadata[key] = old_metadata[key] except KeyError: metadata[key] = [] self.update_metadata(metadata)
def set_metadata(self, metadata): """takes a MetaData object and sets this track's metadata this metadata includes track name, album name, and so on raises IOError if unable to write the file""" from .vorbiscomment import VorbisComment if (metadata is not None): metadata = VorbisComment.converted(metadata) old_metadata = self.get_metadata() metadata.vendor_string = old_metadata.vendor_string #remove REPLAYGAIN_* tags from new metadata (if any) for key in [u"REPLAYGAIN_TRACK_GAIN", u"REPLAYGAIN_TRACK_PEAK", u"REPLAYGAIN_ALBUM_GAIN", u"REPLAYGAIN_ALBUM_PEAK", u"REPLAYGAIN_REFERENCE_LOUDNESS"]: try: metadata[key] = old_metadata[key] except KeyError: metadata[key] = [] self.update_metadata(metadata)
def set_metadata(self, metadata): """takes a MetaData object and sets this track's metadata this metadata includes track name, album name, and so on raises IOError if unable to write the file""" if (metadata is None): return self.delete_metadata() metadata = VorbisComment.converted(metadata) old_metadata = self.get_metadata() metadata.vendor_string = old_metadata.vendor_string # port REPLAYGAIN and ENCODER from old metadata to new metadata for key in [ u"REPLAYGAIN_TRACK_GAIN", u"REPLAYGAIN_TRACK_PEAK", u"REPLAYGAIN_ALBUM_GAIN", u"REPLAYGAIN_ALBUM_PEAK", u"REPLAYGAIN_REFERENCE_LOUDNESS", u"ENCODER" ]: try: metadata[key] = old_metadata[key] except KeyError: metadata[key] = [] self.update_metadata(metadata)