Introduction:
-------------
FlashPlayer is a player for Adobe's "flash" interactive animation format,
also known as SWF. The flash format was originally invented as a very
bandwidth-efficient means for delivering animation across the Internet.
It has since grown into an interactive presentation format, complete with
its own scripting language.
Like all flash animation players for the Amiga, FlashPlayer is based on the
open-source SWF library by Olivier Debon. FlashPlayer has made many
improvements to the original SWF library, and has integrated it into an
IBrowse plugin. However, despite the improvements, FlashPlayer still
suffers many of the limitations of the SWF library, including limited or
missing support for many of the newer additions to the flash format.
This is the IBrowse plugin version of FlashPlayer. It works with IBrowse
2.4 or later to allow flash animations to be viewed as part of a web page.
A standalone version of FlashPlayer is also available; it is capable of
playing flash animations without the need for IBrowse.
The source code for both the FlashPlayer plugin and the modified SWF
library are available in a separate archive, FlashPlayerSrc.lha.
Features:
---------
- Fairly complete support for Flash 1 through Flash 3 formats
Most of these older animations will play pretty much as intended.
- Limited support for Flash 4 and up
Does not support scripting, so while it will not malfunction when
presented with a newer animation, it may not play it as intended. Newer
animations may play just fine, however, if they don't use any of the
unsupported features (I've seen Flash 8 and Flash 9 animations that work
fine with FlashPlayer).
- Fully integrated with IBrowse
Flash animations appear as part of the web page, and can interact with
the browser as well as the user to load other animations, visit other
pages, and even execute Javascript.
- Uses render.library and guigfx.library (included) for best image quality
Plugins don't have access to the IBrowse rendering engine so, like the
standalone FlashPlayer, the plugin uses these two libraries for its
graphics output. This allows it to fully support any screen mode that
IBrowse itself supports, including OCS, ECS, AGA, CyberGraphics, and
Picasso 96. Uses dithering for improved display quality on color-mapped
screens.
- Uses AHI for flexible audio output
Plays sound on any hardware for which AHI has a driver. Supports 16-bit
audio.
- Built-in decoding of MP3 sounds
Contains an integrated version of the open-source MAD MP3 decoder; does
not require mpega.library or other external decoder.
- Support for alternate hardware platforms
Because it does not depend on native Amiga hardware for graphics or
sound, the FlashPlayer plugin works with Amiga emulators and with the
latest Amiga hardware.
- Configurable, for maximum flexibility
Uses tooltypes to configure its operation (set the playback quality,
enable or disable sound, streaming sound, and looping, adjust the sound
buffer size, and set the diagnostic output level).
New for version 1.6:
--------------------
- Added partial support for edit text fields. Without scripting FlashPlayer
can't actually edit text, but these fields are also used many times to
display static text, and this text is now visible.
- Added partial support for device fonts (text that displays using plat-
form-native fonts, rather than fonts that are included as part of the
animation), which are often used by edit text fields. FlashPlayer doesn't
actually use Amiga fonts, but instead uses a built-in simulated device
font.
- FlashPlayer now recognizes the difference between menu buttons and push
buttons; push buttons "capture" the mouse, so the button will remain
active if the mouse is moved off of the button while held down. Any
actions triggered by this activity will occur, rather than being ignored.
- If a button release sound is present it will be played; previously it was
ignored.
- The new JPEG image type added to Flash 10 files will be displayed, though
without the deblocking filter associated with the image.
- The plugin now spoofs as a newer version of the Adobe player.
Limitations:
------------
- Does not support many of the newer additions to the flash format
Chief among these is the scripting language first added to Flash 4, and
extended in newer flash versions. Some animations depend on scripting and
will not run without it, while others use it only as an enhancement, and
can still be viewed to some extent even without scripting support.
- Limitations in the IBrowse plugin API
As one of the first plugins for IBrowse, the FlashPlayer plugin uncovered
some bugs and limitations in the IBrowse plugin interface. These will be
addressed in future versions of IBrowse, but IBrowse 2.4 users will need
to keep them in mind. Details are included in the documentation.
- Resource-intensive
While the flash files themselves can be small, decoding and presenting
them requires lots of memory and lots of processor cycles. This is in
addition to the cycles that IBrowse itself needs to download and present
the rest of the web page. A fairly high-end system is required to make
practical use of the plugin, and even a 68060 is unable to play most
animations at their intended speed (or to play streaming sound without
dropouts).
- No printing
The IBrowse plugin interface does not currently support printing, so
printing (via Postscript) a web page with a flash animation will result
in blank space where the animation is supposed to be.
Requirements:
-------------
The FlashPlayer plugin requires at least version 2.4 of IBrowse (earlier
versions do not have an operational plugin interface).
As does IBrowse, the FlashPlayer plugin requires at least AmigaOS 3.0, and
a 68020 or better processor. The FlashPlayer plugin requires an FPU, and
guigfx.library and render.library (both included). It makes use of, but does
not require, AHI.
The FlashPlayer plugin is not available for the PowerPC, as I don't have a
PPC system to develop it on; however it runs under emulation on AmigaOS 4.
Author:
-------
Mike Steed
72207.463 compuserve.com
SWF library written by Olivier Debon; modified by Mike Steed
|