Esempio n. 1
0
    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)
Esempio n. 2
0
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)