If you have a question you need answered, please join the Ming developers mailing list and ask there, as that's the best way of getting our attention. If you've got both a frequently asked question and an answer, though, feel free to add it here.

How do I install Ming?

See Ming_Installation for full details.

Then, to find out how to install the Ming extensions for PHP/Perl/Ruby/Python/whatever, see Installing_Language_Bindings.

Through what license is Ming available?

Ming core library is under the LGPL license, as mentioned on the SourceForge project page. Ming's command line ActionScript compiler (makeswf) is distributed under the GPL license.

Why do I get an error about non-existent classes?

Because Ming hasn't been installed correctly. The class doesn't exist because PHP never loaded the Ming classes into itself. If you're automatically loading php_ming.so from your module directory, make sure you've got 'extension=php_ming.so' in your php.ini file. Also, check the output of php's phpinfo() command. Not that that'll tell you what's wrong, but it'll show you that Ming isn't getting loaded.

You'll probably need to re-compile and re-install Ming again. If you're having trouble with the 0.3a version of Ming, try compiling with support for GIF and PNG.

Do you know of any webhosts who have Ming?


http://www.hostrocket.com (has free hosting)
http://www.primehosting.co.uk (uk host with php + rails)

What are people doing with Ming?

See Websites_using_Ming for examples.

Can you manipulate existing SWF files with Ming?

No. Ming is most useful, I believe, in conjunction with the Flash loadMovie command- any dynamic content you need can be loaded into a parent movie..

The Ming source package includes utilities to build programs that transform SWF files to a text form (listswf) or sourcecode (currently swftocxx, swftoperl, swftophp, swftopython, and swftotcl are currently available)

The parsing and output to complete sourcecode that creates the same swf back is still incomplete. So don't assume too much at the moment. But you can help to complete that task. :-)

Ming also includes a "SWFPrebuiltClip" class which can be used to load existing SWF files, which can be manipulated with help of actionscript thru "SWFAction" class.

Can you use Ming to turn SWF files into bitmaps (JPG, GIF, PNG...)?

No. Sorry. One possibility is Flirt. It generates PNG out of SWF, but has some limitations.

It may also be possible to use or modify Gnash (http://www.gnu.org/software/gnash/) for this (unsure), because it is an open source flash player, that has to render each frame.

Aren't Ming and Flash enemies?

Maybe, I dunno. I liked the name. Maybe there's a homoerotic subtext there. (Actually, all I remember from the movie was somebody putting their hand in a rock and green blood. And that awful, awful song.) If that bothers you, just think of vases and ancient China.

What are FDB files? Where do I find them? How do I use them?

FDB files are fonts in a format that Ming can use.

The Ming-Fonts package includes the Bitstream Vera font family in FDB format, and you're legally allowed to use them in the Flash files you create:

Fonts in .bz2 format
Fonts in .tar.gz format
Fonts in .zip format

Alternatively, you can convert existing ttf (TrueType font) files to FDB format by using ttf2fft then makefdb.

Why can't I use onClipEvent()?

It's all in the SWFSprite::addAction($action, $flags); function- just pass SWFACTION_ENTERFRAME in for the flags arg. The reason it's different from flash is that the action is added to the PlaceObject block, not a normal action block. And the compiler doesn't know what context you're running it in- that you're compiling code for a sprite instead of a frame or a button or whatever.

It's kinda weird, I know. Making it work like flash would probably require some really ugly hacks, though, and probably reduce the flexibility of Ming..

Does Ming have anything at all to do with MNG (Motion Network Graphics, or something like that..)?

Nothing at all. Sorry for the confusion.

And nothing to do with m i n G W either.

Why is it giving me Fatal Error: Unrecognised Character when attempting to add Actionscript to something?

Nobody knows for sure yet, but making sure you've set Ming to use the correct version (4 or 5) and/or putting the actionscript into a variable first, then referencing the variable when you add the AS have been known to work. Also make sure you have not used any non-ASCII characters, such as £.

In many cases, it chokes on the carriage return character (0x0D). This can be avoided by using a single line for the actionscript; by replacing "\r" with "\n" before adding the ActionScript to the movie; or by saving the source code in Unix format.

How can I get a copy of the latest Ming development version from CVS?

Run these commands on a Unix system:

$ cvs -d:pserver:anonymous@ming.cvs.sourceforge.net:/cvsroot/ming login
$ cvs -z3 -d:pserver:anonymous@ming.cvs.sourceforge.net:/cvsroot/ming co ming

After you finish running those commands, you will have a copy of the latest Ming CVS in a directory called ming.

libming: MingFAQ (last edited 2009-06-25 03:09:41 by localhost)