Version Watch
SWFPlayer v1.4ß6

SWFPlayer

Standalone ShockWave Flash Player
Last modified
22 Sep. 2005
1. Description Intro | Bug | Use | Test | History | ToDo | Thanx | Download

It's a long time now since I last released a version of SWFPlayer, and as I have other projects preventing me to devote as much time as I would have wanted to SWFPlayer, I decided to release a public beta to the community to play with.
But be prepared to the fact it's not 100% working/stable and may have some remaining debug output. It's just to prove people I did not give up but rather I'm working on other projects monopolizing me.
See the History below for new features.
WARNING: This beta v1.4ß6 has been released to fix a playback rate in the previous public version, but it has problem with "streaming sound" (i.e. big sounds streamed over the flash movie) skipping some parts of it. Making the sound not synchronised with the video.

SWFPlayer is a standalone program that allows you to view MacroMedia's ShockWave Flash files on your Amiga. More and more websites are now using this format to make their site up.
This program is based upon libflash by Olivier Debon ( odebon@club-internet.fr) which is a GPL library responsible for the flash decoding. It's a long time however since this library evolved (Olivier stopped to work on libFlash after 0.4.10 release because MacroMedia provided is own player for Linux :-(

At the beginning, this project was just a quick rewrite of Paul Hill's version (paul@lagernet.clara.co.uk) to update it to the latest libflash available. No bug fix was done in this first time, BUT with time, demand and feedback from you dear users, SWFPlayer *slowly* evolved to this version.
Now there is a 68k and WarpOS versions, as well as OS4 version (thanks go to Edgar Schwan for this port).

Some time ago, at the beginning of 2004, Mike Steed released his own player based upon Olivier's libflash, I'm happy to announce we are in contact and we found an agreement : for now we will still develop our own players BUT about libflash we will collaborate and share as far as possible.

2. Known problems/bugs Intro | Bug | Use | Test | History | ToDo | Thanx | Download

