def split (self, cuefile, cmd_args ): format = cmd_args.format if cmd_args.format else "flac" scheme = cmd_args.scheme if cmd_args.scheme else default_scheme target = getLossLessAudio("xyz." + format) self.check_decodable() target.check_encodable() try : cuesheet = parsecuefile( cuefile) except NoCuedataError as e: # when no cuefile is not available infomsg( e.message) infomsg("trying embeded cuesheet...") cuedata = self.embeded_cuedata() if not cuedata : raise NoCuedataError("%s does not contain embeded cuedata." % self.filename ) cuesheet = parsecuedata( conv2unicode(cuedata) ) infomsg( "splitting audio chunk: %s..." % self.filename) pieces = shnsplit(self.filename, cuesheet.breakpoints(), format) target.tag_pieces(pieces, cuesheet) target.calcReplayGain(pieces) target.rename_pieces(pieces, scheme)
def parsecuefile(cuefile): if not cuefile: raise NoCuedataError("No cuefile is specified/found.") cuedata = open(cuefile).read() infomsg ( ("parsing cuefile: %s...") % (cuefile) ) cuedata = conv2unicode(cuedata) return parsecuedata(cuedata)