home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 3
/
CDPDIII.bin
/
bbs
/
ff779.lha
/
FF779
/
AAP_AAC
/
AAP.Doc
< prev
next >
Wrap
Text File
|
1992-12-06
|
15KB
|
455 lines
10. Oct 1992 Docfile for AAP version 1.2 (1.st public release)
** Table of contents in this docfile **
1. .... FUNCTIONAL OVERVIEW
2. .... INSTALLATION
3. .... USAGE (CLI-OPTIONS / WORKBENCH CALL)
4. .... AAP KEY AND MOUSE FUNCTIONS
5. .... USING SCRIPT FILES
6. .... PERFORMANCE
7. .... BUGS
1. FUNCTIONAL OVERVIEW
AAP (AmigaAnimPlayer) offers the following features:
- show animations (IFF ANIM_5, ANIM_7)
(For a description of the new ANIM7 fileformat
see Anim7.doc file.)
- show pictures (IFF ILBM)
- show (long) sequences of animations and/or pictures
(using a script file)
- operates from memory (preload) and/or from disk
2. INSTALLATION
AAP needs no additional files or libraries to run.
Copy the executable and the icon (AAP and AAP.info)
to your Harddisk where you like.
AAP runs on AMIGAs with Kickstart 1.3 and higher.
3. USAGE (CLI-OPTIONS / WORKBENCH CALL)
For workbench call you need to select one icon (of a aap-script
or a picture or an animation) and then shift-double-click the AAP icon.
You may set AAP as the default tool in your aap-scripts and
call AAP with double-click on the script icon.
When any error occurs, AAP makes a DisplayBeep end exits.
The call from cli has 2 advantages:
- In case of any errors AAP displays error messages in the cli window.
- You may specify some options
usage:
aap [-switches] anim | picture | script
All the switches are optional.
[-d] Play from diskfile
The -d option allows you to play anims that are much
larger than your free memory.
(A very fast Harddisk (> 800 kB/sec) is recommanded)
.. see also _LOAD_OFF script command.
[-m] Preload file into memory. (default)
This option is the opposite of the -d option.
.. see also _LOAD_ON script command.
[-t] Enable other tasks while playback
Normally AAP stops all other tasks while playing the
animations to get the maximum playbackrate.
Sometimes it is desired to run other tasks
(probably soundtasks) at the same time.
(The interrupts are NOT affected by this option)
[-w] Wait for left mouse at first frame.
After checking and preloading all anims and pictures
AAP normally begins the playback. With this Option AAP
shows the first frame and waits 'standby' for a
doubleclick (left mouse button) before starting the
animation sequence.
This option is useful for recording your anims on Video.
[-l] Type script while analyzing it.
All lines of the script are displayed (on stdout).
Remark lines are prefixed with the word 'REMARK'.
This option is useful for debugging yor scripts.
[-!] Check performance by flashing color0 at each frame.
green: frame in time,
red: frame is late.
[-snnnn] Speed in jiffies
This option sets the playback rate for anims in jiffies.
The rate must be a positive integer following immediate
behind the 's' letter!!
Further options must be separated by blank.
.. see also _SPEED script command.
[-cxxxx] Codeword for crypted files
For crypted files you need to specify a 4 character
codeword (any numbers and letters).
The codeword must follow immediate behind the 'c'
letter!!
Further options must be separated by blank.
(This option is not available in the public domain
version of AAP.)
Examples:
aap -d -s8 dh0:anims/my_anim_file
Plays the animation 'my_anim_file' directly from the harddisk
drawer dh0:anims.
The playbackspeed is set to 8 jiffies per frame. (The frame
timing values stored in the ANHD and DPAN chunks of
'my_anim_file' are ignored because of the -s option.)
aap -m my_script_file
Plays anims and pictures that are listed in 'my_script_file'.
This anims and pictures are preloaded into memory because the
preload mode is turned on by -m option. (With _LOAD_OFF and
_LOAD_ON commands you may control preload mode for each file
in the script.)
4. AAP KEY AND MOUSE FUNCTIONS
key function
-----------------------------------------------------------
ESC Terminate immediate.
CursorKeys Scroll the display in direction of the
cursor arrows.
(Modifies the view offsets of the Display)
Useful to center the display when using
overscan pictures.
BLANK (Re)Set the view offsets of the display
according to the systems preferences.
CTRL ignore frame timing, and play with
maximum speed.
all other Keys may be used for script-defined interactions
Valid Keynames are:
A, B, ... Z,
0, 1, ... 9,
10_0, 10_1, .... 10_9, 10_MINUS, 10_PLUS
F1, F2, ... F10,
ESC, DEL, TAB, BACKSPACE, HELP, CTRL, CR, ENTER
TILDE, DOT, KOMMA, MINUS, PLUS, SPACEBAR
UP, DOWN, LEFT, RIGHT
LEFT_SHIFT, LEFT_ALT, LEFT_AMIGA
RIGHT_SHIFT, RIGHT_ALT, RIGHT_AMIGA
ANY_KEY /* value for any key */
(see _KEY_JUMP, _KEY_WAIT and _KEY_BREAK script commands)
mouse function
-----------------------------------------------------------
The mouse pointer is made invisible while
playback.
RIGHT Button Terminate immediate.
LEFT Button Stop current frame or continue with next
frame when already stopped.
(toggle switch)
5. USING SCRIPT FILES
Both programs AAP and AAC use the same kind of scriptfiles.
Scripts are used to assemble animation sequences or picture
slide shows.
Scripts are line-structured ASCII files and can be made with
any editor.
- There can be only ONE filename or command in a single line.
- Files with binary data are not accepted as script.
- Script files are not case sensitive.
- Blank lines, or lines starting with the semicolon ';' are
remarklines.
- All lines that are no command or no remarklines must
contain the name of a picture or animation file.
Filenames with Blanks must be embedded in Quotes like this:
"SPACE PICTURE"
If the file is an animation file the following trailing options
are available:
-C[J][times] or
-L[J][times]
C option is for continous loop mode.
This mode assumes that frame#0 and frame#1 are repeated
as the last two frames in the anim file. (Dpaint saves
anims in this convention.)
According to this, the frames#0 and #1 are only
displayed at the first loop.
L option is for full loop mode.
In this mode frame#0 and #1 are displayed in each loop.
(Unpacking frame#0 and #1 usually takes more cpu-power
than the other frames in the animation.)
J Option is for continous joining of an animation to the
previous one.
This mode assumes that frame#0 and #1 are the same as
the last 2 frames of the previous animation and begins
with frame#2 (delta to #0) and frame#3 (delta to #1).
In other words: the 'slow' frames #0 and #1 are not
displayed when option J is used.
WARNING: both anims must be from same display size
(width, heigth, depth, viewmode) and must use
the same palette (colors).
frame#0 and frame#1 MUST be exactly the same
frames as the last 2 frames from the previous
animation.
If NOT the result is a trashed display!!
times .. integer value how many times to play this anim.
default value is 1.
Available Commands:
_PAUSE [time]
Wait additional time (in jiffies) before displaying the
next frame.
_SPEED [time]
Set playback rate (in jiffies) for all following
animations. (1 is maximum speed.)
_SPEED without parameters (or 0) will use the playback
rates that are defined in the animfiles. (Playbackspeed
can also be set by -s option at CLI call)
_PIC_TIME [time]
Set default time (in jiffies) for single pictures.
_LOAD_ON
Set preload mode.
_LOAD_OFF
Clear preload mode.
All picture/anim files found between _LOAD_ON and _LOAD_OFF
(or end of ScriptFile) are loaded into memorybuffers before
the first frame is displayed.
Pictures and anims can appear in the script as often as
desired, but they are loaded only ONCE to save memory.
Example:
_LOAD_OFF
pic1
pic2
_LOAD_ON
pic1
pic3
pic1
In the script above is a slide show to display pictures in
order 1,2,1,3,1. pic1 and pic3 were preloaded into memory
buffers but pic2 is displayed from disk.
The initial preload mode can be set by the CLI option -m
and cleared with option -d. This initial mode is valid
until the first scriptline with _LOAD_ON or _LOAD_OFF
statement.
_BEG_LOOP [times]
_END_LOOP
Define begin and end segment of the script that is to
repeat.
times is an optional integer. Default is 32000 times
('endless loop'). Loops can be nested.
_LABEL labelname
this directive marks a location in the script.
it is used as destination for _KEY_JUMP commands.
_KEY_BREAK *)
After this Command is executed any key breaks the playback
of the current anim (or picture delay time) and the next
script statement is executed.
(This may be useful for fast _KEY_JUMP interactions)
_KEY_WAIT [keyname] *)
Wait until the specified key is pressed.
the keyname ANY_KEY (or omitting the keyname)
pauses the script execution until any key is pressed.
(see ... for valid keynames)
_KEY_JUMP labelname [keyname] *)
This Command can branch the execution of the script
to the marked location in the script with the same labelname.
(see also _LABEL command)
If the keyname is omitted
an unconditional Jump is performed.
If the keyname is ANY_KEY
the Jump is performed when any key is pressed at this time.
If the keyname is a valid keyname
the Jump is performed when the specified key is pressed.
(see ... for valid keynames)
_ADRESS *)
Cmd not implemented (reserved)
_MSG *)
Cmd not implemented (reserved)
_VIEW_DX [ofs] *)
_VIEW_DY [ofs]
Horizontal/vertical adjust of the display.
ofs is an optional integer value in pixels. (Default or
value 0 will use the display offsets from the systems
preferences.)
_EXIT [rc]
Exit, and set returncode to rc.
rc is an optional integer (rc default is 0).
*) .. Command is ignored in AAC
Example:
_BEG_LOOP
dh0:anims/my_anim_file -c3
dh0:anims/your_anim_file -L5
_END_LOOP
Will display 'my_anim' 3 times in continous mode then
'your_anim' 5 times (showing all frames every time) and
then repeat this sequence of my and your anim again and
again (= 32000 times).
6. PERFORMANCE
The playback speed of frames depends on following facts:
- displaying frames directly from a diskfile usually
takes more time than displaying preloaded frames.
- Pictures with RLC-packed body (std. IFF as written by
DPaint) may load faster from disk than unpacked ones,
but unpacked IFF pictures can be displayed faster
when they are only moved from a buffer to the display-memory.
(A simple long-word based blockmove is much faster
than a byte-oriented unpack algorithm.)
- Anim files usually display the frames faster than
sequences of single pictures. (Because only the changed
displaydata must be moved.)
- ANIM5 versus ANIM7
ANIM5 is an established Standard on the Amiga, ANIM7 is
(for now) only supported by AAP and AAC.
ANIM5 uses a normal ILBM Picture as first frame and
delta informations for all following (DLTA) frames.
DLTA frames are packed 'byte oriented' with vertical
run length encoding and skip opcodes. This gives good
compressing rates, but not optimal playbackrates. (The
full power of 68030 turbo machines can not be used when
moving single bytes.)
In ANIM7 the packer code (AAC) can decide if short or
long data should be used. The first frame can be a
normal ILBM picture or a DLTA to an empty frame. (The
empty frame is not stored and has all bitplanedata set
to zero.)
ANIM7 uses seperated opcode(bytes) and data(short/long)
lists to represent delta informations. Similar to ANIM5
it uses vertical run length encoding with skip opcodes.
This gives acceptble packing rates and enables higher
playback rates than ANIM5. (Especially when preloaded
into 32 bit organized fast RAM, found on turbo Boards
or AMIGA 3000.)
AAP Performance Notes:
All routines that handle with BitPlane data are coded in
Assembler, optimized for speed. Disk-IO is coded as one seek
and one read instruction per frame while playback.
Testvalues represent the time (in jiffies) to produce one frame
with a 68000, 7MHz (68030, 16MHz).
Performancetests depend very much on the packing rate of
the used frames.
The subjective Results of the Tests are:
Configuration:
CPU 1: 68000, 7MHz,
CPU 1: 68030, 16MHz,
RAM : 1MB CHIP-RAM + 1.5 MB RangerMem + 2MB 32-Bit RAM
DH0 : Quantum 120 LPS (SCSI II)
SQ0 : Syquest 44MB
- When using the 68000 CPU Playback-timing Problems starting at
5Plane LO-RES INTERLACE Anim5 Playback from RAM.
The Playbackrates are acceptable (10-20 f/sec) when using Anim7 Format
(short or long)
HI_RES INTERLACE Anims playback to slow.
- When using the 68030 CPU Playback-timing Problems starting at
HI_RES INTERLACE Anims, but the playbackspeed is
acceptable in Anim7 (long) Format combined with 32Bit RAM.
(one reason may be the extensive DMA used by the Display
in this Graphic Mode)
- The SQ0 Drive is to slow for real Disk Animation. Even in LO-RES.
- The DH0 Drive enables Disk Animation in LO-RES without timing
Problems and acceptable results when using LO-RES INTERLACE.
HI-RES INTERLACE Anims are remarkable slowed down.
7. BUGS
- When Scrolling Hi-Res Interlaced Displays (using the Cursor Keys)
some portions of the Display may disappear.
- When AAP is called with -t option and the left mousebutton
was pressed all keyboard and mouse actions affect the hidden
windows of other applications running behind.
(Intuition does't notice the AAP managed screen)