Vz:Doc:IpControl
From M1Research
(→UDP messages=) |
|||
Line 3: | Line 3: | ||
By default <b>VZ</b> uses TCP/8001 port for shell style control protocol and UDP/8002 for non-interactive datagram proto. | By default <b>VZ</b> uses TCP/8001 port for shell style control protocol and UDP/8002 for non-interactive datagram proto. | ||
- | =UDP messages= | + | =UDP messages= |
+ | |||
+ | This protocol provides fast and sessionless control type. Due to binary nature of command data block you need to use <b>vzCmdSender.exe</b> program. | ||
+ | |||
+ | Some examples: | ||
- | |||
load new scene | load new scene | ||
<pre>vzCmdSender.exe localhost LOAD_SCENE "./projects/demo1.xml"</pre> | <pre>vzCmdSender.exe localhost LOAD_SCENE "./projects/demo1.xml"</pre> |
Revision as of 07:31, 26 January 2009
IP Control protocol is simplest way for VZ control.
By default VZ uses TCP/8001 port for shell style control protocol and UDP/8002 for non-interactive datagram proto.
Contents |
UDP messages
This protocol provides fast and sessionless control type. Due to binary nature of command data block you need to use vzCmdSender.exe program.
Some examples:
load new scene
vzCmdSender.exe localhost LOAD_SCENE "./projects/demo1.xml"
Set text fields
vzCmdSender.exe localhost SET text_2 s_text "Senior Deputy Officer" SET text_1 s_text "Vasilij Pupkin"
start animation
vzCmdSender.exe localhost START_DIRECTOR main 0
continue (hide) animation
vzCmdSender.exe localhost CONTINUE_DIRECTOR main
TCP shell=
To connect to TCP/8001 and send commands you need a telnet client program. Find appropriate "telnet" program for operating. "putty" is nice free program.
Connecting
[verem@elbrus reports]$ telnet vz-dev 8001 Trying 10.1.5.23... Connected to vz-dev.internal.m1stereo.tv (10.1.5.23). Escape character is '^]'. ViZualizator (vz-1.0-release) [tcpserver] vz in$>
As use can see vz service is online and is ready to accept commands.
Commands
NOTE! Tune your telnet program for UTF-8 characters.
Each command sent to VZ has javascript-like structure. I try to descibe most usefull commands format with examples.
renderman.load(<scene_name>)
Perform scene loading into rendering engine, for example:
vz in$> renderman.load(./projects/demo1.xml) vz out$> OK!Load
tree.function.<function_id>.<parameter_name>=<value>
perform parameter setting for function, for example:
vz in$> scene.tree.function.text_1.s_text=Prived Medved vz out$> OK vz in$> scene.tree.function.text_2.s_text=Hi Man! vz out$> OK
tree.container.<container_id>.visible=<value>
Container visibility control
tree.motion.director.<director_id>.start([<position>])
tree.motion.director.<director_id>.stop()
tree.motion.director.<director_id>.continue()
tree.motion.director.<director_id>.reset([<position>])
Directors (animation) control
For example:
Start animation on directormain
.vz in$> scene.tree.motion.director.main.start() vz out$> OKContinue animation on director
main
after pausing.vz in$> scene.tree.motion.director.main.cont() vz out$> OK
tree.motion.timeline.<timeline_id>.<t1|t2|y1|y2>=<value>
timeline modification.