~songofacandy/swfmill/dtoa

« back to all changes in this revision

Viewing changes to README

  • Committer: Daniel Cassidy
  • Date: 2009-10-27 10:53:01 UTC
  • mfrom: (256.1.8 update-docs)
  • Revision ID: mail@danielcassidy.me.uk-20091027105301-7hi773yo32dsphbl
Update README, HACKING, NEWS, AUTHORS to reflect the last two years' changes. Remove obsolete/useless documentation, and remove use of Subversion keyword substitution.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
$Header: /home/dan/cvs/swfmill/README,v 1.12 2005/05/29 19:32:15 dan Exp $
2
 
 
3
1
 
4
2
WHAT IS SWFMILL?
5
3
 
6
 
swfmill is a tool to process Shockwave Flash(TM) (SWF) files.
7
 
It can convert SWF from and to an XML-dialect called "swfml", 
8
 
which is closely modeled after the SWF file format.
9
 
 
10
 
It also provides a libxslt-based XSL transformator that
11
 
supports an extension ("swft") which helps with generating
12
 
IDs for SWF objects and can import an SWF as XML using an
13
 
XPath command (swft:document()).
14
 
 
15
 
As a simple application of such functionality, swfmill can
16
 
pack together a bunch of media files (jpeg and png images,
17
 
other SWF movies, TrueType fonts) into an SWF as "library 
18
 
objects" for your attachMovie() pleasure.
 
4
swfmill is a tool to process Shockwave Flash(TM) (SWF) files. It can convert
 
5
SWF from and to an XML-dialect called "swfml",  which is closely modeled after
 
6
the SWF file format.
 
7
 
 
8
It also provides a libxslt-based XSL transformator that supports an extension
 
9
("swft") which helps with generating IDs for SWF objects and can import an SWF
 
10
as XML using an XPath command (swft:document()).
 
11
 
 
12
As a simple application of such functionality, swfmill can pack together a
 
13
bunch of media files (jpeg and png images, other SWF movies, TrueType fonts)
 
14
into an SWF as "library  objects" for your attachMovie() pleasure.
19
15
 
20
16
 
21
17
WARNING
22
18
 
23
 
swfmill is alpha-quality software. It might well not work
24
 
as it should. Please report your experiences if that seems
25
 
to be the case, send in (if possible small) SWFs or patches.
 
19
swfmill is alpha-quality software. It might well not work as it should.
 
20
Please report your experiences if that seems to be the case, send in (if
 
21
possible small) SWFs or patches.
 
22
 
 
23
You can report bugs or contribute patches via Launchpad at
 
24
http://bugs.launchpad.net/swfmill/+filebug
26
25
 
27
26
 
28
27
DEPENDENCIES
29
28
 
30
29
swfmill requires, and the windows binary release contains
31
30
code from:
32
 
        libxml2  - (C) 1998-2003 Daniel Veillard. 
33
 
        libxslt/exslt
34
 
             - (C) 2001-2002 Daniel Veillard.
35
 
        zlib     - (C) 1995-2004 Jean-loup Gailly and Mark Adler.
36
 
        freetype - (C) 1996-2000, 2002, 2004 David Turner, 
37
 
                       Robert Wilhelm, and Werner Lemberg.
38
 
        libpng   - (C) 2004 Glenn Randers-Pehrson.
39
 
        
40
 
my references to the SWF format were:
41
 
        Alexis' SWF Reference 
42
 
                http://sswf.sourceforge.net/SWFalexref.html
43
 
        SSWF sources
44
 
                http://sswf.sourceforge.net/
45
 
        MTASC sources
46
 
                http://mtasc.org/
47
 
 
 
31
    
 
32
    libxml2         — © 1998–2003 Daniel Veillard.
 
33
    libxslt/exslt   — © 1998-2003 Daniel Veillard.
 
34
    zlib            — © 1995-2004 Jean-loup Gailly and Mark Adler.
 
35
    freetype        — © 1996-2000, 2002, 2004 David Turner,
 
36
                      Robert Wilhelm, and Werner Lemberg.
 
37
    libpng          — © 2004 Glenn Randers-Pehrson.
 
38
    
 
39
My references to the SWF format were:
 
40
    
 
41
    Alexis' SWF Reference 
 
