[BACK] [FORWARD] [Tutorial] [Table of Contents]


DoubleView


The following Rivl procedure allows the viewer to watch two sequences at the same time by shrinking one of the sequences and putting it up in the top-right corner.

proc DoubleView {top bottom} {
	set width [expr [seq_width $bottom]/3]
	set height [expr [seq_height $bottom]/3]
	set dx [expr [seq_width $bottom]*0.6]
	set dy [expr [seq_height $bottom]*0.1]
	set smaller [seq_conform $top $width $height]
	seq_overlay [seq_map $smaller "im_trans %1 $dx $dy"] $bottom
	}
The first 4 lines just determines the size and shifts of the top sequence realtive to the main sequence. top refers to the sequence you wish to place in the corner. smaller is the top sequence reduced in size after seq_conform is called. The final line overlays the smaller sequence on top of the main sequence and shifts the smaller image using im_trans to the correct place. By using some multiplier which changed in time (%p) on dx and dy one could make the smaller sequence move around the screen. This would not be possible without seq_map which permits changes on every frame in the sequence.
Click on the image to see the output from this procedure after making the call

DoubleView bike_seq football_seq















[Top]