Kinesis SoftwareKineticFusion

[Show Table Contents]

[Hide Table of Contents]

KineticFusion Documentation

Welcome to the KineticFusion documentation. The documentation is presented as a number of chapters, outlined below. At any time the Table of Contents can be displayed or hidden in a navigation frame on the left of your browser using the Table of Contents links at the top of each page.

Chapter Overview

Table of Contents

1 KineticFusion Overview1.1 KineticFusion Features1.1.1 ActionScript Features1.1.2 SWC Features1.1.3 Vector Shape Features1.1.4 Media Features1.1.5 Animation Features1.1.6 Extensibility Features1.1.7 GUI Features1.1.8 General Features1.2 RVML Representation2 Before You Start2.1 Set your Class Paths2.2 Set your SWC Component Paths2.3 Set Slash Syntax Support2.4 Set ActionScript Logging Options3 Quick Start Guide3.1 ActionScript 2.0 Class Analysis3.1.1 Configure error and warning messages3.1.2 Specify Additional Class Metadata3.2 Creating an SWF Movie3.2.1 Creating RVML Document by Decompiling3.2.2 Creating New RVML Documents3.2.3 Building the SWF3.2.3.1 Exclude classes3.2.3.2 Include Classes3.2.3.3 Class Reporting3.3 Decompiling SWF Movies4 Running KineticFusion4.1 The Java Environment4.1.1 The Java Runtime Environment (JRE)4.1.2 The Java Development Kit (JDK)4.1.3 Checking Your Java Version4.1.3.1 For Windows Users4.1.4 Java Application Execution4.1.5 Java Application Structure4.1.6 Running a Java Application4.1.6.1 Java and Application Properties4. Class Path Background Information4. Setting Configuration Options on the Command Line4.1.6.2 Non-Standard Options4.1.6.3 Application Main Class4.1.6.4 Application Options4.2 Running the KineticFusion Application4.2.1 Using the Predefined Windows Binary4.2.2 Running the KineticFusion JAR4.2.3 Using a batch file or shell script4.2.4 KineticFusion Options4.2.4.1 Command-Line Mode4. Supported Options4. Extra Windows option4.2.4.2 GUI mode4. Command line options4.3 Using KineticFusion with Ant5 Using The Server Component5.1 Processing Documents Using the Server API5.1.1 Compiling an RVML Document5.1.1.1 The RVML Input Document Specification5.1.1.2 The SWF Output Document Specification5.1.1.3 The Returned Results5.2 Processing SWF Movies5.2.1 The SWF Input Document Specification5.2.2 The RVML Output Document Specification5.2.2.1 Outputting RVML to a Text Stream5.2.2.2 Outputting RVML to a SAX Handler5.2.2.3 Defining Repository Parameters5.2.2.4 Defining Your Own Resource Repository5.3 Analyzing ActionScript Classes5.4 Generating RVML SAX Events5.4.1 Using the Server SAX Handler5.5 Configuring Logging5.5.1 Capturing Text Output5.5.1.1 Using a LoggingAppender5.5.1.2 Using The LogEventAppender5.5.1.3 Enabling the Console5.5.2 Logging ActionScript Messages5.6 Configuring the Server Component5.6.1 Configuration Sources5.6.2 The Configuration Manager5.6.3 Working With Configuration Properties5.6.3.1 Reading The Value of a Property5.6.3.2 Setting Property Values5.6.3.3 Adding Change Listeners5.6.3.4 PropertyType SubTypes5.6.4 Updating Properties in Bulk5.6.5 Setting ActionScript Warning Levels5.7 KineticFusion API Properties Summary5.8 KineticFusion Server API Documentation6 KineticFusion Graphical User Interface6.1 File Explorer6.1.1 Processing RVML files6.1.2 Processing SWF files6.1.3 Extracting SWC class hierarchies6.1.4 TrueType Font Processing6.1.5 Analyzing AS2.0 classes6.2 Class Analyzer6.2.1 Defining Class Paths6.2.2 Selecting Classes6.2.3 Analyzing Classes6.3 The output Tabs6.3.1 The console tab6.3.2 The ActionScript Warnings Tab6.4 Bookmarking Locations6.4.1 The BookMark Menu6.4.2 Bookmarking Folders From File Explorer6.4.3 Managing Bookmarks6.4.4 Bookmarks in the File Chooser6.4.4.1 Bookmarking Folders from File Chooser6.4.4.2 Using Bookmarks inside a File Chooser6.5 Menu Options6.5.1 KineticFusion Menu Bar6.5.1.1 File Menu6.5.1.2 Edit Menu6.5.1.3 View Menu6.5.1.4 Classes Menu6.5.1.5 Run Menu6.5.1.6 Help Menu6.6 Automatically saved settings6.6.1 Clearing saved settings7 SWF Movie Concepts7.1 Vector Symbols7.2 'Tweened' Symbols7.3 Text And Fonts7.4 Resources7.5 Button Symbols7.6 Movie Clips7.7 Scripting7.8 Timeline7.8.1 Stage7.8.2 Frames7.9 Importing and Exporting Symbols7.9.1 Exporting Symbols7.9.2 Import Symbols7.10 SWC Components8 Working With RVML Documents8.1 RVML User Guide8.1.1 Defining resources8.1.1.1 External Resources8. Images8. Sounds8. Video8. Fonts8. TrueType Fonts8.1.1.2 Resource Repositories8. File Repository8. Absolute File Repository8. URL Repository8.1.1.3 System Font Repository8.1.2 RVML Symbols8.1.2.1 Shape8.1.2.2 ImageShape8.1.2.3 MorphShape8.1.2.4 Button8.1.2.5 MovieClip8.1.2.6 EditField and Text Symbols8.1.3 KineticFusion Text Handling Features8.1.3.1 Font Overview8. Font Representation in RVML8. Using Previously Decompiled Fonts8. Using TrueType Fonts8. Using System Fonts8. Using Explicit Font Definitions8.1.3.2 KineticFusion Text Symbols8. EditField Element8. Text Element8.1.3.3 Browsing Font Resources8.1.3.4 Modifying Text Symbols8.1.4 Displaying Symbols and Animations8.1.5 Adding scripting8.1.6 Working With SWC Components8.1.6.1 Main Component Support Features8.1.6.2 Summary of SWC Component Configuration Options8. kinesis.components.path8. kinesis.components.resolve8. kinesis.components.logMissingAssets8. kinesis.components.ignoreAssets8.1.6.3 Adding SWC Components8. <Components> element8. <Component> element8.1.6.4 Referencing Component classes8.1.6.5 SWC Component Examples8.2 Importing and Exporting Symbols8.2.1 Exporting Symbols8.2.2 Importing Symbols8.3 Creating RVML From Existing SWF Movies8.3.1 The RVML File8.3.1.1 Document-Oriented Configuration Options8.3.1.2 RVML-Oriented Configuration Options8.3.2 Storing Resources8.3.2.1 Default Resource Repository8.3.3 Decompiling ActionScript8.3.3.1 Decompile as ActionScript Extracting ActionScript 2.0 Classes8. Excluding Known Classes8.3.4 Decompiling SWC components8.4 Putting it all Together8.4.1 DataSources8.4.2 ActionScriptSettings8.4.3 Repository8.4.4 ImportSymbols8.4.5 Components8.4.6 Definitions8.4.7 ExportSymbols8.4.8 InitClipActions8.4.9 Timeline8.5 Building the SWF Movie8.6 Automating the Build Process8.6.1 Use the command line arguments8.6.2 Use Ant8.6.2.1 Running KineticFusion in the Ant JVM8.6.2.2 Running KineticFusion in an External JVM9 Working with ActionScript9.1 Embedding ActionScript9.2 Referencing External ActionScript9.2.1 Using RVML 'src' Attribute9.2.2 Using '#include' directive9.2.3 Using ActionScript 2.0 Classes9.3 General ActionScript Configuration options9.4 Working with ActionScript Synthetic Functions9.4.1.1 __KFExtends( class, parentClass) __KFImplements(class, parentInterface, ...) __KFCasts( class, argument) ActionScript 1.0 Alternatives9.5 Working with ActionScript ActionScript Classes9.5.1.1 Class Structure9. Class ID9. Implementation9. Methods9. Implementation9. Fields9. Implementation9. Properties9. The 'set' Method9. The 'get' Method9. Implementation9.5.1.2 Locating a class9. User Class Path9. System Class Path9.5.1.3 Intrinsic Classes9. Representing ActionScript 1.0 Classes9.5.2 Integrating Classes into RVML9.5.2.1 Including unreferenced classes9.5.2.2 Excluding referenced classes9.5.2.3 Configuration options9. Class Path Options9. Class Caching Options9. Trace Statement Options9. Class Property Options9. Class Logging options9.5.3 Error Configuration9.5.3.1 Error Configuration Levels9.5.3.2 Error IDs9.5.3.3 Modifying the severity of an Error ID9.5.4 Using the Class Compiler9.5.4.1 Analyzing from the command line9.5.4.2 Analyzing using the GUI9.5.4.3 Class Caching9.5.4.4 Rebuilding Class Hierarchy9.5.5 Augmenting Class definitions with Metadata9.5.5.1 What is a Javadoc comment? Supported KineticFusion Tags9. The Abstract tag9. Abstract Classes9. Abstract Methods9. The Final tag9. Final Classes9. Final Fields9. Final Methods9. Final Properties9. The Const Tag9. Constant Fields9. The Signature Tag9. The Mixin Tag9.5.6 Trace Statement Processing9.5.6.1 Trace Statement Removal9.5.6.2 Trace Statement Replacement9.5.6.3 Tracing Alternatives10 RVML Reference10.1 RVML Reference Documentation (Frames)10.2 RVML Reference Documentation (Printable)10.3 RVML Examples10.4 Constructing Dynamic RVML Content10.4.1 Introduction to the Data Model10.4.2 External DataSource Types10.4.2.1 Java Property files10. Specifying non-string types10.4.2.2 XML Documents10. Using XPath10.4.2.3 User-defined JavaBeans10. Required constructor10. Passing initialization parameters10. Accessing properties10. Calling methods10.4.3 The Global Data Source10.4.3.1 Defining Global Variables10.4.3.2 Overriding on the Command Line10.4.4 Predefined Model Variables10.4.4.1 movie Variable10.4.4.2 Math Variable10.4.4.3 store Variable10.4.4.4 Using Attribute Expression Language Extensions10.4.4.5 Using Template Extensions10.4.5 Dynamic RVML Examples10.4.5.1 Simple Example Using Command Line Parameters10.4.5.2 Simple Example Using XML Data Source10.5 FreeMarker Documentation10.6 Extending RVML10.6.1 XML Processing Architecture10.6.2 How Does RVML Processing Work?10.6.3 Anatomy of an RVML SAX Handler10.6.3.1 The RVMLSaxContextType Context Object10.6.3.2 The RVMLHandlerAdapter class10.6.3.3 The Lifecycle of The ElementHandler Hierarchy10.6.3.4 Resetable Interface10. Attribute Processors10.6.4 Introduction to RVML Tag Libraries10.6.4.1 Tag Library Configuration10.6.4.2 Tag Library Factory Class10.6.4.3 Persisting an RVML SAX Handler10.6.5 Example of User-Defined Tag Libraries10.6.5.1 Using External Tag Libraries in RVML10.6.5.2 Adding Library Support to KineticFusion10.6.5.3 Creating An External Tag Library10. Creating The Factory Class10. Outlining The Tag Handler10. Adding a Single Child Handler for 'Event' Element10. Implement EventProcessorType in ComponentHandler10. Handle Component Initialization Parameters10. Adding the Component to the Timeline10.7 KineticFusion API Documentation11 Configuring KineticFusion11.1 Introduction to Configuration11.1.1 Command-line Properties11.1.2 Property Files11.1.3 Property Value Precedence11.2 KineticFusion Properties Summary11.2.1 General Properties11.2.2 General Repository properties11.2.2.1 Image Resource Properties11.2.3 RVML Output Properties11.2.4 SWF Output Properties11.2.5 Logging Properties11.2.6 ActionScript Properties11.2.6.1 ActionScript Parsing Properties11.2.6.2 ActionScript Code Generation Properties11.2.7 Component Properties11.2.8 Datasource Properties11.2.9 Template Properties11.2.10 Tag Library Properties11.3 KineticFusion Properties Details11.3.1 General Properties11.3.1.1 kinesis.preload11.3.2 General Repository properties11.3.2.1 kinesis.repository.directory11.3.2.2 kinesis.repository.isRelative11.3.2.3 kinesis.repository.overwrite11.3.2.4 kinesis.repository.relativePrefix11.3.2.5 kinesis.repository.systemFontPath11.3.2.6 kinesis.repository.defaultSystemFont11.3.2.7 Image Resource Properties11. kinesis.repository.storeJPEGExternal11. kinesis.repository.storeLosslessExternal11.3.3 RVML Output Properties11.3.3.1 kinesis.xml.dtdLocation11.3.3.2 kinesis.xml.outputBOM11.3.3.3 kinesis.xml.outputUTFComment11.3.3.4 kinesis.swf.inputEncoding11.3.3.5 kinesis.xml.outputFontDefinitions11.3.3.6 kinesis.xml.colorFormat11.3.3.7 kinesis.xml.outputOptionalBounds11.3.3.8 kinesis.xml.shortPlaceElements11.3.3.9 kinesis.xml.outputValidatingXML11.3.3.10 kinesis.actionscript.resolveSWFClasses11.3.3.11 kinesis.actionscript.storeDuplicateSystemClasses11.3.3.12 kinesis.actionscript.storeDuplicateUserClasses11.3.3.13 kinesis.actionscript.unicodeConstants11.3.3.14 kinesis.xml.unicodeEntities11.3.4 SWF Output Properties11.3.4.1 kinesis.swf.outputEncoding11.3.4.2 kinesis.swf.outputMetadata11.3.4.3 kinesis.swf.outputSymbolNames11.3.4.4 kinesis.xml.validate11.3.5 Logging Properties11.3.5.1 kinesis.logging.logFile11.3.5.2 kinesis.logging.appendFile11.3.5.3 kinesis.logging.logActionScriptToConsole11.3.5.4 kinesis.logging.format11.3.6 ActionScript Properties11.3.6.1 ActionScript Parsing Properties11. kinesis.actionscript.analyzeScripts11. kinesis.actionscript.useMetadata11. kinesis.actionscript.enableWarningMessages11. kinesis.actionscript.includePath11. kinesis.actionscript.logCachedClasses11. kinesis.actionscript.logParsedClasses11. kinesis.actionscript.packagesAreStable11. kinesis.actionscript.slashIDSupport11. kinesis.actionscript.systemClassPath11. kinesis.actionscript.useCachedClasses11. kinesis.actionscript.userClassPath11.3.6.2 ActionScript Code Generation Properties11. kinesis.actionscript.logLoadedClasses11. kinesis.actionscript.optimizeFunctions11. kinesis.actionscript.removeTraceStatements11. kinesis.actionscript.replaceTraceStatements11. kinesis.actionscript.setterReturnsValue11. kinesis.actionscript.warnBlockSize11.3.7 Component Properties11.3.7.1 kinesis.components.path11.3.7.2 kinesis.components.resolve11.3.7.3 kinesis.components.logMissingAssets11.3.7.4 kinesis.components.ignoreAssets11.3.8 Datasource Properties11.3.8.1 kinesis.datasources.globalLocation11.3.8.2 kinesis.datasources.globalType11.3.9 Template Properties11.3.9.1 kinesis.templates.templateRoot11.3.9.2 kinesis.templates.defaultEncoding11.3.9.3 kinesis.templates.defaultLocale11.3.9.4 kinesis.templates.logOutput11.3.10 Tag Library Properties11.3.10.1 kinesis.xml.tagLibraryConfigFile12 KineticFusion FAQ12.1 Question List12.1.1 Installation12.1.2 Running KineticFusion12.1.3 Integration12.1.4 General12.1.5 RVML12.1.6 RVML and SVG12.1.7 SWF12.1.8 ActionScript12.1.9 ActionScript Fonts12.1.11 Sounds12.2 Installation12.2.1 What is Java and do I need it?12.2.2 What Version of Java do I need?12.2.3 Do I need the Java Development kit?12.2.4 How do I install KineticFusion?12.2.5 How do I run KineticFusion?12.3 Running KineticFusion12.3.1 Can I use my favourite XML parser?12.3.2 Can I use KineticFusion with {Insert favorite Logging package here}?12.3.3 How can KineticFusion be configured?12.4 Integration12.4.1 Can KineticFusion be run as part of a script?12.4.2 Can I embed KineticFusion in my JavaServer?12.4.3 Can we get access to the KineticFusion source code?12.4.4 Can you provide a library API for creating SWF movies?12.5 General12.5.1 Why do you keep taking about 'documents' instead of 'files'? What's the difference?12.5.2 How are the decompiled symbols named?12.5.3 Why do some of my SWF images have red parts when there was no red in the original SWF image?12.6 RVML12.6.1 Who created RVML?12.6.2 Is there an RVML namespace?12.6.3 Can RVML support {favorite feature here}?12.6.4 Why is UpperCamelCase used for elements and lowerCamelCase used for attributes?12.6.5 Why is my compiled RVML a different size to the input SWF movie?12.6.6 Why do I get an error "WARN XMLModelReader - Uncommited symbol already resides at depth: XX"?12.7 RVML and SVG12.7.1 What is the difference between RVML and SVG?12.7.2 Can KineticFusion translate SWF to SVG?12.7.3 Can KineticFusion translate SVG to SWF?12.8 SWF12.8.1 What is SWF?12.8.2 Do you provide information on the SWF format?12.8.3 Is the SWF produced by KineticFusion compatible with that from other major authoring tool creators?12.8.4 How do I debug an SWF movie?12.9 ActionScript12.9.1 What is ActionScript?12.9.2 What versions of ActionScript does KineticFusion support?12.9.3 Does KineticFusion support ActionScript Slash notation?12.9.4 I get errors when decompiling ActionScript?12.9.5 Who owns the copyright to the decompiled ActionScript?12.9.6 My ActionScript works fine with Flash MX but generates errors in KineticFusion?12.9.7 Does KineticFusion support the #include directive?12.9.8 What is the maximum size of ActionScript code that can be placed in a single tag?12.10 ActionScript Why is there a separate System class path?12.10.2 My Macromedia classes still generate errors?12.10.3 So many error messages - how can I turn them off?12.10.4 Can I use KineticFusion as a Class Analyzer without writing RVML?12.10.5 How does KineticFusion resolve dependencies?12.10.6 How can I check that all dependencies are included in analysis and output?12.10.7 Can I include dynamic classes in my SWF i.e. those to which no explicit reference is made in ActionScript?12.10.8 I've changed a class on which another class depends, however KineticFusion is still using the cached copy?12.10.9 Why doesn't KineticFusion use a persistent class cache?12.10.10 Does KineticFusion support Ant tasks?12.10.11 I know my SWFs will be loaded into movies that already have the required classes. Can I prevent these classes from being output for a particular SWF movie?12.10.12 What is the maximum size of an ActionScript 2.0 class?12.10.13 I get the following message: Error processing class path - Too many non-as files on path: <Some Path >. What does this mean?12.11 Fonts12.11.1 Can Kinesis Software supply fonts for use with KineticFusion?12.11.2 Can existing SWF fonts be used when authoring with RVML?12.12 Sounds12.12.1 Why does my MP3 sound play at a lower pitch when added to an SWF?12.12.2 Does KineticFusion support WAV or other raw sound formats?12.12.3 Why does KineticFusion tell me there are multiple sound streams in an SWF?13 KineticFusion Change History13.1 KineticFusion Changes Since KineticFusion RVML Extensions13.1.2 ActionScript13.1.2.1 Metadata13.1.2.2 Intrinsic Classes13.1.2.3 Code Generation13.1.2.4 ActionScript 2.0 Analysis13.1.2.5 Tracing13.1.3 RVML Output13.1.4 Resources13.1.4.1 Fonts13.1.5 GUI13.1.5.1 ActionScript Processing13.1.5.2 Bookmarks13.1.5.3 Splash Screen13.1.6 Configuration13.1.7 Execution13.1.8 Installation13.1.9 Server13.1.10 Documentation13.2 Change Log13.2.1 Release 3.1.0b4 (09 July 2006) Bug Fixes13.2.2 Release 3.1.0b2 (16 January 2006) Bug Fixes13.2.3 Release 3.1.0 (Unreleased) Added or changed features13.2.3.2 Bug Fixes13.2.4 Release 3.0.2 (20 November 2005) Bug Fixes13.2.5 Release 3.0.1 (24 October 2005) Bug Fixes13.2.6 Release 3.0.0 (10 October 2005) Added or changed features13.2.6.2 Documentation13.2.6.3 Bug Fixes13.2.7 Release 3.0.0b10 (13 September 2005) Added or changed features13.2.7.2 Documentation13.2.7.3 Bug Fixes13.2.8 Release 3.0.0b9 (05 September 2005) Added or changed features13.2.8.2 Documentation13.2.8.3 Bug Fixes13.2.9 Release 3.0.0b8 (04 August 2005) Added or changed features13.2.9.2 Bug Fixes13.2.10 Release 3.0.0b7 (15 July 2005) Added or changed features13.2.10.2 Bug Fixes13.2.11 Release 3.0.0b6 (22 June 2005) Added or changed features13.2.11.2 Bug Fixes13.2.12 Release 3.0.0b5 (limited) Added or changed features13.2.12.2 Bug Fixes13.2.13 Release 3.0.0b4 (limited) Added or changed features13.2.13.2 Bug Fixes13.2.14 Release 3.0.0b3 (limited) Added or changed features13.2.14.2 Bug Fixes13.2.15 Release 3.0.0b2 (limited) Added or changed features13.2.15.2 Bug Fixes13.2.16 Release 3.0.0b1 (limited) Added or changed features13.2.17 Release 2.0.08 (04 April 2005) Added or changed features13.2.17.2 Bug Fixes13.2.18 Release 2.0.07 (07 March 2005) Added or changed features13.2.18.2 Bug Fixes13.2.19 Release 2.0.06 (18 February 2005) Added or changed features13.2.19.2 Documentation13.2.19.3 Bug Fixes13.2.20 Release 2.0.05 (13 December 2004) Added or changed features13.2.20.2 Bug Fixes13.2.21 Release 2.0.04 (15 November 2004) Added or changed features13.2.21.2 Bug Fixes13.2.22 Release 2.0.03 (24 September 2004) Added or changed features13.2.22.2 Bug Fixes13.2.23 Release 2.0.02 (28 August 2004) Bug Fixes13.2.24 Release 2.0.01 (10 August 2004) Added or changed features13.2.24.2 Bug Fixes13.2.25 Release 2.0 (26 July 2004) Added or changed features13.2.25.2 Bug Fixes13.2.25.3 Documentation13.2.26 Release 1.0.513.2.26.1 Added or changed features13.2.26.2 Bug Fixes13.2.27 Release 1.0.413.2.27.1 Added or changed features13.2.27.2 Bug Fixes13.2.27.3 Documentation13.2.28 Release 1.0.313.2.28.1 Added or changed features13.2.28.2 Bug Fixes13.2.28.3 Documentation13.2.29 Release General

Macromedia, Flash, Flash Player and the Flash Platform are trademarks or registered trademarks of Macromedia, Inc. in the United States and/or other countries.
Java, the Java Runtime Environment, and the Java Development Kit are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Kinesis Software Ltd is independent of Sun Microsystems, Inc.