From 9601306336fa1db8eda0e6fb53f6b95416911bc8 Mon Sep 17 00:00:00 2001 From: John-Mark Gurney Date: Tue, 27 Jan 2015 23:11:02 -0800 Subject: [PATCH] fix this up so that titles work again... comment out some print's.. [git-p4: depot-paths = "//depot/": change = 1738] --- audioraw.py | 54 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/audioraw.py b/audioraw.py index a54e6a8..5900bd7 100644 --- a/audioraw.py +++ b/audioraw.py @@ -157,13 +157,14 @@ class AudioDisc(FSObject, MusicAlbum): self.cuesheet = kwargs.pop('cuesheet') self.cdtoc = kwargs.pop('toc', {}) self.kwargs = kwargs.copy() + # XXX - need to convert to cdtoc? + self.tags = tags = kwargs.pop('tags', {}) self.file = kwargs.pop('file') nchan = kwargs.pop('channels') samprate = kwargs.pop('samplerate') bitsps = kwargs.pop('bitspersample') samples = kwargs.pop('samples') - tags = kwargs.pop('tags', {}) picts = kwargs.pop('pictures', {}) totalbytes = nchan * samples * bitsps / 8 @@ -248,27 +249,46 @@ class AudioDisc(FSObject, MusicAlbum): trkarray = self.cuesheet['tracks_array'] kwargs = self.kwargs.copy() start = self.gettrackstart(i) + tags = self.tags + #print 'tags:', `tags` kwargs['start'] = start kwargs['samples'] = trkarray[trkidx + 1]['offset'] - start #print 'track: %d, kwargs: %s' % (i, `kwargs`) kwargs['originalTrackNumber'] = i try: tinfo = self.cdtoc['tracks'][i] + #print 'tinfo:', `tinfo` except KeyError: tinfo = {} - if 'TITLE' in self.cdtoc: - kwargs['album'] = self.cdtoc['TITLE'] - - if 'TITLE' in tinfo: - oi = tinfo['TITLE'] - - if 'PERFORMER' in tinfo: - kwargs['artist'] = tinfo['PERFORMER'] - - print 'kwargs:', `kwargs` - import traceback - traceback.print_stack() + if 'dtitle' in tags and ' / ' in tags['dtitle'][0]: + kwargs['artist'], kwargs['album'] = tags['dtitle'][0].split(' / ') + else: + if 'TITLE' in self.cdtoc: + kwargs['album'] = self.cdtoc['TITLE'] + if 'PERFORMER' in tinfo: + kwargs['artist'] = tinfo['PERFORMER'] + + tt = 'ttitle%d' % (i - 1) + if tt in tags: + if len(tags[tt]) != 1: + # XXX - track this? + print 'hun? ttitle:', `tags[tt]` + + ttitle = tags[tt][0] + if ' / ' in ttitle: + kwargs['artist'], oi = ttitle.split(' / ') + else: + oi = ttitle + else: + if 'TITLE' in tinfo: + oi = tinfo['TITLE'] + + #print 'title:', `oi` + #print 'kwargs:', `kwargs` + #print 'artist:', `kwargs['artist']` + #import traceback + #traceback.print_stack() return AudioRawTrack, oi, (), kwargs # XXX - figure out how to make custom mix-ins w/ other than AudioItem @@ -297,8 +317,8 @@ class AudioRawBase(FSObject): self.year = tags['DYEAR'][0] if 'DGENRE' in tags: self.genre = tags['DGENRE'][0] - #if 'DTITLE' in tags: - # self.artist, self.album = tags['DTITLE'][0].split(' / ', 1) + if 'DTITLE' in tags and ' / ' in tags['DTITLE'][0]: + self.artist, self.album = tags['DTITLE'][0].split(' / ', 1) self.url = '%s/%s/audio' % (self.cd.urlbase, self.id) if 'cover' in picts: pict = picts['cover'][0] @@ -320,8 +340,8 @@ class AudioRawBase(FSObject): def doUpdate(self): print 'dU:', `self`, self.baseObject.doUpdate print self.__class__.__bases__ - import traceback - traceback.print_stack() + #import traceback + #traceback.print_stack() self.baseObject.doUpdate(self) class AudioRaw(AudioRawBase, AudioItem):