Short: Animation.datatype V41.6 Author: GISBURN@w-specht.rhein-ruhr.de (Roland Mainz) Uploader: GISBURN w-specht rhein-ruhr de (Roland Mainz) Type: util/dtype Replaces: util/dtype/animation4105.lha Architecture: m68k-amigaos ---- 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