]> git.sesse.net Git - mlt/blobdiff - mlt/docs/dvcp.txt
remove child mlt dir
[mlt] / mlt / docs / dvcp.txt
diff --git a/mlt/docs/dvcp.txt b/mlt/docs/dvcp.txt
deleted file mode 100644 (file)
index 6da16db..0000000
+++ /dev/null
@@ -1,336 +0,0 @@
-
-dv1394d Control Protocol (DVCP) Reference Documentation
-
-Copyright (C) 2003 Ushodaya Enterprised Limited
-Author: Dan Dennedy <dan@dennedy.org>
-Last Revision: 2003-01-13
-
-General Format
---------------
-       DVCP is an ASCII-based request/response TCP protocol much like FTP and
-       inspired by the SGI MVCP (Multiport Video Computer Protocol). Each
-       command is three to eight characters long followed by zero or more
-       arguments. Every item (command or argument) in the request is delimited
-       by a space and terminated with a new line. Arguments that contain spaces
-       must be surrounded by double quotation marks. The new line must contain
-       a line feed optionally preceeded by a carriage return. There are no
-       request header lines or body.
-
-
-Response Codes
---------------
-       Responses consist of a numeric result code followed by a space folowed
-       by a brief textual description of the result. No quoting is applied to
-       descriptions regardless if it contains spaces. The result codes are
-       grouped by the hundreds into general categories of responses. Anything
-       in the 200-299 range is considered a success and anything 300 and above
-       is an error or exception. Most responses do not contain a body except
-       some of the success results that report information and sometimes the
-       500 Server Error returns specific information. 
-               A 200 result code contains no body.
-               A 201 result code contains one or more lines in the body, and a empty
-                       line terminates the response.
-               A 202 result code contains only a single response line in the body.
-
-       Errors in the 400 range indicate a normally handled error where the
-       command could not perform its action due to protocol syntax errors or
-       problems with validation of one or more of the arguments. This usually
-       indicates that the client is responsible for performing an illegal
-       request.
-       
-       Errors in the 500 range indicate a server error or exception.
-       
-       The following is a list of response codes and their descriptions:
-       200 OK
-       201 OK
-       202 OK
-       400 Unknown command
-       401 Operation timed out
-       402 Argument missing
-       403 Unit not found
-       404 Failed to locate or open clip
-       405 Argument value out of range
-       500 Server Error
-
-
-Establishing a Connection
--------------------------
-       One can connect to the miracle server using telnet or a custom client,
-       preferrably one developed using the valerie client API. The default port
-       is 5250. Connections can be broken at will or use the BYE command to
-       request the server to terminate the connection.
-
-
-General Command Information
----------------------------
-
-       All commands are case insensitive. Arguments may or may not be case
-       sensitive. There are two categories of commands: global and unit. Global
-       commands operate at the server level. Unit commands address a specific
-       unit. miracle is a multi-unit system. Units are named as U? where ?
-       is the unit number, for example, U0. As units are added to the server,
-       the unit number increases; the first unit is U0.
-       
-       The command HELP lists all commands known to the server with a brief
-       description of their purpose and arguments. Most commands take zero or
-       one argument outside of the unit name. Sometimes an argument is
-       optional, and an optional argument always follows required arguments.
-       All units command required a unit name argument.
-       
-       {} = required argument
-       [] = optional argument
-       () = one of a set of pre-defined values
-       
-
-Global Commands
----------------
-
-HELP
-       List the commands and their brief description.
-
-BYE
-       Close the connection.
-       
-SHUTDOWN
-       Shutdown the server and all client connections.
-
-SET {key=value}
-       Set a global server configuration property.
-       Currently, the only planned key is "root" to set the base directory
-       path for the CLS and LOAD commands. The default root value is /.
-
-GET {key}
-       Get the current value of a configuration property.
-       The value is returned by itself in the body of the response.
-
-CLS {path}
-       List the clips and subdirectories at {path} on the server.
-       Only subdirectories, non-hidden regular files, symbolic links, and NFS
-       shares are supported.
-       The response body contains one line per item.
-       The name of the subdirectory/file is always surrounded by double
-       quotation marks in case it contains spaces.
-       Subdirectories are listed before files and have a trailing / in their
-       name.
-       File entries have a size value in bytes in the second column position.
-
-RUN {file}
-       Process the commands in a file located on the server.
-       Commands are executed one after the other with no delay until the end
-       of file is reached or a command returns a response code not in the 200
-       range.
-       The response body contains each command sent along with its arguments,
-       followed by each command's response status code and response body.
-
-
-STATUS
-       Responds with the output of USTA for each unit and accepts no further
-       input. Each time the state of the unit changes, a new row is returned by
-       the server containing the state of the unit. 
-
-Unit Management
-
-       The following global commands manage the DV units within the server.
-       Currently there is a maximum of four units, and units can not be
-       removed. Each unit may be in an online or offline state. Offline units
-       can not be used, and any unit commands issued against an offline unit
-       results in a 403 response. 
-       
-NLS
-       * NOT IMPLEMENTED IN MIRACLE YET *
-
-
-UADD mlt-consumer[:argument]
-       Add a unit based upon the mlt-consumer id and optional constructor
-       argument.
-       If the consumer is not found, then it still added but in an
-       offline manner. Later, by adding the device to the bus, the unit will
-       automatically become online.
-       The response body contains the name of the new unit: U0, U1, U2, or U3.
-       Channel is an optional setting. 
-
-ULS
-       List the units.
-       The response body contains a space-delimited row for each unit in the
-       server containing the following columns:
-       - unit name (one of U0, U1, U2, or U3)
-       - mlt-consumer[:argument] from uadd
-       - 1394 node GUID (defunt - always 0 with miracle for now)
-       - online flag (1 = online, 0 = offline)
-
-SHUTDOWN
-       Shutdown the server.
-
-
-Unit Commands
--------------
-
-       The first argument of any unit command is the unit name (U0 - U3). A
-       unit must be loaded with a file before it can play anything. A "clip"
-       refers to the presence of a file loaded into the unit. A clip can
-       contain an in and out point to set the playback region. The default in
-       point is 0, and the default out point is the number of frames in the
-       file minus one. Therefore, all frame positions are zero-based.
-
-USET {unit} {key=value}
-       Set a unit's configuration property.
-       Key is one of the following: eof, points.
-       
-       Property "eof" determines what the playback engine does when it reaches
-       the end of a clip. The eof property takes one of the following values:
-       stop, loop, continue or pause. The default is pause.
-       
-       Property "points" determines whether the playback engine restricts the
-       playback region to the in and out points. It takes one of the following
-       values: use, ignore.
-       
-UGET {unit} {key}
-       Get a unit's configuration property.
-       Key is one of the following: eof, points.
-       The response body contains only the key's value. See USET for information 
-       about each property.
-
-LIST {unit}
-       List the clips associated to the unit.
-       The response body consists of two sections - the first section is a single row
-       containing the generation number of the playlist associated to the unit (an
-       integer starting from 0 which is incremented on each action which changes the
-       playlist). The second sections contais a space-delimited row for each clip in the
-       units playlistcontaining the following columns:
-       - clip index (starts from 0)
-       - file name
-       - in point
-       - out point
-       - real length of the files
-       - calculated length of file
-       When USET points=use is specified (default), the calculated size is (out-in)+1. 
-       When points are ignored, the real length of the file is returned.
-
-LOAD {unit} {filename} [in out]
-       Load a clip into the unit.
-       Optionally set the in and out points to the specified absolute frame numbers.
-       Sets the current position to the first frame in the clip.
-       Preface the filename with '!' to tell the disk reader thread to remove only
-       duplicate frames from the tail of its buffer queue (from a previously loaded
-       and playing clip). Otherwise, miracle flushes all of its buffers upon LOAD
-       to make the effect of LOAD instantaneous. The LOAD !, USET eof=pause, and
-       extended USTA information can be used for client-side playlists (see the 
-       demo programs).
-
-APND {unit} {filename} [in out]
-       Append a clip onto the unit's playlist.
-       Optionally set the in and out points to the specified absolute frame numbers.
-       
-INSERT {unit} {filename} [ [+|-]clip [ in out ] ]
-       Insert a clip into the units playlist at the specified clip index or relative
-       to the currently playing clip index.
-
-REMOVE {unit} [ [+|-]clip ]
-       Removes a clip from the specified clip index or position relative to the 
-       currently playing clip index.
-       
-CLEAN {unit}
-       Removes all by the playing clip.
-       
-MOVE {unit} [+|-]clip [ [+|-]clip ]
-       Move a clip in the playlist to position specified or position relative to the
-       currently playing clip.
-
-PLAY {unit} [speed]
-       Commence unit playback from the current position.
-       The default speed is 100% if not specified.
-       Speed is represented as a percentage value multiplied by 10. Therefore
-       the default playback speed is 1000 (1X or 100%), 2X is 2000.
-       Negative speed values play in reverse.
-
-STOP {unit}
-       Terminate the unit playback resulting in no video being sent.
-
-PAUSE {unit}
-       Pause the unit playback causing the current frame position to he held
-       indefinitely.
-
-REW {unit}
-       Rewind the unit.
-       If the unit it playing, then REW sets the playback speed to 2000
-       (200%).
-       If the unit is stopped, then the frame position is reset to the first
-       frame. First frame depends upon the "points" unit configuration property
-       and whether an in point has been established for the clip using the SIN
-       command.
-       Set the currently loaded clip's in point.
-       Frame is zero-based and absolute. It is not dependent upon the clip's
-       current in point.
-       A frame-number of -1, resets the in point to 0.
-
-FF {unit}
-       Fast forward the unit.
-       If the unit it playing, then FF sets the playback speed to -2000 (200%
-       in reverse).
-       If the unit is stopped, then the frame position is reset to the first
-       frame. First frame depends upon the "points" unit configuration property
-       and whether an in point has been established for the clip using the SIN
-       command.
-
-STEP {unit} {number-of-frames}
-       Adjust the current frame position by the number of frames specified.
-       Number-of-frames can accept positive or negative values.
-
-GOTO {unit} {frame-number} [ [+|-]clip ]
-       Set the current frame position to frame-number.
-       Frame-number is zero-based and absolute within the clip, which means it is 
-       relative to the file beginning and not the clip in point.
-       It does not alter the playback status of the unit. 
-
-SIN {unit} {frame-number} [ [+|-]clip ]
-       Set the currently loaded clip's in point.
-       The in point is the logical starting frame of the clip.
-       Frame is zero-based and absolute. It is not dependent upon the clip's
-       current in point.
-       A frame-number of -1, resets the in point to 0.
-
-SOUT {unit} {frame-number} [ [+|-]clip ]
-       Set the currently loaded clip's out point.
-       The out point is the logical last frame of the clip.
-       Frame is zero-based and absolute. It is not dependent upon the clip's
-       current out point.
-       A frame-number of -1, resets the out point to the number of frames in
-       the file minus 1.
-
-USTA {unit}
-       Get the unit status report.
-       The response body contains the following fields delimited by spaces:
-       - unit number: U0, U1, U2, or U3 without the "U" prefix
-       - mode: (offline|not_loaded|playing|stopped|paused|disconnected|unknown)
-         "unknown" means the unit has not been added
-         "disconnected" means the server has closed a connection to a client running
-               STATUS.
-       - current clip name: filename
-       - current position: in absolute frame number units
-       - speed: playback rate in (percent * 10)
-       - fps: frames-per-second of loaded clip
-       - current in-point: starting frame number
-       - current out-point: ending frame number
-       - length of the clip
-       - buffer tail clip name: filename
-       - buffer tail position: in absolute frame number units
-       - buffer tail in-point: starting frame number
-       - buffer tail out-point: ending frame number
-       - buffer tail length: length of clip in buffer tail
-       - seekable flag: indicates if the current clip is seekable (relates to head)
-       - playlist generation number
-       - current clip index (relates to head)
-        
-       The status contains information based not only on the current frame being
-       output (current above) but also based upon the most recent frame read by
-       the disk reader thread and added to the tail of the input buffer queue
-       (buffer tail above).
-
-XFER {unit} {target-unit}
-       Transfer the unit's clip to the target unit.
-       The clip inherently includes the in- and out-point information.
-       The target unit's "points" configuration property is set to "use."
-
-
-
-