FreeMovie

Table of Contents

  1. Introduction
  2. License
  3. FreeMovie/PHP
  4. FreeMovie/Ruby
  5. Downloading FreeMovie
  6. Mailing Lists
  7. Documentation
  8. The Macromedia Flash (SWF) File Format Specification
  9. Developers
  10. News
  11. Stats
  12. F.A.Q.

Introduction

This is the home page of the FreeMovie project. FreeMovie is a library for generating and parsing Macromedia Flash(tm) SWF files. It is an alternative to the official Macromedia Flash(tm) (SWF) file format SDK. The author's aim is to build a high-level API for generating SWF files in PHP and other languages, such as Perl, Python, Ruby, Tcl, or VB.Net. The main features of FreeMovie are TrueType-to-SWF font conversion (unstable), support for multiple bitmap image formats (JPEG-stable, TIFF-unstable, more to come), and a high-level drawing, sound and animation API (in works).

License

FreeMovie is free software licensed under the terms of the XFree86 (BSD-like) license, which does permit commercial uses of FreeMovie, including merging of FreeMovie code into commercial software:

Copyright (C) 2001 Jacek Artymiak

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to
whom the Software is furnished to do so, subject to the
following conditions:

The above copyright notice and this permission notice shall
be included in all copies or substantial portions of the
Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL JACEK
ARTYMIAK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of Jacek Artymiak
shall not be used in advertising or otherwise to promote the
sale, use or other dealings in this Software without prior
written authorization from Jacek Artymiak.

FreeMovie/PHP

The reference implementation of FreeMovie, known as FreeMovie/PHP is written entirely in PHP. Ports to other languages are planned for the near future (think of a few months, after we freeze the PHP reference code).

The library is as self-supporting as it is feasible, and does not rely on external PHP modules for around 99 percent of its functionality. The optional external modules it does need are very common on all good UNIX-like operating systems. Being free from dependencies on external code, FreeMovie can be used without the need to change the current web server configuration as long as the PHP interpreter, either compiled into the server or as a standalone binary, is available on your system. This makes the developer's and adminstrator's work much easier, because you can literally move FreeMovie and the scripts from one server to another within seconds.

Main features:

FreeMovie needs a PHP interpreter to run and it does not matter whether the interpreter is a standalone binary or a server module. If you can run basic PHP scripts on that machine, you can run FreeMovie on it.

You can download PHP from the official PHP Web site.

Developers who want to use lossless images in their Flash movies will possibly need to configure PHP with the --with-zlib option and build the PHP interpreter binary again. This adds support for the zlib compression library. Without it, the only bitmap images supported by FreeMovie are JPEG images without transparency mask.

Another optional library is md5, required to encode and decode passwords used to protect Flash SWF files. If you do not use that feature, there is no need to recompile PHP. If you do need it, configure PHP with the --with-mhash option and build it again.

All other FreeMovie functionality is available on every default PHP configuration.

FreeMovie/Ruby

The Ruby port is done by Rich Kilmer (thanks Rich!). You can discuss this port on the fm-ruby list (see below for details on how to join)

Downloading FreeMovie

You can download all releases of FreeMovie from the project download page.

Over 7,000 people have downloaded FreeMovie/PHP so far!

Mailing Lists

There are three mailing lists for the users of FreeMovie:

Documentation

Proper documentation for FreeMovie/PHP is coming soon. You just have to wait for it.

In the meantime, the O'Reilly Network published Jacek's introductory article about FreeMovie. You can find it here.

Do you want more articles about FreeMovie? Write to the Editors and tell them you want Jacek to write more articles about FreeMovie. You can find their e-mail addresses at the bottom of each page.

The Macromedia Flash (SWF) File Format Specification

For more information about the SWF file format go to devguide.net SWF site.

Developers

Planned Ports of FreeMovie

Will be done after we get basic PHP modules working.

Commercial Applications Using FreeMovie

Yes, there are some. More information coming soon.

News

You can find the latest project news here.

Project Statistics

You can find out how popular FreeMovie really is by checking the download statistics

F.A.Q.

The following questions have been asked over and over again, that's why I'm answering them here. If you need more answers, write to me.

  1. What functionality is available in FreeMovie 1.1?
  2. FreeMovie 1.1 can be used to construct Flash movies with vector and bitmap graphics and solid, gradient and bitmap fills and animations (including shape morphing).


  3. What functionality will be available in FreeMovie 2.0?
  4. FreeMovie 2.0 will add TrueType font converter and an SWF file parser. Intermediate releases, between 2.0 and 3.0 will add support for several bitmap image file formats.

  5. What functionality will be available in FreeMovie 3.0?
  6. FreeMovie 3.0 will have a native ActionScript-to-SWF compiler.

  7. Why do you provide paid support for FreeMovie?
  8. Because I need to eat. Free software itself doesn't buy me food, clothing and many other things I need to live. But the fact that I offer paid support for FreeMovie does not mean that I do not offer free support. I do. Simply join the FreeMovie mailing lists and you're set. Links to various mailing lists for different implementations of FreeMovie are shown above.

  9. Does the fact that you are writing a book mean that there will be no free information about FreeMovie available on-line?
  10. No. There will be a lot of information available on-line soon. I wrote articles for major on-line publishers and all you need to do now is wait for them to be published. I will let you know where to find them on this page, and via FreeMovie mailing lists.

  11. Doesn't asking to pay for support go against the free software philosophy?
  12. No. The software is free. My services aren't. And it has nothing to do with the philosophy of free software, but everything with my bank manager's view of the world.

  13. I'm writing a commercial application and I want to use FreeMovie in it. Do I have to release the source code of my application as open source? Do I have to pay you for using FreeMovie in my project?
  14. No. No. Download FreeMovie and read the license.

  15. I'm writing a commercial application. Will you help me write it?
  16. Yes. If you need relatively simple help, join the FreeMovie mailing lists and I'll answer your questions there for free. If you want a private communication channel off the mailing lists, then you'll have to pay for that priviledge. My rates are very competitive. Write for more information.

  17. I'm writing a non-profit application. Will you help me write it?
  18. Yes. See my answer to the previous question.

  19. Does it mean that you will not answer any questions sent to you private address without charging my credit card?
  20. No, answers to intelligent questions are always free :-). But I want invite everyone interested in FreeMovie to join the free mailing lists, where I do answer all sorts of questions about FreeMovie.

  21. Why do you answer questions on the mailing list for free, but ask to pay for answers given off list?
  22. Well, when I answer questions posted on a FreeMovie mailing list, the poster and I are sharing the knowledge with others and may learn something from others. We're working toghether as a community. When I'm helping develop a private project, whose authors do not want to discuss it in public, then it is called direct support and has to be paid for.

  23. We need a customized version of FreeMovie, will you help us write it?
  24. Yes, for a price. Write for more information.

The FreeMovie project is hosted on SourceForge.net

SourceForge Logo

All trademarks are the property of their respective owners.

Copyright (c) 2000-2003 Jacek Artymiak.