Artifact 71b970f72efb8b399a08c6c727c559c7667cb053:
Wiki page
[
wmf command] by
chw
2021-09-01 12:51:16.
0000: 44 20 32 30 32 31 2d 30 39 2d 30 31 54 31 32 3a D 2021-09-01T12:
0010: 35 31 3a 31 36 2e 30 34 37 0a 4c 20 77 6d 66 5c 51:16.047.L wmf\
0020: 73 63 6f 6d 6d 61 6e 64 0a 50 20 61 38 64 32 35 scommand.P a8d25
0030: 62 39 61 35 35 32 35 38 37 62 66 35 37 35 31 38 b9a552587bf57518
0040: 35 64 37 39 33 66 66 64 66 34 32 64 37 37 30 64 5d793ffdf42d770d
0050: 65 61 37 0a 55 20 63 68 77 0a 57 20 39 33 39 35 ea7.U chw.W 9395
0060: 0a 3c 68 32 3e 77 6d 66 20 63 6f 6d 6d 61 6e 64 .<h2>wmf command
0070: 3c 2f 68 32 3e 0d 0a 0d 0a 3c 68 33 3e 4e 61 6d </h2>....<h3>Nam
0080: 65 3c 2f 68 33 3e 0d 0a 0d 0a 3c 62 3e 77 6d 66 e</h3>....<b>wmf
0090: 3c 2f 62 3e 20 2d 20 54 63 6c 20 69 6e 74 65 72 </b> - Tcl inter
00a0: 66 61 63 65 20 74 6f 20 63 61 6d 65 72 61 73 20 face to cameras
00b0: 75 73 69 6e 67 20 57 69 6e 64 6f 77 73 20 4d 65 using Windows Me
00c0: 64 69 61 20 46 6f 75 6e 64 61 74 69 6f 6e 0d 0a dia Foundation..
00d0: 0d 0a 3c 68 33 3e 53 79 6e 6f 70 73 69 73 3c 2f ..<h3>Synopsis</
00e0: 68 33 3e 0d 0a 0d 0a 3c 74 74 3e 70 61 63 6b 61 h3>....<tt>packa
00f0: 67 65 20 72 65 71 75 69 72 65 20 74 63 6c 77 6d ge require tclwm
0100: 66 3c 2f 74 74 3e 3c 62 72 3e 0d 0a 3c 74 74 3e f</tt><br>..<tt>
0110: 77 6d 66 20 3c 69 3e 6f 70 74 69 6f 6e 3c 2f 69 wmf <i>option</i
0120: 3e 20 3f 3c 69 3e 61 72 67 20 2e 2e 2e 3c 2f 69 > ?<i>arg ...</i
0130: 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 3c 68 33 3e 44 >?</tt>....<h3>D
0140: 65 73 63 72 69 70 74 69 6f 6e 3c 2f 68 33 3e 0d escription</h3>.
0150: 0a 0d 0a 54 68 69 73 20 20 63 6f 6d 6d 61 6e 64 ...This command
0160: 20 20 70 72 6f 76 69 64 65 73 20 73 65 76 65 72 provides sever
0170: 61 6c 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 6f al operations to
0180: 20 69 6e 74 65 72 66 61 63 65 20 63 61 6d 65 72 interface camer
0190: 61 73 20 75 73 69 6e 67 20 74 68 65 20 69 6e 66 as using the inf
01a0: 72 61 73 74 72 75 63 74 75 72 65 20 70 72 6f 76 rastructure prov
01b0: 69 64 65 64 20 62 79 20 57 69 6e 64 6f 77 73 20 ided by Windows
01c0: 4d 65 64 69 61 20 46 6f 75 6e 64 61 74 69 6f 6e Media Foundation
01d0: 2e 20 3c 74 74 3e 3c 69 3e 6f 70 74 69 6f 6e 3c . <tt><i>option<
01e0: 2f 69 3e 3c 2f 74 74 3e 20 69 6e 64 69 63 61 74 /i></tt> indicat
01f0: 65 73 20 77 68 61 74 20 74 6f 20 63 61 72 72 79 es what to carry
0200: 20 6f 75 74 20 6f 6e 20 20 74 68 65 20 20 57 69 out on the Wi
0210: 6e 64 6f 77 73 20 4d 65 64 69 61 20 46 6f 75 6e ndows Media Foun
0220: 64 61 74 69 6f 6e 20 73 75 62 73 79 73 74 65 6d dation subsystem
0230: 2e 20 41 6e 79 20 75 6e 69 71 75 65 20 61 62 62 . Any unique abb
0240: 72 65 76 69 61 74 69 6f 6e 20 66 6f 72 20 3c 74 reviation for <t
0250: 74 3e 3c 69 3e 6f 70 74 69 6f 6e 3c 2f 69 3e 3c t><i>option</i><
0260: 2f 74 74 3e 20 69 73 20 61 63 63 65 70 74 61 62 /tt> is acceptab
0270: 6c 65 2e 20 54 68 65 20 76 61 6c 69 64 20 6f 70 le. The valid op
0280: 74 69 6f 6e 73 20 61 72 65 3a 0d 0a 0d 0a 3c 74 tions are:....<t
0290: 74 3e 77 6d 66 20 63 6c 6f 73 65 20 3c 69 3e 64 t>wmf close <i>d
02a0: 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d evid</i></tt>...
02b0: 0a 20 20 20 20 43 6c 6f 73 65 73 20 74 68 65 20 . Closes the
02c0: 64 65 76 69 63 65 20 69 64 65 6e 74 69 66 69 65 device identifie
02d0: 64 20 62 79 20 3c 74 74 3e 3c 69 3e 64 65 76 69 d by <tt><i>devi
02e0: 64 3c 2f 69 3e 3c 2f 74 74 3e 20 77 68 69 63 68 d</i></tt> which
02f0: 20 68 61 73 20 62 65 65 6e 20 6f 70 65 6e 65 64 has been opened
0300: 20 62 65 66 6f 72 65 20 75 73 69 6e 67 20 3c 74 before using <t
0310: 74 3e 77 6d 66 20 6f 70 65 6e 3c 2f 74 74 3e 2e t>wmf open</tt>.
0320: 0d 0a 0d 0a 3c 74 74 3e 77 6d 66 20 64 65 76 69 ....<tt>wmf devi
0330: 63 65 73 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 ces</tt>....
0340: 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f Returns a list o
0350: 66 20 64 65 76 69 63 65 20 6e 61 6d 65 73 20 77 f device names w
0360: 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 hich can be used
0370: 20 66 6f 72 20 3c 74 74 3e 77 6d 66 20 6f 70 65 for <tt>wmf ope
0380: 6e 3c 2f 74 74 3e 2e 20 45 61 63 68 20 64 65 76 n</tt>. Each dev
0390: 69 63 65 20 61 64 64 73 20 74 77 6f 20 65 6c 65 ice adds two ele
03a0: 6d 65 6e 74 73 20 74 6f 20 74 68 65 20 6c 69 73 ments to the lis
03b0: 74 3a 20 69 74 73 20 73 79 6d 62 6f 6c 69 63 20 t: its symbolic
03c0: 6c 69 6e 6b 20 74 6f 20 62 65 20 75 73 65 64 20 link to be used
03d0: 69 6e 20 3c 74 74 3e 77 6d 66 20 6f 70 65 6e 3c in <tt>wmf open<
03e0: 2f 74 74 3e 20 61 6e 64 20 69 74 73 20 66 72 69 /tt> and its fri
03f0: 65 6e 64 6c 79 20 6e 61 6d 65 20 66 6f 72 20 70 endly name for p
0400: 72 65 73 65 6e 74 61 74 69 6f 6e 2e 0d 0a 0d 0a resentation.....
0410: 3c 74 74 3e 77 6d 66 20 66 6f 72 6d 61 74 20 3c <tt>wmf format <
0420: 69 3e 64 65 76 69 64 3c 2f 69 3e 20 3f 3c 69 3e i>devid</i> ?<i>
0430: 69 6e 64 65 78 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d index</i>?</tt>.
0440: 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 6f ... Returns o
0450: 72 20 63 68 61 6e 67 65 73 20 74 68 65 20 6d 65 r changes the me
0460: 64 69 61 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 dia format of th
0470: 65 20 64 65 76 69 63 65 20 69 64 65 6e 74 69 66 e device identif
0480: 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e 64 65 ied by <tt><i>de
0490: 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 54 68 vid</i></tt>. Th
04a0: 65 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d e optional param
04b0: 65 74 65 72 20 3c 74 74 3e 3c 69 3e 69 6e 64 65 eter <tt><i>inde
04c0: 78 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 61 6e x</i></tt> is an
04d0: 20 69 6e 74 65 67 65 72 20 6e 75 6d 62 65 72 20 integer number
04e0: 67 69 76 69 6e 67 20 74 68 65 20 69 6e 64 65 78 giving the index
04f0: 20 6f 66 20 74 68 65 20 6d 65 64 69 61 20 66 6f of the media fo
0500: 72 6d 61 74 20 74 6f 20 62 65 20 75 73 65 64 20 rmat to be used
0510: 61 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 3c as returned in <
0520: 74 74 3e 77 6d 66 20 6c 69 73 74 66 6f 72 6d 61 tt>wmf listforma
0530: 74 73 3c 2f 74 74 3e 2e 20 49 66 20 6f 6d 69 74 ts</tt>. If omit
0540: 74 65 64 2c 20 74 68 65 20 63 75 72 72 65 6e 74 ted, the current
0550: 6c 79 20 61 63 74 69 76 65 20 69 6e 64 65 78 20 ly active index
0560: 69 73 20 72 65 74 75 72 6e 65 64 2e 20 43 68 61 is returned. Cha
0570: 6e 67 69 6e 67 20 74 68 65 20 6d 65 64 69 61 20 nging the media
0580: 66 6f 72 6d 61 74 20 69 73 20 6f 6e 6c 79 20 70 format is only p
0590: 6f 73 73 69 62 6c 65 20 69 66 20 74 68 65 20 64 ossible if the d
05a0: 65 76 69 63 65 20 69 73 20 6e 6f 74 20 63 61 70 evice is not cap
05b0: 74 75 72 69 6e 67 20 69 6d 61 67 65 73 2e 0d 0a turing images...
05c0: 0d 0a 3c 74 74 3e 77 6d 66 20 67 72 65 79 69 6d ..<tt>wmf greyim
05d0: 61 67 65 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e age <i>devid</i>
05e0: 20 3f 3c 69 3e 70 68 6f 74 6f 49 6d 61 67 65 3c ?<i>photoImage<
05f0: 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 /i>?</tt>....
0600: 20 43 6f 70 69 65 73 20 74 68 65 20 6d 6f 73 74 Copies the most
0610: 20 72 65 63 65 6e 74 20 63 61 70 74 75 72 65 64 recent captured
0620: 20 69 6d 61 67 65 20 6f 66 20 74 68 65 20 64 65 image of the de
0630: 76 69 63 65 20 3c 74 74 3e 3c 69 3e 64 65 76 69 vice <tt><i>devi
0640: 64 3c 2f 69 3e 3c 2f 74 74 3e 20 69 6e 74 6f 20 d</i></tt> into
0650: 74 68 65 20 70 68 6f 74 6f 20 69 6d 61 67 65 20 the photo image
0660: 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 74 identified by <t
0670: 74 3e 3c 69 3e 70 68 6f 74 6f 49 6d 61 67 65 3c t><i>photoImage<
0680: 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 72 65 74 /i></tt> and ret
0690: 75 72 6e 73 20 6e 6f 6e 2d 7a 65 72 6f 20 6f 6e urns non-zero on
06a0: 20 73 75 63 63 65 73 73 20 6f 72 20 7a 65 72 6f success or zero
06b0: 20 69 66 20 6e 6f 20 64 61 74 61 20 74 72 61 6e if no data tran
06c0: 73 66 65 72 20 68 61 73 20 74 61 6b 65 6e 20 70 sfer has taken p
06d0: 6c 61 63 65 2e 20 54 68 65 20 20 70 68 6f 74 6f lace. The photo
06e0: 20 69 6d 61 67 65 20 69 73 20 66 69 6c 6c 65 64 image is filled
06f0: 20 77 69 74 68 20 67 72 65 79 20 76 61 6c 75 65 with grey value
0700: 73 2e 20 49 66 20 3c 74 74 3e 3c 69 3e 70 68 6f s. If <tt><i>pho
0710: 74 6f 49 6d 61 67 65 3c 2f 69 3e 3c 2f 74 74 3e toImage</i></tt>
0720: 20 69 73 20 6f 6d 69 74 74 65 64 2c 20 61 20 66 is omitted, a f
0730: 6f 75 72 20 65 6c 65 6d 65 6e 74 20 6c 69 73 74 our element list
0740: 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 69 74 is returned wit
0750: 68 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d h the first elem
0760: 65 6e 74 20 62 65 69 6e 67 20 74 68 65 20 69 6d ent being the im
0770: 61 67 65 20 20 77 69 64 74 68 2c 20 74 68 65 20 age width, the
0780: 73 65 63 6f 6e 64 20 74 68 65 20 69 6d 61 67 65 second the image
0790: 20 68 65 69 67 68 74 2c 20 74 68 65 20 74 68 69 height, the thi
07a0: 72 64 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 rd the number of
07b0: 20 62 79 74 65 73 20 70 65 72 20 70 69 78 65 6c bytes per pixel
07c0: 2c 20 61 6e 64 20 74 68 65 20 6c 61 73 74 20 74 , and the last t
07d0: 68 65 20 69 6d 61 67 65 27 73 20 67 72 65 79 20 he image's grey
07e0: 76 61 6c 75 65 73 20 61 73 20 61 20 62 79 74 65 values as a byte
07f0: 20 61 72 72 61 79 2e 20 49 6e 20 74 68 69 73 20 array. In this
0800: 63 61 73 65 20 61 6e 20 65 72 72 6f 72 20 69 73 case an error is
0810: 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 indicated by th
0820: 72 6f 77 69 6e 67 20 61 6e 20 65 78 63 65 70 74 rowing an except
0830: 69 6f 6e 2e 0d 0a 0d 0a 3c 74 74 3e 77 6d 66 20 ion.....<tt>wmf
0840: 69 6d 61 67 65 20 3c 69 3e 64 65 76 69 64 3c 2f image <i>devid</
0850: 69 3e 20 3f 3c 69 3e 70 68 6f 74 6f 49 6d 61 67 i> ?<i>photoImag
0860: 65 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 e</i>?</tt>....
0870: 20 20 20 43 6f 70 69 65 73 20 74 68 65 20 6d 6f Copies the mo
0880: 73 74 20 72 65 63 65 6e 74 20 63 61 70 74 75 72 st recent captur
0890: 65 64 20 69 6d 61 67 65 20 6f 66 20 74 68 65 20 ed image of the
08a0: 64 65 76 69 63 65 20 3c 74 74 3e 3c 69 3e 64 65 device <tt><i>de
08b0: 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 20 69 6e 74 vid</i></tt> int
08c0: 6f 20 74 68 65 20 70 68 6f 74 6f 20 69 6d 61 67 o the photo imag
08d0: 65 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 e identified by
08e0: 3c 74 74 3e 3c 69 3e 70 68 6f 74 6f 49 6d 61 67 <tt><i>photoImag
08f0: 65 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 72 e</i></tt> and r
0900: 65 74 75 72 6e 73 20 6e 6f 6e 2d 7a 65 72 6f 20 eturns non-zero
0910: 6f 6e 20 73 75 63 63 65 73 73 20 6f 72 20 7a 65 on success or ze
0920: 72 6f 20 69 66 20 6e 6f 20 64 61 74 61 20 74 72 ro if no data tr
0930: 61 6e 73 66 65 72 20 68 61 73 20 74 61 6b 65 6e ansfer has taken
0940: 20 70 6c 61 63 65 2e 20 49 66 20 3c 74 74 3e 3c place. If <tt><
0950: 69 3e 70 68 6f 74 6f 49 6d 61 67 65 3c 2f 69 3e i>photoImage</i>
0960: 3c 2f 74 74 3e 20 69 73 20 6f 6d 69 74 74 65 64 </tt> is omitted
0970: 2c 20 61 20 66 6f 75 72 20 65 6c 65 6d 65 6e 74 , a four element
0980: 20 6c 69 73 74 20 69 73 20 72 65 74 75 72 6e 65 list is returne
0990: 64 20 77 69 74 68 20 74 68 65 20 66 69 72 73 74 d with the first
09a0: 20 65 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 74 element being t
09b0: 68 65 20 69 6d 61 67 65 20 77 69 64 74 68 2c 20 he image width,
09c0: 74 68 65 20 73 65 63 6f 6e 64 20 74 68 65 20 69 the second the i
09d0: 6d 61 67 65 20 68 65 69 67 68 74 2c 20 74 68 65 mage height, the
09e0: 20 74 68 69 72 64 20 74 68 65 20 6e 75 6d 62 65 third the numbe
09f0: 72 20 6f 66 20 62 79 74 65 73 20 70 65 72 20 70 r of bytes per p
0a00: 69 78 65 6c 2c 20 61 6e 64 20 74 68 65 20 6c 61 ixel, and the la
0a10: 73 74 20 74 68 65 20 69 6d 61 67 65 27 73 20 52 st the image's R
0a20: 47 42 20 76 61 6c 75 65 73 20 77 69 74 68 20 33 GB values with 3
0a30: 20 62 79 74 65 73 20 70 65 72 20 70 69 78 65 6c bytes per pixel
0a40: 20 69 6e 20 72 65 64 2c 20 67 72 65 65 6e 2c 20 in red, green,
0a50: 62 6c 75 65 20 6f 72 64 65 72 20 61 73 20 61 20 blue order as a
0a60: 62 79 74 65 20 61 72 72 61 79 2e 20 49 6e 20 74 byte array. In t
0a70: 68 69 73 20 63 61 73 65 20 61 6e 20 65 72 72 6f his case an erro
0a80: 72 20 69 73 20 69 6e 64 69 63 61 74 65 64 20 62 r is indicated b
0a90: 79 20 74 68 72 6f 77 69 6e 67 20 61 6e 20 65 78 y throwing an ex
0aa0: 63 65 70 74 69 6f 6e 2e 0d 0a 0d 0a 3c 74 74 3e ception.....<tt>
0ab0: 77 6d 66 20 69 6e 66 6f 20 3c 69 3e 64 65 76 69 wmf info <i>devi
0ac0: 64 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 d</i></tt>....
0ad0: 20 20 52 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d Returns inform
0ae0: 61 74 69 6f 6e 20 6f 6e 20 6f 70 65 6e 20 64 65 ation on open de
0af0: 76 69 63 65 73 2e 20 49 66 20 3c 74 74 3e 3c 69 vices. If <tt><i
0b00: 3e 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 20 >devid</i></tt>
0b10: 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 61 20 is specified, a
0b20: 6c 69 73 74 20 6f 66 20 74 77 6f 20 65 6c 65 6d list of two elem
0b30: 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 ents is returned
0b40: 2c 20 74 68 65 20 66 69 72 73 74 20 62 65 69 6e , the first bein
0b50: 67 20 74 68 65 20 64 65 76 69 63 65 20 73 79 6d g the device sym
0b60: 62 6f 6c 69 63 20 6c 69 6e 6b 20 61 6e 64 20 74 bolic link and t
0b70: 68 65 20 73 65 63 6f 6e 64 20 74 68 65 20 69 6d he second the im
0b80: 61 67 65 20 63 61 6c 6c 62 61 63 6b 20 63 6f 6d age callback com
0b90: 6d 61 6e 64 20 66 6f 72 20 74 68 61 74 20 64 65 mand for that de
0ba0: 76 69 63 65 2c 20 69 2e 65 2e 20 74 68 65 20 73 vice, i.e. the s
0bb0: 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 20 77 68 ame arguments wh
0bc0: 69 63 68 20 77 65 72 65 20 75 73 65 64 20 6f 6e ich were used on
0bd0: 20 3c 74 74 3e 77 6d 66 20 6f 70 65 6e 3c 2f 74 <tt>wmf open</t
0be0: 74 3e 2e 20 49 66 20 3c 74 74 3e 3c 69 3e 64 65 t>. If <tt><i>de
0bf0: 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 vid</i></tt> is
0c00: 6f 6d 69 74 74 65 64 2c 20 61 20 6c 69 73 74 20 omitted, a list
0c10: 6f 66 20 3c 74 74 3e 3c 69 3e 64 65 76 69 64 3c of <tt><i>devid<
0c20: 2f 69 3e 3c 2f 74 74 3e 73 2c 20 69 2e 65 2e 20 /i></tt>s, i.e.
0c30: 61 6c 6c 20 63 75 72 72 65 6e 74 6c 79 20 6f 70 all currently op
0c40: 65 6e 65 64 20 64 65 76 69 63 65 73 20 69 73 20 ened devices is
0c50: 72 65 74 75 72 6e 65 64 2e 0d 0a 0d 0a 3c 74 74 returned.....<tt
0c60: 3e 77 6d 66 20 6c 69 73 74 66 6f 72 6d 61 74 73 >wmf listformats
0c70: 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 <i>devid</i></t
0c80: 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e t>.... Return
0c90: 73 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 6b s a dictionary k
0ca0: 65 79 65 64 20 62 79 20 61 20 6d 65 64 69 61 20 eyed by a media
0cb0: 66 6f 72 6d 61 74 20 69 6e 64 65 78 20 61 73 20 format index as
0cc0: 69 6e 74 65 67 65 72 20 77 69 74 68 20 74 68 65 integer with the
0cd0: 20 76 61 6c 75 65 73 20 62 65 69 6e 67 20 61 6e values being an
0ce0: 6f 74 68 65 72 20 64 69 63 74 69 6f 6e 61 72 79 other dictionary
0cf0: 20 77 69 74 68 20 69 6e 66 6f 72 6d 61 74 69 6f with informatio
0d00: 6e 20 61 62 6f 75 74 20 74 68 65 20 66 72 61 6d n about the fram
0d10: 65 20 73 69 7a 65 20 61 6e 64 20 72 61 74 65 20 e size and rate
0d20: 6f 66 20 74 68 61 74 20 6d 65 64 69 61 20 66 6f of that media fo
0d30: 72 6d 61 74 2e 20 54 68 65 20 72 65 73 70 65 63 rmat. The respec
0d40: 74 69 76 65 20 69 6e 64 65 78 20 63 61 6e 20 62 tive index can b
0d50: 65 20 75 73 65 64 20 69 6e 20 3c 74 74 3e 77 6d e used in <tt>wm
0d60: 66 20 66 6f 72 6d 61 74 3c 2f 74 74 3e 2e 0d 0a f format</tt>...
0d70: 0d 0a 3c 74 74 3e 77 6d 66 20 6d 62 63 6f 70 79 ..<tt>wmf mbcopy
0d80: 20 3c 69 3e 62 79 74 65 61 72 72 61 79 31 20 62 <i>bytearray1 b
0d90: 79 74 65 61 72 72 61 79 32 20 6d 61 73 6b 3c 2f ytearray2 mask</
0da0: 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 43 i></tt>.... C
0db0: 6f 70 69 65 73 20 74 68 65 20 63 6f 6e 74 65 6e opies the conten
0dc0: 74 20 6f 66 20 52 47 42 20 62 79 74 65 20 61 72 t of RGB byte ar
0dd0: 72 61 79 20 3c 74 74 3e 3c 69 3e 62 79 74 65 61 ray <tt><i>bytea
0de0: 72 72 61 79 32 3c 2f 69 3e 3c 2f 74 74 3e 20 69 rray2</i></tt> i
0df0: 6e 74 6f 20 74 68 65 20 62 79 74 65 20 61 72 72 nto the byte arr
0e00: 61 79 20 3c 74 74 3e 3c 69 3e 62 79 74 65 61 72 ay <tt><i>bytear
0e10: 72 61 79 31 3c 2f 69 3e 3c 2f 74 74 3e 20 75 73 ray1</i></tt> us
0e20: 69 6e 67 20 61 6e 20 52 47 42 20 3c 74 74 3e 3c ing an RGB <tt><
0e30: 69 3e 6d 61 73 6b 3c 2f 69 3e 3c 2f 74 74 3e 2e i>mask</i></tt>.
0e40: 20 42 6f 74 68 20 62 79 74 65 20 61 72 72 61 79 Both byte array
0e50: 73 20 6d 75 73 74 20 68 61 76 65 20 69 64 65 6e s must have iden
0e60: 74 69 63 61 6c 20 6c 65 6e 67 74 68 20 77 68 69 tical length whi
0e70: 63 68 20 6d 75 73 74 20 62 65 20 61 20 6d 75 6c ch must be a mul
0e80: 74 69 70 6c 65 20 6f 66 20 33 20 28 66 6f 72 20 tiple of 3 (for
0e90: 52 47 42 29 2e 20 54 68 65 20 6d 61 69 6e 20 70 RGB). The main p
0ea0: 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 63 urpose of this c
0eb0: 6f 6d 6d 61 6e 64 20 69 73 20 74 6f 20 63 6f 6d ommand is to com
0ec0: 62 69 6e 65 20 69 6d 61 67 65 73 20 66 72 6f 6d bine images from
0ed0: 20 74 77 6f 20 63 61 6d 65 72 61 73 20 69 6e 74 two cameras int
0ee0: 6f 20 61 6e 20 61 6e 61 67 6c 79 70 68 20 33 44 o an anaglyph 3D
0ef0: 2c 20 77 68 65 72 65 20 28 66 6f 72 20 61 20 20 , where (for a
0f00: 72 65 64 2d 63 79 61 6e 20 20 61 6e 61 67 6c 79 red-cyan anagly
0f10: 70 68 29 20 74 68 65 20 6c 65 66 74 20 63 61 6d ph) the left cam
0f20: 65 72 61 20 69 6d 61 67 65 20 75 73 65 73 20 6d era image uses m
0f30: 61 73 6b 20 30 78 46 46 30 30 30 30 20 28 72 65 ask 0xFF0000 (re
0f40: 64 20 63 6f 6d 70 6f 6e 65 6e 74 29 20 61 6e 64 d component) and
0f50: 20 74 68 65 20 72 69 67 68 74 20 63 61 6d 65 72 the right camer
0f60: 61 20 69 6d 61 67 65 20 75 73 65 73 20 6d 61 73 a image uses mas
0f70: 6b 20 30 78 30 30 46 46 46 46 20 28 67 72 65 65 k 0x00FFFF (gree
0f80: 6e 20 61 6e 64 20 62 6c 75 65 20 63 6f 6d 70 6f n and blue compo
0f90: 6e 65 6e 74 73 29 2e 0d 0a 0d 0a 3c 74 74 3e 77 nents).....<tt>w
0fa0: 6d 66 20 6d 63 6f 70 79 20 3c 69 3e 70 68 6f 74 mf mcopy <i>phot
0fb0: 6f 31 20 70 68 6f 74 6f 32 20 6d 61 73 6b 3c 2f o1 photo2 mask</
0fc0: 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 43 i></tt>.... C
0fd0: 6f 70 69 65 73 20 74 68 65 20 63 6f 6e 74 65 6e opies the conten
0fe0: 74 20 6f 66 20 74 68 65 20 70 68 6f 74 6f 20 69 t of the photo i
0ff0: 6d 61 67 65 20 3c 74 74 3e 3c 69 3e 70 68 6f 74 mage <tt><i>phot
1000: 6f 32 3c 2f 69 3e 3c 2f 74 74 3e 20 69 6e 74 6f o2</i></tt> into
1010: 20 74 68 65 20 70 68 6f 74 6f 20 69 6d 61 67 65 the photo image
1020: 20 3c 74 74 3e 3c 69 3e 70 68 6f 74 6f 31 3c 2f <tt><i>photo1</
1030: 69 3e 3c 2f 74 74 3e 20 75 73 69 6e 67 20 61 6e i></tt> using an
1040: 20 41 52 47 42 20 3c 74 74 3e 3c 69 3e 6d 61 73 ARGB <tt><i>mas
1050: 6b 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 42 6f 74 68 k</i></tt>. Both
1060: 20 70 68 6f 74 6f 20 69 6d 61 67 65 73 20 6d 75 photo images mu
1070: 73 74 20 68 61 76 65 20 69 64 65 6e 74 69 63 61 st have identica
1080: 6c 20 77 69 64 74 68 2c 20 68 65 69 67 68 74 2c l width, height,
1090: 20 61 6e 64 20 64 65 70 74 68 2e 20 54 68 65 20 and depth. The
10a0: 6d 61 69 6e 20 70 75 72 70 6f 73 65 20 6f 66 20 main purpose of
10b0: 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 this command is
10c0: 74 6f 20 63 6f 6d 62 69 6e 65 20 69 6d 61 67 65 to combine image
10d0: 73 20 66 72 6f 6d 20 74 77 6f 20 63 61 6d 65 72 s from two camer
10e0: 61 73 20 69 6e 74 6f 20 61 6e 20 61 6e 61 67 6c as into an anagl
10f0: 79 70 68 20 33 44 2c 20 77 68 65 72 65 20 28 66 yph 3D, where (f
1100: 6f 72 20 61 20 72 65 64 2d 63 79 61 6e 20 61 6e or a red-cyan an
1110: 61 67 6c 79 70 68 29 20 74 68 65 20 6c 65 66 74 aglyph) the left
1120: 20 63 61 6d 65 72 61 20 69 6d 61 67 65 20 75 73 camera image us
1130: 65 73 20 6d 61 73 6b 20 30 78 30 30 46 46 30 30 es mask 0x00FF00
1140: 30 30 20 28 72 65 64 20 63 6f 6d 70 6f 6e 65 6e 00 (red componen
1150: 74 29 20 61 6e 64 20 74 68 65 20 72 69 67 68 74 t) and the right
1160: 20 63 61 6d 65 72 61 20 69 6d 61 67 65 20 20 75 camera image u
1170: 73 65 73 20 6d 61 73 6b 20 30 78 30 30 30 30 46 ses mask 0x0000F
1180: 46 46 46 20 28 67 72 65 65 6e 20 61 6e 64 20 62 FFF (green and b
1190: 6c 75 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 29 2e lue components).
11a0: 0d 0a 0d 0a 3c 74 74 3e 77 6d 66 20 6d 69 72 72 ....<tt>wmf mirr
11b0: 6f 72 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 20 or <i>devid</i>
11c0: 3f 3c 69 3e 78 20 79 3c 2f 69 3e 3f 3c 2f 74 74 ?<i>x y</i>?</tt
11d0: 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 72 69 65 76 >.... Retriev
11e0: 65 73 20 6f 72 20 73 65 74 73 20 66 6c 61 67 73 es or sets flags
11f0: 20 74 6f 20 6d 69 72 72 6f 72 20 63 61 70 74 75 to mirror captu
1200: 72 65 64 20 69 6d 61 67 65 73 20 61 6c 6f 6e 67 red images along
1210: 20 74 68 65 20 58 20 6f 72 20 59 20 61 78 69 73 the X or Y axis
1220: 2e 20 50 61 72 61 6d 65 74 65 72 73 20 3c 74 74 . Parameters <tt
1230: 3e 3c 69 3e 78 3c 2f 69 3e 3c 2f 74 74 3e 20 61 ><i>x</i></tt> a
1240: 6e 64 20 3c 74 74 3e 3c 69 3e 79 3c 2f 69 3e 3c nd <tt><i>y</i><
1250: 2f 74 74 3e 20 69 66 20 73 70 65 63 69 66 69 65 /tt> if specifie
1260: 64 20 6d 75 73 74 20 62 65 20 62 6f 6f 6c 65 61 d must be boolea
1270: 6e 20 76 61 6c 75 65 73 2e 0d 0a 0d 0a 3c 74 74 n values.....<tt
1280: 3e 77 6d 66 20 6f 70 65 6e 20 3c 69 3e 64 65 76 >wmf open <i>dev
1290: 6e 61 6d 65 20 63 61 6c 6c 62 61 63 6b 3c 2f 69 name callback</i
12a0: 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 4f 70 ></tt>.... Op
12b0: 65 6e 73 20 74 68 65 20 64 65 76 69 63 65 20 77 ens the device w
12c0: 69 74 68 20 64 65 76 69 63 65 20 73 79 6d 62 6f ith device symbo
12d0: 6c 69 63 20 6c 69 6e 6b 20 3c 74 74 3e 3c 69 3e lic link <tt><i>
12e0: 64 65 76 6e 61 6d 65 3c 2f 69 3e 3c 2f 74 74 3e devname</i></tt>
12f0: 20 61 6e 64 20 65 73 74 61 62 6c 69 73 68 65 73 and establishes
1300: 20 3c 74 74 3e 3c 69 3e 63 61 6c 6c 62 61 63 6b <tt><i>callback
1310: 3c 2f 69 3e 3c 2f 74 74 3e 20 61 73 20 63 6f 6d </i></tt> as com
1320: 6d 61 6e 64 20 74 6f 20 62 65 20 69 6e 76 6f 6b mand to be invok
1330: 65 64 20 6f 6e 20 63 61 70 74 75 72 65 64 20 69 ed on captured i
1340: 6d 61 67 65 73 20 61 6e 64 20 66 69 6e 61 6c 6c mages and finall
1350: 79 20 72 65 74 75 72 6e 73 20 61 20 3c 74 74 3e y returns a <tt>
1360: 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 <i>devid</i></tt
1370: 3e 2c 20 69 2e 65 2e 20 61 20 68 61 6e 64 6c 65 >, i.e. a handle
1380: 20 74 6f 20 66 75 72 74 68 65 72 20 64 65 61 6c to further deal
1390: 20 77 69 74 68 20 74 68 65 20 64 65 76 69 63 65 with the device
13a0: 2e 20 54 77 6f 20 61 64 64 69 74 69 6f 6e 61 6c . Two additional
13b0: 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 parameters are
13c0: 61 70 70 65 6e 64 65 64 20 77 68 65 6e 20 3c 74 appended when <t
13d0: 74 3e 3c 69 3e 63 61 6c 6c 62 61 63 6b 3c 2f 69 t><i>callback</i
13e0: 3e 3c 2f 74 74 3e 20 69 73 20 69 6e 76 6f 6b 65 ></tt> is invoke
13f0: 64 3a 20 74 68 65 20 3c 74 74 3e 3c 69 3e 64 65 d: the <tt><i>de
1400: 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 20 6f 66 20 vid</i></tt> of
1410: 74 68 65 20 64 65 76 69 63 65 20 61 6e 64 20 74 the device and t
1420: 68 65 20 63 75 72 72 65 6e 74 20 63 61 70 74 75 he current captu
1430: 72 65 20 73 74 61 74 65 20 61 73 20 69 6e 20 3c re state as in <
1440: 74 74 3e 77 6d 66 20 73 74 61 74 65 3c 2f 74 74 tt>wmf state</tt
1450: 3e 2e 20 46 6f 72 20 74 68 65 20 66 6f 72 6d 61 >. For the forma
1460: 74 20 6f 66 20 3c 74 74 3e 3c 69 3e 64 65 76 6e t of <tt><i>devn
1470: 61 6d 65 3c 2f 69 3e 3c 2f 74 74 3e 20 73 65 65 ame</i></tt> see
1480: 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e the description
1490: 20 6f 66 20 3c 74 74 3e 77 6d 66 20 64 65 76 69 of <tt>wmf devi
14a0: 63 65 73 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 ces</tt>.....<tt
14b0: 3e 77 6d 66 20 6f 72 69 65 6e 74 61 74 69 6f 6e >wmf orientation
14c0: 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 20 3f 3c <i>devid</i> ?<
14d0: 69 3e 64 65 67 72 65 65 73 3c 2f 69 3e 3f 3c 2f i>degrees</i>?</
14e0: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 72 69 tt>.... Retri
14f0: 65 76 65 73 20 6f 72 20 73 65 74 73 20 74 68 65 eves or sets the
1500: 20 6f 72 69 65 6e 74 61 74 69 6f 6e 20 6f 66 20 orientation of
1510: 63 61 70 74 75 72 65 64 20 69 6d 61 67 65 73 20 captured images
1520: 72 65 67 61 72 64 69 6e 67 20 69 6d 61 67 65 20 regarding image
1530: 72 6f 74 61 74 69 6f 6e 2e 20 3c 74 74 3e 3c 69 rotation. <tt><i
1540: 3e 64 65 67 72 65 65 73 3c 2f 69 3e 3c 2f 74 74 >degrees</i></tt
1550: 3e 20 69 66 20 73 70 65 63 69 66 69 65 64 20 6d > if specified m
1560: 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 ust be an intege
1570: 72 20 6e 75 6d 62 65 72 2e 0d 0a 0d 0a 3c 74 74 r number.....<tt
1580: 3e 77 6d 66 20 70 61 72 61 6d 65 74 65 72 73 20 >wmf parameters
1590: 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 20 3f 3c 69 <i>devid</i> ?<i
15a0: 3e 6b 65 79 20 76 61 6c 75 65 20 2e 2e 2e 3c 2f >key value ...</
15b0: 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 i>?</tt>....
15c0: 52 65 74 75 72 6e 73 20 6f 72 20 63 68 61 6e 67 Returns or chang
15d0: 65 73 20 64 65 76 69 63 65 20 70 61 72 61 6d 65 es device parame
15e0: 74 65 72 73 20 66 6f 72 20 74 68 65 20 64 65 76 ters for the dev
15f0: 69 63 65 20 69 64 65 6e 74 69 66 69 65 64 20 62 ice identified b
1600: 79 20 3c 74 74 3e 3c 69 3e 64 65 76 69 64 3c 2f y <tt><i>devid</
1610: 69 3e 3c 2f 74 74 3e 20 67 69 76 65 6e 20 61 73 i></tt> given as
1620: 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 key-value pairs
1630: 2c 20 65 2e 67 2e 20 3c 74 74 3e 62 72 69 67 68 , e.g. <tt>brigh
1640: 74 6e 65 73 73 20 31 30 30 3c 2f 74 74 3e 20 77 tness 100</tt> w
1650: 69 6c 6c 20 63 68 61 6e 67 65 20 74 68 65 20 62 ill change the b
1660: 72 69 67 68 74 6e 65 73 73 20 73 65 74 74 69 6e rightness settin
1670: 67 20 6f 66 20 63 61 70 74 75 72 65 64 20 69 6d g of captured im
1680: 61 67 65 73 20 74 6f 20 74 68 65 20 64 65 76 69 ages to the devi
1690: 63 65 20 64 65 70 65 6e 64 65 6e 74 20 76 61 6c ce dependent val
16a0: 75 65 20 31 30 30 2e 20 54 68 65 20 63 6f 6d 6d ue 100. The comm
16b0: 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 and returns the
16c0: 63 75 72 72 65 6e 74 20 64 65 76 69 63 65 20 70 current device p
16d0: 61 72 61 6d 65 74 65 72 73 20 28 61 66 74 65 72 arameters (after
16e0: 20 74 68 65 20 70 6f 74 65 6e 74 69 61 6c 20 63 the potential c
16f0: 68 61 6e 67 65 2c 20 77 68 65 6e 20 6b 65 79 73 hange, when keys
1700: 20 61 6e 64 20 76 61 6c 75 65 73 20 77 65 72 65 and values were
1710: 20 67 69 76 65 6e 29 20 61 73 20 61 20 6b 65 79 given) as a key
1720: 2d 76 61 6c 75 65 20 6c 69 73 74 20 77 68 69 63 -value list whic
1730: 68 20 63 61 6e 20 62 65 20 70 72 6f 63 65 73 73 h can be process
1740: 65 64 20 77 69 74 68 20 3c 74 74 3e 61 72 72 61 ed with <tt>arra
1750: 79 20 73 65 74 3c 2f 74 74 3e 20 6f 72 20 3c 74 y set</tt> or <t
1760: 74 3e 64 69 63 74 20 67 65 74 3c 2f 74 74 3e 2e t>dict get</tt>.
1770: 0d 0a 0d 0a 3c 74 74 3e 77 6d 66 20 72 65 63 6f ....<tt>wmf reco
1780: 72 64 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 20 rd <i>devid</i>
1790: 66 72 61 6d 65 20 3c 69 3e 77 69 64 74 68 20 68 frame <i>width h
17a0: 65 69 67 68 74 20 62 70 70 20 62 79 74 65 61 72 eight bpp bytear
17b0: 72 61 79 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a ray</i></tt>....
17c0: 20 20 20 20 54 72 61 6e 73 63 6f 64 65 73 20 74 Transcodes t
17d0: 68 65 20 66 72 61 6d 65 20 64 65 73 63 72 69 62 he frame describ
17e0: 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e 77 69 64 ed by <tt><i>wid
17f0: 74 68 3c 2f 69 3e 3c 2f 74 74 3e 2c 20 3c 74 74 th</i></tt>, <tt
1800: 3e 3c 69 3e 68 65 69 67 68 74 3c 2f 69 3e 3c 2f ><i>height</i></
1810: 74 74 3e 2c 20 3c 74 74 3e 3c 69 3e 62 70 70 3c tt>, <tt><i>bpp<
1820: 2f 69 3e 3c 2f 74 74 3e 2c 20 61 6e 64 20 3c 74 /i></tt>, and <t
1830: 74 3e 3c 69 3e 62 79 74 65 61 72 72 61 79 3c 2f t><i>bytearray</
1840: 69 3e 3c 2f 74 74 3e 20 74 6f 20 4a 50 45 47 20 i></tt> to JPEG
1850: 61 6e 64 20 77 72 69 74 65 73 20 74 68 65 20 72 and writes the r
1860: 65 73 75 6c 74 20 74 6f 20 74 68 65 20 72 65 63 esult to the rec
1870: 6f 72 64 69 6e 67 20 66 69 6c 65 20 6f 72 20 73 ording file or s
1880: 74 72 65 61 6d 2e 20 54 68 65 20 72 65 63 6f 72 tream. The recor
1890: 64 69 6e 67 20 6d 75 73 74 20 68 61 76 65 20 62 ding must have b
18a0: 65 65 6e 20 73 74 61 72 74 65 64 20 77 69 74 68 een started with
18b0: 20 74 68 65 20 3c 74 74 3e 2d 75 73 65 72 3c 2f the <tt>-user</
18c0: 74 74 3e 20 6f 70 74 69 6f 6e 2e 20 54 68 65 20 tt> option. The
18d0: 62 69 74 73 20 70 65 72 20 70 69 78 65 6c 20 70 bits per pixel p
18e0: 61 72 61 6d 65 74 65 72 20 3c 74 74 3e 3c 69 3e arameter <tt><i>
18f0: 62 70 70 3c 2f 69 3e 3c 2f 74 74 3e 20 6d 75 73 bpp</i></tt> mus
1900: 74 20 62 65 20 33 2e 20 41 6e 20 69 6e 74 65 67 t be 3. An integ
1910: 65 72 20 6e 75 6d 62 65 72 20 69 73 20 72 65 74 er number is ret
1920: 75 72 6e 65 64 20 61 73 20 72 65 73 75 6c 74 3a urned as result:
1930: 20 31 20 69 6e 64 69 63 61 74 65 73 20 73 75 63 1 indicates suc
1940: 63 65 73 73 66 75 6c 20 77 72 69 74 65 2c 20 30 cessful write, 0
1950: 20 6e 6f 20 77 72 69 74 65 20 64 75 65 20 74 6f no write due to
1960: 20 66 72 61 6d 65 20 72 61 74 65 20 63 6f 6e 73 frame rate cons
1970: 74 72 61 69 6e 74 73 2c 20 61 6e 64 20 2d 31 20 traints, and -1
1980: 61 6e 20 65 72 72 6f 72 20 64 75 72 69 6e 67 20 an error during
1990: 74 68 65 20 77 72 69 74 65 2e 0d 0a 0d 0a 3c 74 the write.....<t
19a0: 74 3e 77 6d 66 20 72 65 63 6f 72 64 20 3c 69 3e t>wmf record <i>
19b0: 64 65 76 69 64 3c 2f 69 3e 20 70 61 75 73 65 3c devid</i> pause<
19c0: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 50 61 75 73 /tt>.... Paus
19d0: 65 73 20 72 65 63 6f 72 64 69 6e 67 20 74 6f 20 es recording to
19e0: 61 20 66 69 6c 65 20 6f 72 20 73 74 72 65 61 6d a file or stream
19f0: 2e 0d 0a 0d 0a 3c 74 74 3e 77 6d 66 20 72 65 63 .....<tt>wmf rec
1a00: 6f 72 64 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e ord <i>devid</i>
1a10: 20 72 65 73 75 6d 65 3c 2f 74 74 3e 0d 0a 0d 0a resume</tt>....
1a20: 20 20 20 20 43 6f 6e 74 69 6e 75 65 73 20 72 65 Continues re
1a30: 63 6f 72 64 69 6e 67 20 74 6f 20 61 20 66 69 6c cording to a fil
1a40: 65 20 6f 72 20 73 74 72 65 61 6d 2e 0d 0a 0d 0a e or stream.....
1a50: 3c 74 74 3e 77 6d 66 20 72 65 63 6f 72 64 20 3c <tt>wmf record <
1a60: 69 3e 64 65 76 69 64 3c 2f 69 3e 20 73 74 61 72 i>devid</i> star
1a70: 74 20 3c 69 3e 6f 70 74 69 6f 6e 73 20 2e 2e 2e t <i>options ...
1a80: 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 </i></tt>....
1a90: 20 53 74 61 72 74 73 20 72 65 63 6f 72 64 69 6e Starts recordin
1aa0: 67 20 74 6f 20 61 20 66 69 6c 65 20 6f 72 20 73 g to a file or s
1ab0: 74 72 65 61 6d 2e 20 3c 74 74 3e 3c 69 3e 6f 70 tream. <tt><i>op
1ac0: 74 69 6f 6e 73 3c 2f 69 3e 3c 2f 74 74 3e 20 63 tions</i></tt> c
1ad0: 6f 6e 74 72 6f 6c 20 74 68 65 20 64 61 74 61 20 ontrol the data
1ae0: 66 6f 72 6d 61 74 2c 20 66 72 61 6d 65 73 20 70 format, frames p
1af0: 65 72 20 73 65 63 6f 6e 64 2c 20 61 6e 64 20 6f er second, and o
1b00: 75 74 70 75 74 20 63 68 61 6e 6e 65 6c 2e 20 54 utput channel. T
1b10: 68 65 20 6f 70 74 69 6f 6e 20 3c 74 74 3e 2d 66 he option <tt>-f
1b20: 70 73 3c 2f 74 74 3e 20 73 70 65 63 69 66 69 65 ps</tt> specifie
1b30: 73 20 74 68 65 20 61 70 70 72 6f 78 69 6d 61 74 s the approximat
1b40: 65 20 72 61 74 65 20 69 6e 20 66 72 61 6d 65 73 e rate in frames
1b50: 20 70 65 72 20 73 65 63 6f 6e 64 20 61 73 20 61 per second as a
1b60: 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 floating point
1b70: 6e 75 6d 62 65 72 2e 20 54 68 65 20 6f 70 74 69 number. The opti
1b80: 6f 6e 20 3c 74 74 3e 2d 63 68 61 6e 3c 2f 74 74 on <tt>-chan</tt
1b90: 3e 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 > specifies the
1ba0: 63 68 61 6e 6e 65 6c 20 74 6f 20 77 68 69 63 68 channel to which
1bb0: 20 74 68 65 20 66 72 61 6d 65 73 20 61 72 65 20 the frames are
1bc0: 77 72 69 74 74 65 6e 2e 20 54 68 69 73 20 63 68 written. This ch
1bd0: 61 6e 6e 65 6c 20 69 73 20 64 65 74 61 63 68 65 annel is detache
1be0: 64 20 66 72 6f 6d 20 74 68 65 20 54 63 6c 20 69 d from the Tcl i
1bf0: 6e 74 65 72 70 72 65 74 65 72 20 61 6e 64 20 63 nterpreter and c
1c00: 6f 6e 74 72 6f 6c 6c 65 64 20 73 6f 6c 65 6c 79 ontrolled solely
1c10: 20 62 79 20 74 68 65 20 3c 74 74 3e 77 6d 66 20 by the <tt>wmf
1c20: 72 65 63 6f 72 64 3c 2f 74 74 3e 20 63 6f 6d 6d record</tt> comm
1c30: 61 6e 64 2e 20 54 68 65 20 3c 74 74 3e 2d 62 6f and. The <tt>-bo
1c40: 75 6e 64 61 72 79 3c 2f 74 74 3e 20 6f 70 74 69 undary</tt> opti
1c50: 6f 6e 20 73 70 65 63 69 66 69 65 73 20 61 20 4d on specifies a M
1c60: 49 4d 45 20 6d 75 6c 74 69 70 61 72 74 20 62 6f IME multipart bo
1c70: 75 6e 64 61 72 79 20 73 74 72 69 6e 67 20 61 6e undary string an
1c80: 64 20 73 65 6c 65 63 74 73 20 74 68 65 20 4d 49 d selects the MI
1c90: 4d 45 20 74 79 70 65 20 3c 62 3e 6d 75 6c 74 69 ME type <b>multi
1ca0: 70 61 72 74 2f 78 2d 6d 69 78 65 64 2d 72 65 70 part/x-mixed-rep
1cb0: 6c 61 63 65 3c 2f 62 3e 20 73 75 69 74 61 62 6c lace</b> suitabl
1cc0: 65 20 66 6f 72 20 73 74 72 65 61 6d 69 6e 67 20 e for streaming
1cd0: 74 6f 20 61 20 77 65 62 20 62 72 6f 77 73 65 72 to a web browser
1ce0: 2e 20 54 68 65 20 63 6f 6e 74 65 6e 74 20 74 79 . The content ty
1cf0: 70 65 20 64 65 6c 69 76 65 72 65 64 20 74 6f 20 pe delivered to
1d00: 74 68 65 20 62 72 6f 77 73 65 72 20 69 73 20 3c the browser is <
1d10: 62 3e 69 6d 61 67 65 2f 6a 70 65 67 3c 2f 62 3e b>image/jpeg</b>
1d20: 2e 20 49 66 20 74 68 65 20 3c 74 74 3e 2d 62 6f . If the <tt>-bo
1d30: 75 6e 64 61 72 79 3c 2f 74 74 3e 20 6f 70 74 69 undary</tt> opti
1d40: 6f 6e 20 69 73 20 6f 6d 69 74 74 65 64 2c 20 74 on is omitted, t
1d50: 68 65 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 he output format
1d60: 20 69 73 20 72 61 77 20 41 56 49 20 61 6e 64 20 is raw AVI and
1d70: 72 65 71 75 69 72 65 73 20 74 68 65 20 63 68 61 requires the cha
1d80: 6e 6e 65 6c 20 74 6f 20 62 65 20 73 65 65 6b 61 nnel to be seeka
1d90: 62 6c 65 2e 20 54 68 65 20 6f 70 74 69 6f 6e 20 ble. The option
1da0: 3c 74 74 3e 2d 6d 6a 70 65 67 3c 2f 74 74 3e 20 <tt>-mjpeg</tt>
1db0: 66 6f 72 63 65 73 20 74 68 65 20 72 65 63 6f 72 forces the recor
1dc0: 64 65 64 20 64 61 74 61 20 74 6f 20 4a 50 45 47 ded data to JPEG
1dd0: 20 66 6f 72 6d 61 74 2c 20 69 2e 65 2e 20 61 20 format, i.e. a
1de0: 74 72 61 6e 73 63 6f 64 69 6e 67 20 74 6f 20 4a transcoding to J
1df0: 50 45 47 20 77 69 6c 6c 20 62 65 20 70 65 72 66 PEG will be perf
1e00: 6f 72 6d 65 64 20 69 6e 20 73 6f 66 74 77 61 72 ormed in softwar
1e10: 65 2c 20 69 66 20 74 68 65 20 64 65 76 69 63 65 e, if the device
1e20: 20 64 6f 65 73 6e 27 74 20 61 6c 72 65 61 64 79 doesn't already
1e30: 20 64 65 6c 69 76 65 72 20 61 20 4a 50 45 47 20 deliver a JPEG
1e40: 73 74 72 65 61 6d 2e 20 54 68 65 20 6f 70 74 69 stream. The opti
1e50: 6f 6e 20 3c 74 74 3e 2d 75 73 65 72 3c 2f 74 74 on <tt>-user</tt
1e60: 3e 20 74 75 72 6e 73 20 6f 66 66 20 61 75 74 6f > turns off auto
1e70: 6d 61 74 69 63 20 66 72 61 6d 65 20 77 72 69 74 matic frame writ
1e80: 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 6f 20 e operations to
1e90: 74 68 65 20 72 65 63 6f 72 64 69 6e 67 20 66 69 the recording fi
1ea0: 6c 65 20 6f 72 20 73 74 72 65 61 6d 20 77 68 65 le or stream whe
1eb0: 6e 20 61 20 66 72 61 6d 65 20 69 73 20 64 65 6c n a frame is del
1ec0: 69 76 65 72 65 64 20 66 72 6f 6d 20 74 68 65 20 ivered from the
1ed0: 64 65 76 69 63 65 2e 20 49 6e 73 74 65 61 64 2c device. Instead,
1ee0: 20 3c 74 74 3e 77 6d 66 20 72 65 63 6f 72 64 20 <tt>wmf record
1ef0: 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 20 66 72 61 <i>devid</i> fra
1f00: 6d 65 3c 2f 74 74 3e 20 6d 75 73 74 20 62 65 20 me</tt> must be
1f10: 69 6e 76 6f 6b 65 64 20 69 6e 20 74 68 65 20 63 invoked in the c
1f20: 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e allback function
1f30: 2e 20 54 68 65 20 3c 74 74 3e 2d 75 73 65 72 3c . The <tt>-user<
1f40: 2f 74 74 3e 20 6f 70 74 69 6f 6e 20 69 6d 70 6c /tt> option impl
1f50: 69 65 73 20 3c 74 74 3e 2d 6d 6a 70 65 67 3c 2f ies <tt>-mjpeg</
1f60: 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 77 6d 66 20 tt>.....<tt>wmf
1f70: 72 65 63 6f 72 64 20 3c 69 3e 64 65 76 69 64 3c record <i>devid<
1f80: 2f 69 3e 20 73 74 61 74 65 3c 2f 74 74 3e 0d 0a /i> state</tt>..
1f90: 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 .. Returns th
1fa0: 65 20 63 75 72 72 65 6e 74 20 72 65 63 6f 72 64 e current record
1fb0: 69 6e 67 20 73 74 61 74 65 20 61 73 20 3c 62 3e ing state as <b>
1fc0: 73 74 6f 70 3c 2f 62 3e 2c 20 3c 62 3e 72 65 63 stop</b>, <b>rec
1fd0: 6f 72 64 69 6e 67 3c 2f 62 3e 2c 20 20 3c 62 3e ording</b>, <b>
1fe0: 70 61 75 73 65 3c 2f 62 3e 2c 20 6f 72 20 3c 62 pause</b>, or <b
1ff0: 3e 65 72 72 6f 72 3c 2f 62 3e 2e 20 54 68 65 20 >error</b>. The
2000: 73 74 61 74 65 20 3c 62 3e 65 72 72 6f 72 3c 2f state <b>error</
2010: 62 3e 20 69 6e 64 69 63 61 74 65 73 20 61 20 77 b> indicates a w
2020: 72 69 74 65 20 65 72 72 6f 72 20 6f 6e 20 74 68 rite error on th
2030: 65 20 66 69 6c 65 20 6f 72 20 73 74 72 65 61 6d e file or stream
2040: 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 6e . In this case n
2050: 6f 20 66 75 72 74 68 65 72 20 66 72 61 6d 65 73 o further frames
2060: 20 77 69 6c 6c 20 62 65 20 77 72 69 74 74 65 6e will be written
2070: 2e 0d 0a 0d 0a 3c 74 74 3e 77 6d 66 20 72 65 63 .....<tt>wmf rec
2080: 6f 72 64 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e ord <i>devid</i>
2090: 20 73 74 6f 70 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 stop</tt>....
20a0: 20 20 46 69 6e 69 73 68 65 73 20 72 65 63 6f 72 Finishes recor
20b0: 64 69 6e 67 20 74 6f 20 61 20 66 69 6c 65 20 6f ding to a file o
20c0: 72 20 73 74 72 65 61 6d 20 61 6e 64 20 63 6c 6f r stream and clo
20d0: 73 65 73 20 74 68 65 20 75 6e 64 65 72 6c 79 69 ses the underlyi
20e0: 6e 67 20 63 68 61 6e 6e 65 6c 2e 0d 0a 0d 0a 3c ng channel.....<
20f0: 74 74 3e 77 6d 66 20 73 74 61 72 74 20 3c 69 3e tt>wmf start <i>
2100: 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a devid</i></tt>..
2110: 0d 0a 20 20 20 20 53 74 61 72 74 73 20 63 61 70 .. Starts cap
2120: 74 75 72 69 6e 67 20 69 6d 61 67 65 73 20 6f 66 turing images of
2130: 20 74 68 65 20 64 65 76 69 63 65 20 69 64 65 6e the device iden
2140: 74 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 tified by <tt><i
2150: 3e 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 2e >devid</i></tt>.
2160: 20 57 68 65 6e 20 61 6e 20 69 6d 61 67 65 20 69 When an image i
2170: 73 20 72 65 61 64 79 2c 20 74 68 65 20 63 61 6c s ready, the cal
2180: 6c 62 61 63 6b 20 63 6f 6d 6d 61 6e 64 20 73 65 lback command se
2190: 74 20 6f 6e 20 3c 74 74 3e 77 6d 66 20 6f 70 65 t on <tt>wmf ope
21a0: 6e 3c 2f 74 74 3e 20 69 73 20 69 6e 76 6f 6b 65 n</tt> is invoke
21b0: 64 2e 0d 0a 0d 0a 3c 74 74 3e 77 6d 66 20 73 74 d.....<tt>wmf st
21c0: 61 74 65 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e ate <i>devid</i>
21d0: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 </tt>.... Ret
21e0: 75 72 6e 73 20 74 68 65 20 69 6d 61 67 65 20 63 urns the image c
21f0: 61 70 74 75 72 65 20 73 74 61 74 65 20 6f 66 20 apture state of
2200: 74 68 65 20 64 65 76 69 63 65 20 69 64 65 6e 74 the device ident
2210: 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e ified by <tt><i>
2220: 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 devid</i></tt>.
2230: 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 The result is th
2240: 65 20 73 74 72 69 6e 67 20 3c 62 3e 63 61 70 74 e string <b>capt
2250: 75 72 65 3c 2f 62 3e 20 69 66 20 74 68 65 20 64 ure</b> if the d
2260: 65 76 69 63 65 20 69 73 20 73 74 61 72 74 65 64 evice is started
2270: 2c 20 3c 62 3e 73 74 6f 70 70 65 64 3c 2f 62 3e , <b>stopped</b>
2280: 20 69 66 20 74 68 65 20 64 65 76 69 63 65 20 69 if the device i
2290: 73 20 73 74 6f 70 70 65 64 2e 0d 0a 0d 0a 3c 74 s stopped.....<t
22a0: 74 3e 77 6d 66 20 73 74 6f 70 20 3c 69 3e 64 65 t>wmf stop <i>de
22b0: 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a vid</i></tt>....
22c0: 20 20 20 20 53 74 6f 70 20 63 61 70 74 75 72 69 Stop capturi
22d0: 6e 67 20 69 6d 61 67 65 73 20 6f 66 20 74 68 65 ng images of the
22e0: 20 64 65 76 69 63 65 20 69 64 65 6e 74 69 66 69 device identifi
22f0: 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e 64 65 76 ed by <tt><i>dev
2300: 69 64 3c 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a id</i></tt>.....
2310: 3c 74 74 3e 77 6d 66 20 74 6f 70 68 6f 74 6f 20 <tt>wmf tophoto
2320: 3c 69 3e 77 69 64 74 68 20 68 65 69 67 68 74 20 <i>width height
2330: 62 70 70 20 62 79 74 65 61 72 72 61 79 3c 2f 69 bpp bytearray</i
2340: 3e 20 3f 3c 69 3e 72 6f 74 20 6d 69 72 72 6f 72 > ?<i>rot mirror
2350: 78 20 6d 69 72 72 6f 72 79 3c 2f 69 3e 3f 3c 2f x mirrory</i>?</
2360: 74 74 3e 0d 0a 0d 0a 20 20 20 20 4d 61 6b 65 73 tt>.... Makes
2370: 20 74 68 65 20 52 47 42 20 28 3c 74 74 3e 3c 69 the RGB (<tt><i
2380: 3e 62 70 70 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 >bpp</i></tt> is
2390: 20 33 29 20 6f 72 20 67 72 65 79 20 28 3c 74 74 3) or grey (<tt
23a0: 3e 3c 69 3e 62 70 70 3c 2f 69 3e 3c 2f 74 74 3e ><i>bpp</i></tt>
23b0: 20 69 73 20 31 29 20 62 79 74 65 20 61 72 72 61 is 1) byte arra
23c0: 79 20 3c 74 74 3e 3c 69 3e 62 79 74 65 61 72 72 y <tt><i>bytearr
23d0: 61 79 3c 2f 69 3e 3c 2f 74 74 3e 20 6f 66 20 3c ay</i></tt> of <
23e0: 74 74 3e 3c 69 3e 77 69 64 74 68 3c 2f 69 3e 3c tt><i>width</i><
23f0: 2f 74 74 3e 20 74 69 6d 65 73 20 3c 74 74 3e 3c /tt> times <tt><
2400: 69 3e 68 65 69 67 68 74 3c 2f 69 3e 3c 2f 74 74 i>height</i></tt
2410: 3e 20 70 69 78 65 6c 73 20 69 6e 74 6f 20 61 20 > pixels into a
2420: 54 6b 20 70 68 6f 74 6f 20 69 6d 61 67 65 2e 20 Tk photo image.
2430: 4f 70 74 69 6f 6e 61 6c 6c 79 2c 20 74 68 65 20 Optionally, the
2440: 64 61 74 61 20 69 73 20 72 6f 74 61 74 65 64 20 data is rotated
2450: 62 79 20 3c 74 74 3e 3c 69 3e 72 6f 74 3c 2f 69 by <tt><i>rot</i
2460: 3e 3c 2f 74 74 3e 20 64 65 67 72 65 65 73 20 28 ></tt> degrees (
2470: 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 possible values
2480: 30 2c 20 39 30 2c 20 31 38 30 2c 20 32 37 30 29 0, 90, 180, 270)
2490: 20 61 6e 64 2f 6f 72 20 6d 69 72 72 6f 72 65 64 and/or mirrored
24a0: 20 61 6c 6f 6e 67 20 74 68 65 20 58 20 61 6e 64 along the X and
24b0: 2f 6f 72 20 59 20 61 78 69 73 20 61 73 20 73 70 /or Y axis as sp
24c0: 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 62 ecified by the b
24d0: 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 73 20 3c 74 oolean values <t
24e0: 74 3e 3c 69 3e 6d 69 72 72 6f 72 78 3c 2f 69 3e t><i>mirrorx</i>
24f0: 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c 69 </tt> and <tt><i
2500: 3e 6d 69 72 72 6f 72 79 3c 2f 69 3e 3c 2f 74 74 >mirrory</i></tt
2510: 3e 2e 0d 0a 0a 5a 20 33 61 32 33 36 38 30 36 33 >....Z 3a2368063
2520: 65 35 36 34 62 34 33 61 66 61 35 62 33 36 36 36 e564b43afa5b3666
2530: 66 63 63 36 39 32 31 0a fcc6921.