42
        http://sswf.sourceforge.net/SWFalexref.html
 
43
    
 
44
    SSWF sources
 
45
        http://sswf.sourceforge.net/
 
46
    
 
47
    MTASC sources
 
48
        http://mtasc.org/
 
49
    
 
50
    SWF File Format Specification
 
51
        http://www.adobe.com/devnet/swf/
 
52
    
48
53
 
49
54
COMPILING AND INSTALLING
50
 
        
51
 
on linux, use the "GNU-standard"
52
 
        ./configure && make && make install
53
 
 
54
 
on windoze, if you have use for a tool like this,
55
 
you know better than me where to put swfmill.exe.
56
 
        
57
 
        
 
55
 
 
56
On Linux, use the "GNU-standard"
 
57
    
 
58
    ./configure && make && make install
 
59
    
 
60
On Windows, if you have use for a tool like this, you know better than me
 
61
where to put swfmill.exe.
 
62
 
 
63
 
58
64
USAGE
59
65
 
60
66
see swfmill -h for general usage options.
61
67
 
62
68
convert an SWF (foo.swf) to XML:
63
 
        swfmill swf2xml foo.swf bar.xml
64
 
        
 
69
    
 
70
    swfmill swf2xml foo.swf bar.xml
 
71
    
65
72
convert such XML to SWF:
66
 
        swfmill xml2swf bar.xml meep.swf
 
73
    
 
74
    swfmill xml2swf bar.xml meep.swf
 
75
    
67
76
 
68
77
 
69
78
SIMPLE SWFML DIALECT
70
79
 
71
 
for library generation, and probably other fun swf
72
 
construction, swfmill supports a simplified XML
73
 
dialect. to create a library swf that includes some
74
 
assets, construct an XML file that looks like this:
75
 
 
76
 
<?xml version="1.0" encoding="iso-8859-1"?>
77
 
<movie width="320" height="240" framerate="12">
78
 
        <background color="#ffffff"/>
79
 
 
80
 
        <frame>
81
 
                <library>
82
 
                        <clip id="jpg" import="library/testjpg.jpg"/>
83
 
                        <clip id="png" import="library/testpng.png"/>
84
 
                        <clip id="swf" import="library/shape.swf"/>
85
 
                </library>
86
 
        
87
 
                <font id="vera" import="library/vera.ttf"
88
 
                        glyphs="abcdefghijklmnopqrstuvwxyz"/>
89
 
        </frame>
90
 
</movie>
91
 
 
 
80
For library generation, and probably other fun SWF construction, swfmill
 
81
supports a simplified XML dialect. to create a library swf that includes
 
82
some assets, construct an XML file that looks like this:
 
83
    
 
84
    <?xml version="1.0" encoding="iso-8859-1"?>
 
85
    <movie width="320" height="240" framerate="12">
 
86
      <background color="#ffffff"/>
 
87
      
 
88
      <frame>
 
89
        <library>
 
90
          <clip id="jpg" import="library/testjpg.jpg"/>
 
91
          <clip id="png" import="library/testpng.png"/>
 
92
          <clip id="swf" import="library/shape.swf"/>
 
93
        </library>
 
94
        
 
95
        <font id="vera" import="library/vera.ttf"
 
96
            glyphs="abcdefghijklmnopqrstuvwxyz"/>
 
97
      </frame>
 
98
    </movie>
 
99
    
92
100
and run swfmill:
93
 
        swfmill simple <the-xml-above.xml> output.swf
94
 
        
95
 
output.swf should now contain the specified assets (the jpg,
96
 
pngs, other swf and font) specified.
 
101
    
 
102
    swfmill simple <the-xml-above.xml> output.swf
 
103
    
 
104
output.swf should now contain the specified assets (the JPG, PNGs, other
 
105
SWF and font) specified.
97
106
 
98
107
Some notes:
99
 
        * the file paths in the simple xml are relative to
100
 
          where you start swfmill.
101
 
        * any <clip import=".."/> that is placed within a
102
 
          <library/> tag will be exported for attachMovie
103
 
          with linkage id == their id attribute. for the above
104
 
          example, you can attach library/testjpg.jpg with:
105
 
                _root.attachMovie("jpg","foo",1);
