Initial revision
diff --git a/Demo/sgi/video/Vplay.py b/Demo/sgi/video/Vplay.py
new file mode 100755
index 0000000..70e9356
--- /dev/null
+++ b/Demo/sgi/video/Vplay.py
@@ -0,0 +1,57 @@
+import sys
+import VFile
+import time
+import gl, GL
+from DEVICE import *
+
+def main():
+ if sys.argv[1:]:
+ for filename in sys.argv[1:]:
+ process(filename)
+ else:
+ process('film.video')
+
+def process(filename):
+ vin = VFile.VinFile().init(filename)
+ print 'File: ', filename
+ print 'Version: ', vin.version
+ print 'Size: ', vin.width, 'x', vin.height
+ print 'Pack: ', vin.packfactor, '; chrom:', vin.chrompack
+ print 'Bits: ', vin.c0bits, vin.c1bits, vin.c2bits
+ print 'Format: ', vin.format
+ print 'Offset: ', vin.offset
+
+ gl.foreground()
+ gl.prefsize(vin.width, vin.height)
+ win = gl.winopen(filename)
+ vin.initcolormap()
+
+ gl.qdevice(ESCKEY)
+ gl.qdevice(WINSHUT)
+ gl.qdevice(WINQUIT)
+
+ t0 = time.millitimer()
+ running = 1
+ data = None
+ while 1:
+ if running:
+ try:
+ t, data, chromdata = vin.getnextframe()
+ except EOFError:
+ running = 0
+ gl.wintitle('(done)')
+ if running:
+ dt = t + t0 - time.millitimer()
+ if dt > 0:
+ time.millisleep(dt)
+ vin.showframe(data, chromdata)
+ if not running or gl.qtest():
+ dev, val = gl.qread()
+ if dev in (ESCKEY, WINSHUT, WINQUIT):
+ break
+ if dev == REDRAW:
+ gl.reshapeviewport()
+ if data:
+ vin.showframe(data, chromdata)
+
+main()