home *** CD-ROM | disk | FTP | other *** search
-
- FLITAPE.EXE Version 1.02 2/24/91
- --------------------------------
-
- Functional Specification for FLITAPE.EXE a 'FLI' file output program for
- single frame video recording devices.
-
- Modification :
- 2/24/91 - cmc - first iteration
- 3/8/91 - cmc - "-?" prompting mode switch added
- 3/27/91 - cmc - addition of "go to timecode" in prompting
-
- Usage : FLITAPE.EXE <file name> [options]
- Options are :
- -h # record a head of # frames
- -t # record a tail of # frames
- -l # record looping # times
- -d # record forcing duration of # frames
- -[ # beginning gap to recording
- -] # end gap after recording
- -f crop to fit shortest side of image to the display
- -p print running status
- -s ScriptFile Read from a script file
- -r RecordFile Create a record file
- -c configure drivers
- -? prompting mode
-
-
- Purpose :
-
- FLITAPE.EXE is a command line driven program designed to read a ".FLI"
- file and output to a display and perform recording on single frame video
- recording devices. This program will be able to read both original
- Autodesk Animator files and the new variable resolution "PJ" files.
-
-
- Requirements :
-
- This program will be implemented as a "protected mode" 80386 application
- using ADI 4.1 or greater for its device interface. The program will be
- able to optionally use an 80x87 math coprocessor. The display portion of
- the program relies on an ADI "DEV_RD/DEC_RC" device. The single frame
- recording portion relies on an ADI "VTPADI" device.
-
- For a discussion of the environment variables and assumptions made by ADI
- device drivers see the appendix to this document.
-
- Usage Message:
-
- If the program is invoked with no arguments, a "usage banner" briefly
- describing the program's arguments will be printed on the screen.
-
- The execution of the program can be terminated by the User by pressing any
- key on the keyboard.
-
- Known Limitations :
-
- 3/14/91 - Only NTSC non-drop frame time code is supported. Both NTSC
- drop-frame and PAL should be included.
-
- Default Performance :
-
- When the program is invoked with no options, (only the FLI file name is
- specified), the following default performance will be executed.
-
- Verify that the file specified on the command line exists and can be
- opened for read. The integrity of the file is not verified at this
- point although it is established later in the process.
-
- Establish communications with and initialize the DEV_RD display device
- driver.
-
- Establish communications with and initialize the VTPADI VTR device driver.
-
- Open and check the integrity, length and speed of the specified FLI
- file.
-
- Calculate the display mapping and initialize the required buffers
- needed to display the frames of the FLI file on the DEV_RD display
- device so that the longest side of the FLI maps entirely into the
- display and so that aspect ratio will be preserved.
-
- Calculate the number of video frames to be recorded based on the length
- and "speed" of the FLI file. The "speed", sometimes referred to as
- "jiffys" is expressed in term of milliseconds. The "speed" to frame
- rate is calculated so that values less than a video frame map to one
- video frame, and values greater than one video frame round to the
- nearest whole frame.
-
- Establish the current position (time code) of the VTR's tape and set
- the edit "in-point" at default number of frames further along
- (specified below) in order to allow for a reasonable preroll.
-
- Display the first frame of the FLI to the DEV_RD device.
-
- Perform an "insert edit" of the appropriate number of frames base on
- the calculation above.
-
- Repeat the above two steps for each successive frame of the FLI file
- until all FLI frames have been displayed and edited to tape.
-
- Advance the VTR media a default number of frames (specified below), in
- order to provide a blank gap at the end of the recorded sequence.
-
- Release the VTR resource and driver.
-
- Release the display resource and driver.
-
- Close the FLI file.
-
- Argument Description:
-
- In general, command line options are preceded by a '-' option switch,
- they are not case sensitive, either upper or lower case works, and
- they do not require a leading space character before their arguments.
-
- For example :
- FLITAPE fli_name -D 30
- and
- FLITAPE fli_name -d30
- are equivalent
-
- file name
-
- Mandatory file name whose the file name extension
- determines the type of input file. The available
- input extensions are the following:
-
- *.fli Animator/3D Studio image file
-
- Default: The filename is mandatory, but if the
- extension is missing, '.fli' is the assumed
- extension.
-
- The exception to the mandatory need for a file name specified on the
- command line is when a "-?" switch (below) is used.
-
- -h # record a head of # frames
-
- Record a "head" on the tape consisting of the first FLI frame appearing
- on the tape for "#" frames. As an example, if a 30 frame still image of
- the first frame is desired at the beginning of the animation an option
- of "-h 30" would be appropriate.
-
- -t # record a tail of # frames
-
- Record a "tail" on the tape consisting of the last FLI frame appearing
- on the tape for "#" frames. As an example, if a 30 frame still image
- of the last frame is desired at the end of the animation an option of
- "-t 30" would be appropriate.
-
- -l # record looping # times
-
- Record the FLI animation as a series of "film loop" segments. This
- option is useful for recording a short FLI file over and over on a
- segment of tape. If a recording of a FLI animation looping 9 times is
- desired an option of "-l 9" would be appropriate.
-
- -d # record forcing duration of # frames
-
- Record the FLI animation using the specified duration instead of the
- mapping of "jiffys" to frames described above. This option is useful
- for adjusting the absolute speed at which a FLI file "plays" on the
- finished tape. The duration is specified in terms of frames.
-
- If the number of frames specified is less than the number calculated
- above, frames from the FLI will be discarded and the remaining frames
- will be recorded at one video frame each. If the specified number is
- greater than would calculated, every frame of the FLI will be recorded
- for one or (typically) more video frames in order to achieve the desired
- duration. This later case has the effect of slowing the FLI down.
-
- The achieved duration applies to the number of frames a FLI file will
- record irrespective of the "head", "tail", or "loop" specification.
- The total duration of the recorded sequence can be expressed as :
-
- Head Duration + (FLI Duration * Number of Loops) + Tail Duration
-
- -[ # beginning gap to recording
-
- This option over-rides the default "pre-roll gap". This option is
- useful when several FLI animations are being put on tape and no gaps
- are desired between the various sequences. In that case on option of
- "-[ 0" is appropriate. Conversely, a longer gap might be desired to
- allow room for subsequent edits, e.g, "-[ 200" for a 200 frame gap.
-
- -] # end gap after recording
-
- This option over-rides the default "post-roll gap". This option is
- useful when several FLI animations are being put on tape and no gaps
- are desired between the various sequences. In that case on option of
- "-[ 0" is appropriate. Conversely, a longer gap might be desired to
- allow room for subsequent edits, e.g, "-[ 200" for a 200 frame gap.
-
- -f crop to fit shortest side of image to the display
-
- This option changes the mapping of the FLI image into the DEV_RD
- display. This option is useful when differences in image aspect ratio
- between the FLI and the screen would cause a black space to be
- displayed at the top and bottom of the screen, (sometimes called letter
- box format). When the "-f" option is specified, the shorter side of the
- FLI image, usually the vertical, is mapped to cover entirely the
- display screen. This mapping often causes parts of the image on either
- side to be cropped in order to preserve the pixel aspect ratio,
- (keeping circles circular).
-
- -p print running status
-
- This option causes the program to print to the monitor (stdout), a
- running status of the execution. This option is useful if the DEV_RD
- display is NOT the normal system monitor, (e.g., when a Targa is being
- used). The information provided by the "-p" option is helpful during
- long recording sessions as a way to monitor progress.
-
- The information issued by the option includes :
-
- The command line as invoked.
- The name of the FLI file being recorded.
- The option in effect ( only those aspect which vary from the
- default behavior ).
- The position on tape where the animation starts.
- A running commentary on progress, which frame of how many is being
- recorded.
-
- See below for an example.
-
- -s ScriptFile Read from a script file
-
- This option causes the program to read a specified "script" file to be
- used as a list of FLI files with options to record. This feature is
- useful for recording several FLI files at once. The script file's
- format is the same as the command line invocation. The only difference
- is that the name of the program is not included on lines of the script
- file.
-
- The options specified in a given line of the script file are applied and
- remain in effect only during the processing of that line of the file.
- Options specified on the command line apply to all lines executed from
- the script file.
-
- As an example, give an invocation :
- FLITAPE -s script.scp -[0 -]0
-
- And a file SCRIPT.SCP containing the following :
- FLIONE.FLI -D 30 -h60
- FLITWO.FLI -D 90 -L3 -t60
-
- The program will record FLIONE with 0 length beginning and end gaps, a
- duration of 30, and a head recording of 60 frames. It will then record
- FLITWO with 0 length beginning and end gaps, (abuts to FLIONE), a
- duration of 90 frames, over 3 loops, with a tail of 60 frames.
-
- When a script file is specified on the command line, the otherwise
- mandatory FLI file name is not required.
-
- The following options are NOT honored in a script file. If desired
- they must be specified on the command line. If encountered in a script
- they will be ignored.
-
- -p print running status
- -r RecordFile (below)
- -s ScriptFile (this option)
- -c configure drivers (below)
-
- Before the first line of the script file is executed and recording
- begins, every line of the script file is checked for consistency and
- the FLI files are checked.
-
- -r RecordFile Create a record file
-
- This option is similar to the Print running status option above except
- that the output is sent to the specified file.
-
- In addition to the information from the "-p" option, the log file
- contains the start time and completion time. This information is
- useful for billing or other future reference.
-
- -c configure drivers
-
- This option causes the program to "configure" first the ADI VTPADI VTR
- driver, and then the DEV_RD display driver. The configuration is done
- in order to change the characteristics of an ADI driver. The content of
- the configuration dialogue is device driver specific.
-
- -? prompting mode
-
- This option causes the program to be invoked in an interactive
- mode of operation. When the "-?" switch is used, the User is take
- sequentially through two interactive sections, the first for tape control
- and positioning and the second for specification and correction of
- the usual command line parameters. If this switch is being used
- a file name need not be specified on the command line although
- neither the "-s Script" or "-c Configure" switches are honored.
- All other parameters specified on the command line are taken as the
- current values shown in the entry/modification section below.
-
- The tape positioning section provides for the direct control of the
- VTR from the number keypad section of the keyboard. The left and
- right arrow keys provide "shuttle" operation forward and backward.
- These two keys also have shifted use. When just the arrow keys are
- pressed the VTR will shuttle at a rate slower than regular play speed.
- This is sometimes called a creep. If the shift key is held down while
- the arrow key is depressed, the VTR will shuttle at the fastest
- available speed.
-
- -------------------------------
- | Home | | PgUp |
- | (FastRev) | | (FastFwd) |
- -------------------------------
- | <- | | -> |
- | (ShutRev) | | (ShutFwd) |
- -------------------------------
- | End | | PgDn |
- | (StepRev) | | (StepFwd) |
- -------------------------------
- | Ins | Del |
- | (PLAY) | (STOP) |
- -------------------------------
- ENTER to exit
- ? Current time code position
- G Go to a time code position
- + Menu
- Current position is 00:02:50:19
-
-
- The parameter entry section prompts for the normally setable parameters
- that control the operation of the program. If a valid FLIC file name
- is not specified the User is given the option of exiting the program.
- Once the parameters have been entered the User is given an opportunity
- to modify them. Once the parameters have been set the User is given one
- final opportunity to exit the program before the recording session
- begins.
-
- For all parameters shown in this section, the current value is
- presented as part of the prompt for a new value. Pressing the enter
- key accepts the parameter.
-
- Example -
-
- command line : FLITAPE -?
-
- FLIC file name ?
- Number of blank frames before recording : [150] ?
- Number of frames in HEAD : [0] ?
- Animation duration in frames : [32] ?
- Number of frames in TAIL : [0] ?
- Number of loops to record : [0] ?
- Number of blank frames after recording : [30] ?
- Fit image within screen area [Yes]/No ?
- Display running status Yes/[No] ?
- Do you want to change any value Yes/[No] ?
-
- Start Recording [Yes]/No ?
-
-
- Appendix -
- ==========
-
- ADI Drivers :
-
- Protected mode '386 drivers as used in this program are delivered in the
- form of ".EXP" files, essentially programs, which provide device
- interfaces in a device independent way.
-
- In order for the application program to find and bind at runtime with the
- appropriate drivers of the required classes, e.g., Display, VTR
- controller, a three file search is instituted.
-
- The first level of search is for a file in the current directory of a
- specific name. In the case of display drivers the name is ADISDP.EXP and
- in the case of VTR controllers the name is ADIVTR.EXP.
-
- If this search is not satisfied, the current environment is searched for a
- "SET" variable equating an environment string to a file name. This is
- the preferred method of naming an ADI driver. In the case of a display
- driver the environment variable is RDPADI and for VTR controllers it is
- VTPADI. This name mapping can be accomplished by including
- "SET <name>=<drivername>" statements in you AUTOEXEC.BAT or by issuing
- the SET command from the DOS command line.
-
- The SET variable mapping is as follows.
-
- In the case of the display driver :
- SET RDPADI=<drivername>
- In the case of the VTR controller :
- SET VTPADI=<drivername>
- where driver name is a full path name to the appropriate device
- driver.
-
- The final stage of the search is to query the User directly from the
- program. An appropriate error advisory is issued and the User is asked to
- name the full path and name to indicate the required driver.
-
- Sample "print running status" output :
-
- invocation -> flitape short -p -d 30 -h10 -t10 -l3
-
- Recording SHORT.FLI
- Record Head of 10 frames
- Record Tail of 10 frames
- Record 3 loops
- User specified duration of 30 frames
- sequence starts at 01:02:08:04
-
- head of 10 frames
- FLI frame #1 of 3 on 10's
- FLI frame #2 of 3 on 10's
- FLI frame #3 of 3 on 10's
- tail of 10 frames
-
- Sample "record output file" output :
-
- invocation -> flitape short -p -d 30 -h10 -t10 -l3 -rlogfile
-
- D:\SAMPLE\FLITAPE.EXE short -p -d 30 -h10 -t10 -l3 -rLOGFILE
- Recording SHORT.FLI
- Record Head of 10 frames
- Record Tail of 10 frames
- Record 3 loops
- User specified duration of 30 frames
- Log to record file LOGFILE
- Start time : 08:47:56 PM 02/24/91
- sequence starts at 01:02:08:04
- Finished at : 08:50:05 PM
-
- Default Values :
-
- Beginning Gap 150 frames
- End Gap 30 frames
- Version 0.01
- default FLI extension ".FLI"
- Head Length 0 frames
- Tail Length 0 frames
-
- Error Messages :
-
- The following are issued on encountering fatal program errors and
- termination conditions.
-
- Cannot open script file <script file name>
- Display initialization fail! (on display initialization failure)
- No Tape init (on VTR driver initialization failure)
- Tape initialization error (on VTR device initialization failure)
- Error opening <fli file name>
- Memory allocation error (on internal allocation errors)
- VTR error (generic VTR abort message)
- User Termination (on User keyboard termination)
-
-
-