]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Added -p packfactor and -l (looping) options.
authorGuido van Rossum <guido@python.org>
Mon, 4 Nov 1991 18:04:21 +0000 (18:04 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 4 Nov 1991 18:04:21 +0000 (18:04 +0000)
Demo/sgi/video/video.py

index ec135af0b87f333b9b341c915c34cc21010b9773..7c34e7af9b6e044be62b1c79dde9a15df1b0026c 100755 (executable)
@@ -1,3 +1,4 @@
+import getopt
 from gl import *
 from GL import *
 from DEVICE import *
@@ -72,20 +73,35 @@ def playsound(af, spkr):
     spkr.writesamps(data)
 
 def main():
-       foreground()
-       if len(sys.argv) > 1:
-               filename = sys.argv[1]
+       looping = 0
+       packfactor = 0
+       opts, args = getopt.getopt(sys.argv[1:], 'p:l')
+       for opt, arg in opts:
+               if opt = '-p':
+                       packfactor = int(eval(arg))
+               elif opt = '-l':
+                       looping = 1
+       if args:
+               filename = args[0]
        else:
                filename = 'film.video'
        f, w, h, pf = openvideo(filename)
-       if len(sys.argv) > 2:
-               audiofilename = sys.argv[2]
+       if 0 < packfactor <> pf:
+               w = w/pf*packfactor
+               h = h/pf*packfactor
+               pf = packfactor
+       if args[1:]:
+               audiofilename = args[1]
                af = open(audiofilename, 'r')
                spkr = openspkr()
+               afskip = 0
                if len(sys.argv) > 3:
-                       af.seek(eval(sys.argv[3]))
+                       afskip = eval(sys.argv[3])
+               if afskip > 0:
+                       af.seek(afskip)
        else:
                af, spkr = None, None
+       foreground()
        prefsize(w,h)
        win = winopen(filename)
        RGBmode()
@@ -98,6 +114,8 @@ def main():
        epoch.epoch = time.millitimer()
        nframe = 0
        tijd = 1
+       if looping:
+               looping = f.tell()
        try:
            while 1:
                if running:
@@ -114,6 +132,13 @@ def main():
                        print 'Played', nframe, 'frames at',
                        print 0.1 * int(nframe * 10000.0 / (t-epoch.epoch)),
                        print 'frames/sec'
+                       if looping:
+                               f.seek(looping)
+                               epoch.epoch = time.millitimer()
+                               nframe = 0
+                               running = 1
+                               if af <> None:
+                                       af.seek(afskip)
                if af <> None:
                        playsound(af,spkr)
                if not running or qtest():