home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 3
/
CDPDIII.bin
/
pd
/
graphics
/
viewers
/
agmsfilm
/
agmsplayfilm.doc
< prev
next >
Wrap
Text File
|
1993-01-05
|
5KB
|
129 lines
AGMSPlayFilm plays film files created by AGMSMakeFilm. It uses a custom
screen and two sound channels while playing the film. It multitasks - you
can move the screen with the animation while it is playing. Controls let
you view the film at various speeds, including backwards.
Because AGMSPlayFilm consumes data at an enormous rate, the display can get
ahead of the data reading. This results in a pause in the audio and video.
If this happens, either get a faster hard drive, use a smaller picture size
or slow down the play speed. You can also play with the relative priorities
of displaying images and reading files. Changing buffer sizes can also
help.
Here are the command line parameters:
From/A
The name of the film file to play. Required!
Times/K
An optional number of times to see the cartoon. A value of zero (the
default) means play the cartoon forever. Reaching the end of the cartoon
and starting over counts as one time.
Buffers/K
The number of frames to read ahead. Each frame takes up the Chip RAM needed
to hold the picture and sound. If you ask for too many (run out of memory),
the program will take as many as it can. At least two are needed.
For significantly better performance, the buffers should come from the same
block of Chip RAM (use the Verbose option to check on this). A freshly
booted computer running no other programs will give you the largest whole
blocks of Chip RAM, so booting without a Startup-Sequence will give you the
best performance, Chip RAM block wise.
Of course, having more buffers makes the cartoon playback smoother,
particularly if other programs are accessing the disk at the same time.
Verbose/S
Used for debugging. Displays various status messages, including the amount
of file reading it has to do. Also lets you see how many different blocks
of Chip RAM are used (ideally all buffers would come from only one block).
AudioPri/K
The priority of the audio. If a higher priority sound comes along,
AGMSPlayFilm will shut down. If a higher priority sound is already playing
when you start AGMSPlayFilm then it will also shut down. The default
priority is 120. You can use programs such as Experiment IV and
AGMSPlaySound to generate music and sounds at various priorities. Most
other audio software uses priority 127.
FlipTaskPri/K
A separate task is run to flip the screen between pictures. If you give it
a high priority (the default) then it will display every picture exactly
when it should be displayed, but will consume valuable CPU time doing that.
That CPU time could have been spent reading the film file. If you use a
lower priority (less than 5) then the Amiga tasks that run the hard disk
will have more time to read the cartoon file, perhaps avoiding timing
problems that greatly reduce disk accessing speeds. At very low priorities
(less than 0) the frame flipping is only done when nothing else has to be
done (lower priority than checking the keyboard for user commands). The
trouble with low frame flipping priorities is that it will skip the
occasional frame, leading to a jerky display.
Control-C
Stops the program. You can use the CLI command "Break" to stop it too. The
TIMES parameter also can stop the cartoon.
Control-D
Toggles between TRIGGER mode and STRAIGHT mode. AGMSPlayFilm starts up in
STRAIGHT mode. See Control-E and Control-F to find out what those modes do.
Control-E, Control-F
Speed controls. In STRAIGHT mode, each time you hit Control-F speeds up
the film by one quarter of its true speed. Similarly Control-E slows it
down. You can slow it down to a stop and even more to make it go backwards.
In TRIGGER mode Control-E rewinds the film to the beginning and stops it.
While it is stopped, the buffers are pre-loaded with the first few frames of
the film. Control-F starts the film playing at normal speed.
The CLI "Break" command can send these signals if you use the appropriate
parameters. Useful for scripts and AmigaVision applications. For example,
if you want to have the film start at 11:00 PM (probably showing a film of a
local fire :-), you could use this AmigaDOS 2.0 script:
echo >t:TempScript "Wait 3" ; Wait for AGMSPlayFilm to load up.
echo >>t:TempScript "Break $Process D" ; Switch to TRIGGER mode.
echo >>t:TempScript "Break $Process E" ; Rewind and stop film.
echo >>t:TempScript "Wait Until 23:00" ; Wait until 11 PM.
echo >>t:TempScript "Break $Process F" ; Start the film playing.
run Execute t:TempScript
AGMSPlayFilm Fire.film Times 1
Distribution
AGMSPlayFilm is FreeWare. Copyright (c) 1993 by Alexander G. M. Smith.
That means that you can use it freely, can't blame me for anything that goes
wrong (there are probably a few bugs left), and you shouldn't expect more
from it than you paid for it. Also, don't blame me if your hard drive melts
down under the stress of live animation playback :-).
Bugs
The only one I know about is that Control-E in trigger mode doesn't always
redisplay the first frame of the film when it rewinds it. A second
control-E should fix up the display. Let me know if you find any other
bugs. My E-mail addresses are in the program credits (use "?" as the
command line argument and then a second "?" at the prompt to see the
credits).