106
 
        * the font is available by its id also, and will contain
107
 
          only the characters specified in its glyph attribute.
108
 
          make sure you specify the correct encoding in the
109
 
          <?xml?> processing instruction for special characters.
110
108
 
 
109
 * The file paths in the simple XML are relative to where you start swfmill.
 
110
   
 
111
 * Any <clip import=".."/> that is placed within a <library/> tag will be
 
112
   exported for attachMovie with the ID attribute as the linkage ID. For the
 
113
   above example, you can attach library/testjpg.jpg with
 
114
       
 
115
       _root.attachMovie("jpg", "foo", 1);
 
116
       
 
117
 * The font is also available by its ID, and will contain only the characters
 
118
   specified in its glyph attribute. Make sure you specify the correct
 
119
   encoding in the XML declaration for characters outside the ASCII range.
 
120
   
111
121
 
112
122
SHARED LIBRARIES
113
123
 
114
 
swfmill supports both generation and use of shared libaries.
115
 
To generate a shared libary, simply put your assets in a 
116
 
<library/> tag just as for attachMovie (see above).
 
124
swfmill supports both generation and use of shared libaries. To generate a
 
125
shared libary, simply put your assets in a  <library/> tag just as for
 
126
attachMovie (see above).
117
127
 
118
 
To use a shared library, the library swf has to be available
119
 
both locally and under its "public" URL. Assuming you have
120
 
put your library on http://foo.com/library.swf, and the swf
121
 
is also in the library/ subdirectory of where you run
122
 
swfmill, put this in your definition XML:
123
 
        <import file="library/library.swf" 
124
 
                        url="http://foo.com/library.swf"/>
125
 
That should import all symbols that are exported in
126
 
library.swf, so they should be available under their name
127
 
with attachMovie(). Note: this only works with proper
128
 
assets, not with fonts. If you know how to use a font
 
128
To use a shared library, the library swf has to be available both locally
 
129
and under its "public" URL. Assuming you have put your library on
 
130
http://foo.com/library.swf, and the SWF is also in the library/ subdirectory
 
131
of where you run swfmill, put this in your definition XML:
 
132
    
 
133
    <import file="library/library.swf"
 
134
        url="http://foo.com/library.swf"/>
 
135
    
 
136
That should import all symbols that are exported in library.swf, so they
 
137
should be available under their name with attachMovie(). Note: this only
 
138
works with proper assets, not with fonts. If you know how to use a font
129
139
from a shared library, please tell me.
130
140
 
131
141
 
132
142
COPYRIGHT
133
 
        swfmill is (C) 2005, daniel fischer.
134
 
        swfmill is licensed to you under the GPL.
135
 
        see COPYING for details.
136
 
        
137
 
 
138
 
GETTING (INVOLVED)
139
 
 
140
 
        updates and stuff will be available at:
141
 
                http://iterative.org/swfmill/
142
 
 
143
 
        to praise or complain, send mail to:
144
 
                dan@subsignal.org
145
 
 
146
 
        there is a mailing list for swfmill on osflash.org:
147
 
        http://osflash.org/mailman/listinfo/swfmill_osflash.org
148
 
 
 
143
 
 
144
Copyright © 2005–2007 Daniel Turing.
 
145
Copyright © 2005–2009 swfmill contributors (see AUTHORS).
 
146
 
 
147
swfmill is free software; you can redistribute it and/or modify it under the
 
148
terms of the GNU General Public License version 2, as published by the Free
 
149
Software Foundation. See COPYING for details.
 
150
 
 
151
 
 
152
GETTING INVOLVED
 
153
 
 
154
Updates and stuff will be available at the swfmill homepage:
 
155
    
 
156
    http://www.swfmill.org/
 
157
    
 
158
There is a mailing list for swfmill hosted by osflash.org:
 
159
    
 
160
    http://osflash.org/mailman/listinfo/swfmill_osflash.org
 
161
    
 
162
The latest development source code can be retrieved via Launchpad and the
 
163
Bazaar version control system:
 
164
    
 
165
    bzr branch lp:swfmill
 
166
    
 
167
Report bugs or submit patches via Launchpad:
 
168
    
 
169
    http://bugs.launchpad.net/swfmill/+filebug
 
170