fixed leaking file descriptors (spritetool)
[swftools.git] / src / swfcombine.1
1 .TH swfcombine "1" "August 2009" "swfcombine" "swftools"
2 .SH NAME
3 swfcombine - a tool for combining swf (flash) files
4
5 .SH Synopsis
6 .B swfcombine [-rXYomlcv] [-f] masterfile [-xysf] [(name1|#id1)=]slavefile1 .. [-xysf] [(nameN|#idN)=]slavefileN
7 .PP
8 .B swfcombine [-rXYomv] --stack[1] [-xysf] [(name1|#id1)=]slavefile1 .. [-xysf] [(nameN|#idN)=]slavefileN
9 .PP
10 .B swfcombine [-rXYov] --cat [-xysf] [(name1|#id1)=]slavefile1 .. [-xysf] [(nameN|#idN)=]slavefileN
11 .PP
12 .B swfcombine [-rXYomlcv] --dummy [-xys] [file]
13
14 .SH DESCRIPTION
15 Take two or more SWF files, and combine them into a new SWF. SWFs can either
16 be stacked (no masterfile is present) or inserted (into the masterfile).
17 .PP
18 SWF files are animation files which can be displayed in Web Browsers using
19 the Flash Plugin.
20 .LP
21 For template mechanisms, it's often convenient to separate the processes
22 of generating small animation fragments and merging them into a big
23 movie. swfcombine can be used to perform the latter.
24
25 .SH OPTIONS
26 .TP
27 \fB\-o\fR, \fB\-\-output\fR \fIoutputfile\fR  
28     explicitly specify output file. (otherwise, output.swf will be used)
29 .TP
30 \fB\-t\fR, \fB\-\-stack\fR 
31     Don't assume the first file is a master file. Instead, store each
32     file in a seperate frame.
33 .TP
34 \fB\-T\fR, \fB\-\-stack1\fR 
35     place each slave in the first frame (no master movie)
36 .TP
37 \fB\-m\fR, \fB\-\-merge\fR 
38     Do not store the slave files in a sprite/MovieClip. Instead, merge the files frame by frame.
39 .TP
40 \fB\-a\fR, \fB\-\-cat\fR 
41     concatenate all slave files (no master movie)
42 .TP
43 \fB\-l\fR, \fB\-\-overlay\fR 
44     Don't remove any master objects, only overlay new objects
45 .TP
46 \fB\-c\fR, \fB\-\-clip\fR 
47     Clip the slave objects by the corresponding master objects
48 .TP
49 \fB\-v\fR, \fB\-\-verbose\fR 
50     Be verbose. Use more than one -v for greater effect 
51 .TP
52 \fB\-F\fR, \fB\-\-flashversion\fR 
53     Set the flash version of the output file.
54 .TP
55 \fB\-d\fR, \fB\-\-dummy\fR 
56     Don't require the presence of slave objects. Usually used together with \fB\-X\fR, \fB\-Y\fR or \fB\-r\fR.
57 .TP
58 \fB\-f\fR, \fB\-\-frame\fR 
59     The next slave replaces a frame, not an object. Therefore the slave identifier is a
60     frame number (#frame=) or frame label (framelabel=).
61 .TP
62 \fB\-x\fR, \fB\-\-movex\fR \fIxpos\fR        
63     x Adjust position of slave by \fIxpos\fR pixels
64 .TP
65 \fB\-y\fR, \fB\-\-movey\fR \fIypos\fR        
66     y Adjust position of slave by \fIypos\fR pixels
67 .TP
68 \fB\-s\fR, \fB\-\-scale\fR \fIscale\fR       
69     Adjust size of slave by \fIscale\fR percent (e.g. 100% = original size)
70 .TP
71 \fB\-r\fR, \fB\-\-rate\fR \fIfps\fR   
72     Force the output to have the framerate \fIfps\fR. (Otherwise, the framerate of the master file will be used)
73 .TP
74 \fB\-X\fR, \fB\-\-width\fR \fIwidth\fR       
75     Force movie bbox width to \fIwidth\fR (default: use master width (not with -t))
76 .TP
77 \fB\-Y\fR, \fB\-\-height\fR \fIheight\fR      
78     Force movie bbox height to \fIheight\fR (default: use master height (not with -t))
79 .TP
80 \fB\-N\fR, \fB\-\-local-with-networking\fR 
81     Make output file "local-with-networking"
82 .TP
83 \fB\-G\fR, \fB\-\-hardware-gpu\fR 
84     Set the "use hardware gpu" bit in the output file
85 .TP
86 \fB\-B\fR, \fB\-\-accelerated-blit\fR 
87     Set the "use accelerated blit" bit in the output file
88 .TP
89 \fB\-L\fR, \fB\-\-local-with-filesystem\fR 
90     Make output file "local-with-filesystem"
91 .TP
92 \fB\-z\fR, \fB\-\-zlib\fR \fIzlib\fR        
93     Use Flash MX (SWF 6) Zlib encoding for the output. The resulting SWF will be
94     smaller, but not playable in Flash Plugins of Version 5 and below.
95 .PP
96 .SH Combining two or more .swf files using a master file
97 Of the flash files to be combined, all except one will be packed into a sprite
98 structure (Movieclip) which will then be inserted into the master .swf file.
99 This means that, in terms of trees, when combining several flash files,
100 one will form the root of the tree, while the others will be
101 appended to the root as a subnode.
102 The user has to specify which of the files will become the root
103 of the tree ("master") and which will be the appended nodes ("slaves").
104 The slave files must all have a name, which is then used to determine
105 their exact position inside the master file.
106 The slave files will then be converted into sprites, inserted into the
107 master file, and all PlaceObject tags in the master file which match the
108 name of the slave file will be updated to correctly display the slave sprite.
109 The slave name may also be the object id, preceded by '#', in which case 
110 the object to be replaced is referenced by id and not by instance name.
111 .SH Combining (stacking) one or more .swf files without a master
112 The flash files will be inserted in seperate frames. They will still be
113 packed into Movieclips, therefore the outputfile will have exactly as many
114 frames as there were inputfiles. Also, the files don't need to have names.
115 If you want to access the Movieclips, their names are frameXX, where XX is
116 the decimal number of the file, starting by zero (00).
117
118 .SH EXAMPLES
119
120 Create two flash movies. Insert some rectangle into one of them, and give
121 it a name. (E.g. "foo") Now call
122
123 swfcombine -o combined.swf master.swf foo=slave.swf
124
125 As a result, the slave movie should be visible inside the master movie
126 at the position where the rectangle used to be.
127
128 .SH AUTHOR
129
130 Matthias Kramm <kramm@quiss.org>