This player is still under development and may have some bugs. Currently, it can handle many Flash Files (.swf) regardless of the file version (1 to 4, with some 5/6/MX files), but part of some animations together with some Flash functionalities may not work correctly.
Here is a list of problems/bugs I'm aware of :

  • Rendering : shapes are not anti-aliased.
  • Sound support is preliminar, it's not always working good (especially with streaming sounds). I'll work on that for the 1.4 final version.
  • When OpenURL is present, SWFPlayer may send your browser incomplete URLs : as SWFPlayer is an external player, it could not in any way know the base URL of the swf file, so swf files referencing other swf files without complete URL won't be loaded. :-( It's not a bug of SWFPlayer but a technical limit.
  • When OpenURL is present, strange URL can be sent to your browser (things like 'FSCommand:<xxx>') : this is a command flash movies can send when embeded into a browser (ie. when you have a flash plugin, which is not the case when you're using SWFPlayer) in order to pass some parameters. This is not really a bug of my program, as it's libflash recognizing this command and passing it back to my openurl function... I try to recongnize such URL and filter them out. If you encourter some, please tell me.
  • At least one person reported SWFPlayer does not work on a 68040LC (compilation option problem I think, but don't know which one...).
  • Some sort of problem on 8bit screens (I'm currently working on that)
  • Sometimes, sound is not synchronized with the movie. This problem is due to some skipping in the sound feeding routine. I'm trying to adress this.
  • SWFPlayer stops with a 'program aborted' message, this is not really a bug in the program, but your machine does not have enough ram to play the movie. Try to add the NOSOUND switch to the commandline, sometimes it helps. I can't really do anything about that.

Please don't bother Olivier nor Paul with bugs but report them directly to me so I can check if they come from libFlash or from my changes in the code.
It's better if you can put SWFPlayer in the mail subject and if you can send me reference of the swf files from which the problem appeared first.
Alternatively, you can use the Bug Tracker System I set up, but only if you are previously registered to me.

3. Using SWFPlayer Intro | Bug | Use | Test | History | ToDo | Thanx | Download

The player can be launched directly from the command line, or added as an 'external viewer' to your web browser. From the command line SWFPlayer has some options:

FILE The name of the file to play.
PUBSCREEN The name of the public screen to open on (e.g. IBrowse). Note that this tells SWFPlayer to open on an allready opened public screen, this will in *no way* open a new screen.
NOSOUND Disable the sound output.
MAXWIDTH The maximum width window to use to play the animations. This is usefull to limit the size on lower resolution Amigas. Smaller window size play back faster too.
MAXHEIGHT The same as MAXWIDTH but specifies the maximum height of the window.
ACTIVEPLAY Only play animations while the window is active. When inactive SWFPlayer goes to sleep.
NOCGFX Force SWFPlayer to use OS functions to render animation instead of CGFX ones even if CGFX is found on the system.

Some examples:

            SWFPlayer amiga.swf
            SWFPlayer amiga.swf PUBSCREEN aweb
            SWFPlayer amiga.swf PUBSCREEN aweb MAXWIDTH 640 MAXHEIGHT 480
            
Adding SWFPlayer as an external viewer in your browser
AWeb Under preferences -> Browser Settings -> MIME Types:
                  Type: application/futuresplash
                  Mime:spl         Action: Ext. Viewer
                  Name: [path to SWFPlayer]/SWFPlayer
                  Arguments:%f

                  Type: application/x-shockwave-flash
                  Mime:swf         Action: Ext. Viewer
                  Name: [path to SWFPlayer]/SWFPlayer
                  Arguments:%f
                
You may wish to include additional parameters in the arguments section.
IBrowse 1.x Under preferences -> General -> Ext. Viewer add the following:
                  Type: application/futuresplash
                  Mime:spl
                  Action: Ext. Viewer
                  Viewer: [path to SWFPlayer]/SWFPlayer
                  Arguments:%f

                  Type: application/x-shockwave-flash
                  Mime:swf
                  Action: Ext. Viewer
                  Viewer: [path to SWFPlayer]/SWFPlayer
                  Arguments:%f
                
You may wish to include additional parameters in the arguments section.
IBrowse 2.x To be written.
IBrowse² Under preferences -> General -> Ext. Viewer add the following:
                  MIME Type: application/futuresplash
                  Extension: spl
                  Action: External viewer
                  Viewer: [path]/SWFPlayer
                  Arguments: >NIL: "%f" PUBSCREEN %p

                  MIME Type: application/x-shockwave-flash
                  Extension: swf
                  Action: External viewer
                  Viewer: [path]/SWFPlayer
                  Arguments: >NIL: "%f" PUBSCREEN %p
                
You may wish to include additional parameters in the arguments section.
Voyager To be written.

Using OpenURL on OS4
 As you probably know, there is no OS4 version of OpenURL, however SWFPlayerOS4 has support for it. So what is the point ?
In fact you can use the 68k version of OpenURL but you should put a special file to let the SWFPlayerOS4 access it. This file should contain the necessary things the new OS4 library system adds.
What I'll describe here is right for any 68k library you want to make accessible by native OS4 programms.
You should put (or create if you have enough knowledge) a file nammed OpenURL.l.main close to the 68k library (for a "foobar.library", the file would have been "foobar.l.main"). About OpenURL you could find one in the Yam directory of your OS4 CD but I don't remember which version it relates to.

4. Tested On... Intro | Bug | Use | Test | History | ToDo | Thanx | Download

  • A1200 BPPC 603e+ (68040@25 & PPC 603@160), 128MB Fastram, OS3.9BB2, BVPPC and CGFX3 (me),
  • AmigaOne XE (G4@800), 512MB, OS4.0(pre3), Radeon 9200SE/128MB, SB Live 5.1 (me),
  • WinUAE (AMD Sempron 2800+ emulating 68040), 128MB Fastram, OS3.9, Picasso (me),
  • A1200 BPPC 603e+ (68040@25 & PPC 603@240), 96MB Fastram, OS3.9, Voodoo 3 and CGFX4 (Jürgen Sperling),
  • A1200 Blizzard 1230 IV (68030/68882@50), 32MB Fastram, OS3.9 (Raul Silva),
  • A1200 A1230 (68030/68881@40), 20MB Fastram, OS3.9, AGA (Jean Marie Boucher)
  • A1200 Blizzard 1240 (68040@40), 64MB Fastram, OS3.9BB2, AGA (Todd Oberly)
  • A1200 BPPC 603e (68040@40 & PPC 603@225), 128MN Fastram, OS3.9, BVPPC and CGFX4 (Dari®)
  • A1200 1230 IV@50, 16MB Fastram, OS3.9 (Ulrich Scholz)
  • A1200 Apollo1260@64, 64RAM, OS3.9BB2, MagellanII, MCP (DARK)
  • Amithlon (Markus Lunk)
5. History Intro | Bug | Use | Test | History | ToDo | Thanx | Download

1.4ß6 14 Sep
Fix playback rate problem (too fast)
1.4ß5 06 Sep
Fix mouse pointer problem (Todd Oberly)
Add support for direct playing of exe packed files
Fix opening of 'Test' window in WB launch (Todd Oberly)
Update zlib to version 1.2.2
Add Drag'N'Drop support (Markus Lunk)
Add Control-C support (Todd Oberly)
Rework main loop again
Introduce memory manager
Add a completely new sound support (may not work well under WOS)
Speed up refreshing a bit
Finally get rif of the resizing bug with flash movies too big for screen (Raul Silva)
Rework decompression code to let it be more incorporated (freely inspired by Mike Steed code)
Fix possible hang on open screen/window error
Add SWF filename in window title
Add 'STEP' menu command (Mike Steed)
Update LibFlash to version 0.4.13
Port the new v1.4 code to OS4 myself
Correct the color switch problem under Picasso96 with BGR screenmodes
Add support for 16 bits screens
Correct a bug which prevent exit on at least the 68k
Add a m68060 special version
Fix correct detection of the graphic system (without the NOCGX switch)
Fix for error "Improper call to JPEG library in state 202", thanks to Mike Steed
1.3 update 3 04 Oct 2004
Repacked archive with faster OS4 version by Edgar Schwan
1.3 update 2 11 Aug 2004
Repacked archive with OS4 port by Edgar Schwan
1.3 update 1 26 Feb 2004
Repacked archive with updated icons to correctly credit Raul Silva
1.3 03 Jan 2004
Fixed crash on exit in some circumstances
Add Some cleanup mechanism
Fixed a stupid hit on file requester opening (Dari®)
Reworked play loop again
Added a better zoom support
Add Workbench launching support
Add Workbench tooltip support
Add program Icon and project Icon
Reworked main makefile and libflash makefile to unify m68k and PPC compilation
Fixed bad menu look (1.x black look) (Todd Oberly)
Add compressed movie play support
1.2e 04 Jun 2003
keep window the same ratio the movie has
added URL filtering : FSCommand no more sent to browser
changed website address in requester
added NOCGFX switch to command line
Add compressed flash movie detection (but not yet reading :-(
Fixed bug preventing movie to freeze sometimes
Added drawer remember in ASL requester (Mathias Parnaudeau)
1.2d2 27 Dec 2002
Oops, removed some debug info in PPC version ;-)
Oops again, desactivated some beta code which can crash SWFPlayerPPC
1.2d 20 Dec 2002
finally fixed stupid bug preventing SWFPlayer to close in some circumstances
added OpenURL support in PPC version ;-)
added open command in menu
SWFPlayer works again on 8bits screen ;-))
updated zlib files to version 1.1.4
1.2c 07 Nov 2002
added loop play option
PPC version (at least ;-))
improved makefiles a bit
1.2b 19 Sep 2002 should correct problem with cpu other than 68040, and crash on exit
1.2a 28 Aug 2002 oops, forgot some debug output !!
1.1x 23 Feb 1999
22 Mar 1999
Versions by Paul Hill

