Mercurial > mplayer.hg
view TOOLS/vobshift.py @ 33476:d068eac6cbf9
Make option '-noidle' working for the GUI.
So far, -idle was implicitly a default option to the GUI (although
the corresponding option variable was set to the '-noidle' value).
Explicitly set option '-idle' in the GUI now, remove the error (both
message and exit) that "the -idle option cannot be used with GMPlayer",
start the GUI without filename in either mode (idle or noidle) and
go to play_next_file only as long as the GUI has something to play
(or -idle was given).
This allows using option '-noidle' for the GUI which can be used to
quit it after it has finished playing.
author | ib |
---|---|
date | Mon, 06 Jun 2011 11:55:35 +0000 |
parents | 0f1b5b68af32 |
children |
line wrap: on
line source
#!/usr/bin/env python #usage: # # vobshift.py in.idx out.idx -8.45 # # this will read in in.idx,shift it by 8.45 seconds back, # and save it as out.idx # # license: i don't care ;) # import datetime import sys def tripletize(line): begin = line[:11] middle = line[11:23] end = line[23:] return (begin,middle,end) def text2delta(t): h = int( t[0:2] ) m = int( t[3:5] ) s = int( t[6:8] ) milli = int( t[9:12] ) return datetime.timedelta(hours=h,minutes=m,seconds=s,milliseconds=milli) def delta2text(d): t = str(d) milli = t[8:11] if len(milli) == 0: #fix for .000 seconds milli = '000' return '0'+t[:7]+':'+milli def shift(line,seconds): triplet = tripletize(line) base = text2delta(triplet[1]) base = base + datetime.timedelta(seconds=seconds) base = delta2text(base) return triplet[0]+base+triplet[2] INFILE =sys.argv[1] OUTFILE =sys.argv[2] DIFF =float(sys.argv[3]) o = open(OUTFILE,'wt') for line in open(INFILE): if line.startswith('timestamp'): line = shift(line,DIFF) o.write(line) o.close()