Browse Source

fix this up so that titles work again... comment out some

print's..

[git-p4: depot-paths = "//depot/": change = 1738]
main
John-Mark Gurney 10 years ago
parent
commit
9601306336
1 changed files with 37 additions and 17 deletions
  1. +37
    -17
      audioraw.py

+ 37
- 17
audioraw.py View File

@@ -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):


Loading…
Cancel
Save