Hi Mark,

I'll implement directory and pattern based clip functionality.

Greetings,
Simon
--
Simon Wacker
www.simonwacker.com
www.as2lib.org
www.hq-heilbronn.de
www.flik-flak.de

----- Original Message ----- From: "Markus Cecot" <[EMAIL PROTECTED]> To: "Mark Winterhalder" <[EMAIL PROTECTED]>; "Open Source Flash Mailing List" <[email protected]>
Sent: Monday, June 27, 2005 11:19 AM
Subject: Re: [osflash] ANT Target for SWFMill


Hi Mark,

thanks to pointing out the link. i was aware about the ant tasks. but i wanted a task which creates a library.xml recursively by a given folder, instead of placing all needed assets in a buildfile. But you are right before i start to create a native java task i should eventualy modify the given tasks.

markus

Mark Winterhalder wrote:

Perhaps i will make a Java based ANT task if i
start to understand those strange filesets.


just in case you weren't aware of them yet, let me point you to the
ones Simon Wacker wrote before you duplicate the effort:
http://osflash.org/doku.php?id=ant#swf_mtasc_and_swfmill_ant_tasks

mark


On 6/27/05, Markus Cecot <[EMAIL PROTECTED]> wrote:

Hi folks,

i have rewritten my ANT file, i've posted few days ago.
in order to use you need to install BSF (http://jakarta.apache.org/bsf/)
and RHINO (http://www.mozilla.org/).
its easy to install and easy to configure with eclipse.
the target creates a library.xml file from scratch and inserts all files
located in a specific assets folder.
its still not the best solution because it is realy slow. on my machine
it takes 1-3 seconds including the swfmill
execution. But it works. Perhaps i will make a Java based ANT task if i
start to understand those strange filesets.

my last post was a little unfruitful because no one has posted a
feedback. So please send me a feedback.

for example you have the following folderstructure
/assets
   /core
      splash.png

the target would create a swfmilll library.xml file like this:
<?xml version="1.0" encoding="iso-8859-1" ?>
<movie width="800" height="600" framerate="31">
<background color="#ffffff"/>
<frame>
<library>
<clip id="core_splash_png" import="D:\workspace\assets\core\splash.png"/>
</library>
</frame>
</movie>

list of used properties
build                              the build folder
library                           folder where all assets are placed
library.file                      file name of the xml file to use with
swfmill
movie.width                  width of movie created by swfmill
movie.height                  height of movie created by swfmill
movie.framerate            framerate of movie created by swfmill
movie.bgcolor               background color of movie created by swfmill
flame.swfmill                 location of the swfmill executable
flame.mtasc.target         filename to create with swfmill ie test.swf


   <target name="precompile">
       <mkdir dir="${build}"/>
       <delete file="${library.file}"/>
       <script language="javascript"><![CDATA[
           importClass(java.io.File);

           var dir     = project.getProperty("library");
           var outFile = new File(project.getProperty("library.file"));

           var fs         = project.createDataType("fileset");
           fs.setDir(new File(dir));
           fs.setIncludes("**/*.swf");
           fs.setIncludes("**/*.png");

           var echo = project.createTask("echo");
           echo.setFile(outFile);
           echo.setAppend(true);

           var ds             = fs.getDirectoryScanner(project);
           var srcFiles     = ds.getIncludedFiles();

           createHeader();
           for (i=0; i<srcFiles.length; i++) {
               createClip(srcFiles[i]);
           }
           createFooter();

           function createHeader()
           {
               var w = project.getProperty("movie.width");
               var h = project.getProperty("movie.height");
               var fps = project.getProperty("movie.framerate");
               var bg = project.getProperty("movie.bgcolor");
               appendToFile('<?xml version="1.0" encoding="iso-8859-1"
?>\n');
               appendToFile('<movie width="' + w + '" height="' + h +
'" framerate="' + 31 +'">\n');
               appendToFile('<background color="' + bg + '"/>\n');
               appendToFile('<frame>\n');
               appendToFile('<library>\n');
           }

           function createClip(filename)
           {
               var id = filename.replace(".","_").replace("\\","_");

               appendToFile('<clip id="' + id + '" import="' + dir
+'/'+ filename + '"/>\n');
           }

           function createFooter()
           {
               appendToFile('</library>\n');
               appendToFile('</frame>\n');
               appendToFile('</movie>\n');
           }

           function appendToFile(msg)
           {
               echo.setMessage(msg);
               echo.perform();
           }

           ]]></script>

       <exec executable="${flame.swfmill}">
           <arg value="simple"/>
           <arg value="${library.file}"/>
           <arg value="${build}\${flame.mtasc.target}"/>
       </exec>
   </target>




_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org







_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org




_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to