def mp3info( fnames): ee = [ 'mp3info', '-r', 'a', '-p', '%S::%Q::%o::%r::%f\n' ] + fnames rr = execresult( ee ) mtsec = {} for tf in rr.splitlines(): t,sampling,mode,kbitrate,f = tf.split( '::', 4) mtsec[ f] = dict( time= int(t), mode= mode, sampling= int(sampling), kbitrate= kbitrate, #text!float ) return mtsec
value = optz.framerate UNDO_LIMIT = None doc = aeidon.documents.MAIN import re durmkv = re.compile("Duration: (\d+)") p = aeidon.Project(FRAMERATE, UNDO_LIMIT) project = None size = 0 for path in args: encoding = aeidon.encodings.detect(path) sz = execresult(["mkvinfo", op.splitext(path)[0] + ".mkv"]) m = durmkv.search(sz) assert m sz = int(m.group(1)) if not project: project = aeidon.Project(FRAMERATE, UNDO_LIMIT) project.open(doc, path, encoding) else: # offset = project.subtitles[-1].end offset = size p.open(doc, path, encoding) p.shift_positions(None, offset) tp = project tn = len(tp.subtitles) print "add to ", offset, tn indices = range(tn, tn + len(p.subtitles))