6. To Do Intro | Bug | Use | Test | History | ToDo | Thanx | Download

As I stated before, this player is still under development, here, you'll find a list of things I'm planning to add in SWFPlayer. Version numbers stand for the version in which I plan to support the feature. Currently supported features are removed from this list (as this is a TODO list ;-)

  • Correct problem with 8 bits screens (v1.4).
  • Filter out strange URLs (v1.4-...).
  • Improve audio support (v1.4-...).
  • Add better Flash support (v1.4-...).
  • Add scrollbars to the window (v2.0) (Raul Silva).
  • Make plugin for browsers (AWeb first) (v2.x) (everybody ;).
  • .....

Feel free to drop me a mail for a feature you'd like to see in SwfPlayer but which is not listed above.

7. Thanks to Intro | Bug | Use | Test | History | ToDo | Thanx | Download
  • Raul Silva for his continous feedback and his contribution to SWFPlayer icons.
  • Mike Steed for his friendness and his great job upon libflash.
  • Special thanks to Edgar Schwan for his port to OS4.
  • Gunnar Von Boehn for is constant support and feedback.
  • Steffen Haeuser for ppc-gcc and PPC compilation problems,
  • Stas Piskunoff, Mathias Parnaudeau, Ulrich Scholz, Markus Lunk for feedback, problem reports and ideas.
  • Alexander Niven-Jenkins, Daniel Westerberg, Pierre Giroux, Sigbjørn Skjæret, Raul Silva, Dari®, Luca Maraldi, Mark Ricketts, Tony Pascoal, Jean Marie Boucher, Jan-Erik Karlsson, Jürgen Sperling, Todd Oberly, Adelphe Bachelet, Chris Handley for feedback and problem reports,
8. Downloads Intro | Bug | Use | Test | History | ToDo | Thanx | Download
Stable versionPublic Beta version

Download swfplayer.lha swfplayer 1.3upd3

Download swfplayersrc.lha swfplayer 1.3 source code

Download swfplayer14b6.lha swfplayer 1.4ß6

Warning this is a beta version. You use it at your own risk, I could not be lead responsible for any damage direct or not caused by the use of this software to your computer, or the data it contains.
You should always prefer a stable version to a beta one unless, you have a good reason.