Ming -
an SWF output library and PHP module
|
7/23/00 new release 0.0.2c Many fixes (and probably lots of breaks, too) to the compiler, an swf->php utility added. It's not perfect, but it might help you see how php/ming works, 'specially the action script stuff.
7/20/00
ming-announce - announcements only, average one message a week.
7/11/00 Okay, I'll admit it, I know absolutely nothing about python. But that won't stop me from heaping enormous praise upon these fine folks who made a set of python wrappers for ming: http://www.elecomsolutions.com/noze/software/pming/ Anything that makes these infernal micro-computing machines more useful to us, the superior humans, is a very good thing.
7/10/00 Avoiding the obvious Shakespearean quandary over what version number to give this, here's what's new:
Getting an error when you compile? Something about yyparse call not matching function prototype? See below.
7/1/00 Actions are made from c-like script code with a swank little compiler- much, much faster than clicking through half a dozen menus and dialogs for every command you want. And there's plenty of exciting bugs to discover! Buttons are.. you know what buttons are: roll over 'em, click 'em. Now that's entertainment! Sprites (aka movie clips) are little movies inside your movie! Whoa! Morphs are those fancy twisting squiggles that are used in all the wrong places and make your computer crawl! (note: ming-0.0.2a requires php-4.0.1. If you really want to compile with 4.0.0, look in the ming.c file in the php_ext directory- see down there at the bottom, that bit of code that's commented out? Uncomment it, and comment the bit below it. Very good.) |
download latest version php documentation examples |
Ming README:
MING THE MODULE
It's an SWF output library. And it's a PHP module.
It lets you create: shapes (including morphs), text, sprites (aka movie
clips), buttons, and actions in flash movies. There's also a bit of mp3
streaming just for fun..
The library code comes in two parts: a set of functions only concerned
with writing a valid swf file, and a separate body of code to abstract out
the details of the SWF format. The idea is that one shouldn't need to
know anything about the SWF specification to make it work.
The PHP module wraps Ming objects in PHP objects. Pretty cool..
Ming is released under the LGPL. See file LICENSE for the gory details.
-dave@opaque.net
BUILDING and INSTALLING:
no fancy autoconf nonsense here, just raw old-fashioned Makefiles.
unpack the tarfile (which you've obviously already done)
make
mkdir <phpdir>/ext/ming
cp php_ext/* <phpdir>/ext/ming
cd <phpdir>
./buildconf
./configure --with-ming=<mingdir> <other config options>
build and install php as usual,
restart web server if necessary
USING MING:
Copy the examples from the examples directory to your web doc space.
Look at them with your web browser.
Make your own, better, examples and send them to me.
Ming appears to work fine on RH6.1 with PHP-4.0.0. YMMV, caveat emptor,
carpe diem, et cetera.
F(un)AQ:
Q: Is Ming related to the Macromedia(r) Flash(tm) file format (SWF) SDK?
A: Nope. I didn't really feel like being bound to the terms of their license,
whatever those are (couldn't make much sense of the legalese, really), so
this has been written from scratch using open documentation.
Q: Aren't Ming and Flash enemies?
A: 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.
Q: Where do I get FDB files?
A: You make 'em. They're just a crutch until Ming can read real font
formats like truetype and postscript. Read the docs.
Q: Does Ming have anything at all to do with MNG (Motion Network Graphics,
or something like that..)?
A: Look, we're sorry, okay? We just didn't realize.. Sure, it should
have been obvious, we know, but we weren't thinking. It was an
innocent mistake, and we deeply regret any confusion or inconvenience
we've caused. It won't happen again, we swear.
Q: Hey, hey, chin up- it's no big deal, really!
A: Aw, shucks, you mean it?
Q: Sure!
A: Heh. Sucker.
Q: I get this error when I'm compiling:
In function `yyparse':
bison.simple: number of arguments doesn't match prototype
A: You're using an older version of bison with a little bug in it. Either
upgrade to a newer version, or just change the following in your
bison.simple file (probably in /usr/lib or /usr/share):
/* Prevent warning if -Wstrict-prototypes. */
#ifdef __GNUC__
int yyparse (void);
#endif
should be replaced with:
/* Prevent warning if -Wstrict-prototypes. */
#ifdef __GNUC__
#ifdef YYPARSE_PARAM
int yyparse (void *);
#else
int yyparse (void);
#endif
#endif
Q: Is that safe?
A: Yeah, sure, whatever.
Macromedia(r) and Flash(tm) are trademarks or registered trademarks of
Macromedia, Inc. in the United States and/or other countries.
Macromedia(r) does not sponsor, affiliate, or endorse this product and/or services. Nor does China.
All content Copyright (C) 2000 Opaque Industries except where noted otherwise.