----
New since V41.5:
V41.6
- Fixed the bug that STM_LOCATE did not work properly. The
DTA_TriggerMethods info says that "Locate" is
(STM_LOCATE | STMD_ULONG), but the trigger command dispatcher
checked the old STM_LOCATE (without the STMD_#? flag).
Now the trigger command dispatcher masks the trigger method
using ((trigger_method) & ~STMF_DATA_MASK) to get rid of the
STMD_#? info...
Fixed.
- Added SHARECHIP / NOSHARECHIP options. Before V41.6, the
animation.datatype tests incoming planar bitmaps of they lie in
chipmem can can be passed to BltBitMapRastport directly without
using a copy to a chipmem buffer.
Now this test is avoided unless the SHARECHIP option is on
again. The prefs docs about this option explains why this may be
good in certain cases...
- tapedeck.gadget's special GM_RENDER mode 100 (GREDRAW_SLIDER, e.g.
only update embedded slider) is never more treated as an hack.
- Small speedup because tapedeck's rastport using for
GM_RENDER/GREDRAW_SLIDER is now set up at GM_LAYOUT time
instead of a once-pre-draw setup.
- The 8-bit-chunkypixel remapping code has been re-written.
It now remaps RPL8 / remap / WPL8 instead using a RPA8 / remap /
WPA8 cycle (the line-by-line should be more cache-friendly and
therefore faster...).
The memory needed for this remapping is also reduced
significantly...
- The 8-bit-chunkypixel remapping code never more checks
for the return codes of RPL8/RPA8 nor WPL8/WPA8.
It seems that the GFX-Card driver software sometimes returns
rubbish here...
Should fix some reported blank displays...
- Added support for FIF_ABILITIES (bit 31, (0x80000000UL)).
This flag indicates that animation.datatype supports the
FIF_#? flags. "GMultiView" for example now looks on this
flag and is able to show a HAM/EHB animation on a public
screen if we support the remapping for it.
- Fixed the bug that DTM_TRIGGER did not send
DTERROR_COULDNT_SEND_MESSAGE in the case of no receiver.
Fixed.
- Now SAS/C's build-in math functions are used instead of
the C macros...
- Changed the default value of ADTA_NumPrefetchFrames.
Instead of 10 frames to prefetch now (1/2 fps) number of
frames will be pre-fetched during loading.
Setting ADTA_NumPrefetchFrames explicitly by OM_SET or
by the prefs-file will turn this automatic selection off
again...
This may give a more reasonable default value for
mpegvideo.datatype's NOLOADALL mode...
- Fixed the bug in OM_NEW that if realtime.libary/CreatePlayerA
failed with an PLAYER_ErrorCode error not of RTE_NOMEMORY or
RTE_NOCONDUCTOR Result2 (IoErr) was set to 0.
Due lack of a good dos.library error code if've set the
code to 1234L for now.
Fixed.
- Small modifications in the code which may caused problems with
animations with more than 16384 pixel width and/or height.
These dimensions are currently therorectical, but:
Fixed.
- DTM_REMOVEOBJECT now causes that all queuing frames in the
display queue are disposed (e.g. moved to the dispose queue).
This avoids the bug that removing the object from a window
and re-attaching it again may cause that next play cycle will
display these frames first.
Fixed.
- The priority of the display and load processes are now set up
based on the parent process priority (e.g. the process which
executes OM_NEW).
The display process gets parent process priority, the load
process gets "parent priority - 1".
This allows to run the playback at higher priorities.
- { GA_Immediate, TRUE } is not set any more for the
tapedeck.gadget. This seems to fix some problems with input
processing from tapedeck.gadgets.
- Fixed the bug that tapedeck.gadget's TDECK_CurrentFrame attribute
wasn't updated if DTA_ControlPanel is set to TRUE.
Fixed.
- ADTM_START now clears the load queue explicitly if the first
frame in the queue matches not the given "asa_Frame".
----
INTRODUCTION
animation.datatype is the datatypes base class for all animation
and movie subclasses. It is responsible for remapping, sound,
scronisation, creating the controls and misc. other things
FEATURES
- Supports now the full animation.datatype interface like defined
in include31:datatypes/animationclass.h:
- Supports palette-per-frame, e.g. each frame can have it's own
palette.
- Dynamic timing. A frame can have a variable duration until
the next frame occurs.
- Fully compatible to the original animation.datatype V40.7
- Configurable througth a preferences file.
- Includes a CPU blitter for planar screens. If enabled by the prefs
file, animation.datatype uses a CPU blitter instead of the OS
blitter.
- CyberGFX compatible:
- Now animation.datatype V41 can handle non-planar bitmaps, e.g.
chunkypixel bitmaps, as input.
(Currently they cannot be remapped, the bitmaps are displayed
unchanged on the destination screen).
- Supports HAM/EHB -> 24-bit remapping. (TEMPORARY DISABLED).
- No skipping anymore. The aniation.datatype V41 introduces
a new feature called "adaptive frame rate selection". Instead
of skipping frames when they cannot be displayed in real-time,
the FPS rate is now adapted to fit (e.g. the maximum available
playback speed without skipping).
REQUIREMENTS
- You need at least Kick/WB 3.0.
- "realtime.library", >= V39 - for timing
- "gadgets/tapedeck.gadget" (any version) - for the controls
You need "sound.datatype" >= V40 for sound support.
USAGE
Usage is very simply: If you have loaded an animation, you can
control the animation using the tapedeck gadget at the bottom:
"<<" skips some frames back
">" starts playing
">>" skips some frames forward.
The slider part can be used to move manually to a specific
postion in the animation/movie.
Note that there is also a prefs-file where you can set various
options. See "preferences" section for details.
INSTALLATION
After unpacking this archive:
Because this version does not include an Installer script, you have
to do the installation manually through the shell:
- Unpack this archive and copy the "animation.datatype" to
SYS:Classes/DataTypes/:
Copy CLONE FROM "animation.datatype" TO
"SYS:Classes/DataTypes/animation.datatype"
AUTHOR
If you want to blame me, report any bugs, or wants a new version
send your letter to:
Roland Mainz
Hohenstaufenstraße 8
52388 Nörvenich
GERMANY
Phone: (+49)(0)2426/901568
Fax: (+49)(0)2426/901569
EMAIL is also available (if you want to send me attachments
larger than 1MB (up to 5MB, more with my permission):
GISBURN@w-specht.rhein-ruhr.de
Up to August 1998 I'm reachable using this email address, too:
Reinhold.A.Mainz@KBV.DE
| Please put your name and address in your mails !
| German mailers should add their phone numbers.
| See BUGS section above when submitting bug reports.
Sorry, but I can only look once a week for mails.
If you don't hear something from me within three weeks, please
send your mail again (but watch about new releases) (problems with
this email port are caused by reconfigurations, hackers, network
problems etc.).
The entire "animation.datatype" package may be noncommercially
redistributed, provided that the package is always distributed
in it's complete form (including it's documentation). A small
copy fee for media costs is okay but any kind of commercial
distribution is strictly forbidden without my permission !
Comments and suggestions how to improve this program are
generally appreciated!
----
Bye,
Roland
|