summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xDemo/sgi/video/Vrec.py43
1 files changed, 30 insertions, 13 deletions
diff --git a/Demo/sgi/video/Vrec.py b/Demo/sgi/video/Vrec.py
index 2e20086..5f6cf6e 100755
--- a/Demo/sgi/video/Vrec.py
+++ b/Demo/sgi/video/Vrec.py
@@ -6,14 +6,15 @@
# Usage:
#
-# makemovie [-a] [-q queuesize] [-r n/d] [moviefile [audiofile]]
+# makemovie [-a] [-q queuesize] [-r rate] [-w width] [moviefile [audiofile]]
# Options:
#
# -a : record audio as well
# -q queuesize : set the capture queue size (default 2)
-# -r rate : capture 1 out of every n frames (default and min 2)
+# -r rate : capture 1 out of every 'rate' frames (default and min 2)
+# -w width : initial window width (default interactive placement)
#
# moviefile : here goes the movie data (default film.video);
# the format is documented in cmif-film.ms
@@ -55,8 +56,9 @@ def main():
qsize = 2
audio = 0
rate = 2
+ width = 0
- opts, args = getopt.getopt(sys.argv[1:], 'aq:r:')
+ opts, args = getopt.getopt(sys.argv[1:], 'aq:r:w:')
for opt, arg in opts:
if opt == '-a':
audio = 1
@@ -67,6 +69,8 @@ def main():
if rate < 2:
sys.stderr.write('-r rate must be >= 2\n')
sys.exit(2)
+ elif opt == '-w':
+ width = string.atoi(arg)
if args[2:]:
sys.stderr.write('usage: Vrec [options] [file [audiofile]]\n')
@@ -89,22 +93,35 @@ def main():
else:
audiofilename = None
- gl.foreground()
-
- # XXX should remove PAL dependencies
-
- x, y = SV.PAL_XMAX / 4, SV.PAL_YMAX / 4
- print x, 'x', y
+ v = sv.OpenVideo()
+ # Determine maximum window size based on signal standard
+ param = [SV.BROADCAST, 0]
+ v.GetParam(param)
+ if param[1] == SV.PAL:
+ x = SV.PAL_XMAX
+ y = SV.PAL_YMAX
+ elif param[1] == SV.NTSC:
+ x = SV.NTSC_XMAX
+ y = SV.NTSC_YMAX
+ else:
+ print 'Unknown video standard', param[1]
+ sys.exit(1)
- gl.minsize(40, 30)
+ gl.foreground()
+ gl.maxsize(x, y)
+ gl.keepaspect(x, y)
gl.stepunit(8, 6)
- gl.maxsize(SV.PAL_XMAX, SV.PAL_YMAX)
- gl.keepaspect(SV.PAL_XMAX, SV.PAL_YMAX)
+ if width:
+ gl.prefsize(width, width*3/4)
win = gl.winopen(filename)
+ if width:
+ gl.maxsize(x, y)
+ gl.keepaspect(x, y)
+ gl.stepunit(8, 6)
+ gl.winconstraints()
x, y = gl.getsize()
print x, 'x', y
- v = sv.OpenVideo()
v.SetSize(x, y)
v.BindGLWindow(win, SV.IN_REPLACE)