Giter Site home page Giter Site logo

davestewart / xjsfl Goto Github PK

View Code? Open in Web Editor NEW
138.0 16.0 46.0 17.35 MB

Rapid development framework for extending Adobe Flash

Home Page: https://xjsfl.vercel.app

ActionScript 23.83% AppleScript 0.01% JavaScript 75.38% HTML 0.77%
jsfl jsfl-api flash adobe-flash adobe-animate adobe-animate-cc javascript

xjsfl's Introduction

xJSFL

Intro

xJSFL is an open source JSFL framework for creating tools and plugins for the Adobe Flash IDE

xjsfl-api

It combines the expressive nature and extensibility of a JavaScript framework like jQuery with the structure and file management features of PHP frameworks such as Kohana, to make working with JSFL easy.

Project status

I have not actively worked on xJSFL for many years now, so as of January 2022 I am mothballing the project.

The original xjsfl.com website has been moved to static hosting at xjsfl.vercel.app, which means that the search, site comments and forum no longer work, but the documentation is still accessible.

I have also made the xJSFL Komodo Extension public for the first time. The code is so old now, I suspect it won't run, but maybe someone would want to pick it up.

I think the only other thing to make public would be the original Snippets source code, which I can do on request.

However, I will not be providing any support or input into the project from now on.

I hope everyone who enjoyed using it at the time has fond memories!

Links

Documentation:

Source Code:

xjsfl's People

Contributors

davestewart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xjsfl's Issues

xJSFL does not run in Adobe Flash CC and Adobe Animate

Running the installer with Adobe Animate will result in this error when processing the xml.js file.

screenshot 2016-12-16 23 59 06

When you press OK, the script will continue to run generating this log:

=================================================================

           ██  █████ ██████ ██
           ██ ██     ██     ██
  ██ ██    ██  ████  █████  ██
   ███     ██     ██ ██     ██
  ██ ██ ████  █████  ██     █████

=================================================================

  The Rapid-Development Framework for Extending Adobe Flash

  @see licence at http://www.xjsfl.com/license

> xjsfl: INSTALLING xJSFL...
> xjsfl: loading proxy classes...
> xjsfl: loading xjsfl...

> xjsfl: LOADING CORE CLASSES...
> xjsfl: loading library: Globals
> xjsfl: loading library: Utils
> xjsfl: loading library: URI
> xjsfl: loading library: URIList

> xjsfl: LOADING SUPPORTING CLASSES...
> xjsfl: added 27 search paths for "c:/xxx/xxx/xJSFL/core/"
> xjsfl: loading library: JSFLInterface
> xjsfl: loading library: XUL
> xjsfl: loading library: File
> xjsfl: loading library: Class
> xjsfl: loading library: FileSystemObject
> xjsfl: loading library: Folder
> xjsfl: loading library: XML
> xjsfl: loading library: String
> xjsfl: loading library: SimpleTemplate
> xjsfl: loading library: XULControl
> xjsfl: loading library: XULEvent
> xjsfl: loading library: Output
> xjsfl: loading library: Table
> xjsfl: loading library: PropertyResolver

> xjsfl: REMOVING OLD FILES...
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/About.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Configuration.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Reload.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Update User Info.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/View Folder.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/View Log.jsfl"

> xjsfl: COPYING NEW FILES...
> xjsfl: creating folder "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/About.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Configuration.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Reload.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Update User Info.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/View Folder.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/View Log.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/External Libraries/xjsfl.dll"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Tools/xJSFL Loader.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Tools/xJSFL.ini"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/xJSFL/readme.txt"

> xjsfl: REGISTERING MODULE "SAMPLE MODULE"
> xjsfl: added 6 search paths for "c:/xxx/xxx/xJSFL/modules/Sample Module/"
> xjsfl: assets are already up to date

> xjsfl: REGISTERING MODULE "SNIPPETS"
> xjsfl: added 10 search paths for "c:/xxx/xxx/xJSFL/modules/Snippets/"
> xjsfl: assets are already up to date

> xjsfl: FINALIZING INSTALL...
> xjsfl: writing xjsfl.uri file
> xjsfl: copying user config file
> xjsfl: copying file to "c:/xxx/xxx/xJSFL/user/config/xjsfl.xml"

> xjsfl: INSTALLATION COMPLETE!

> xjsfl: Restart Flash to start using xJSFL
> xjsfl: loading library: Folder
> xjsfl: loading library: JSON
> xjsfl: loading library: SimpleTemplate
> xjsfl: loading library: URI
> xjsfl: loading library: XML
> xjsfl: loading library: Class
> xjsfl: loading library: URI
> xjsfl: loading library: Class
> xjsfl: loading library: FileSystemObject
> xjsfl: loading library: Folder
> xjsfl: loading library: URI
> xjsfl: loading library: Utils
> xjsfl: loading library: Table
> xjsfl: loading library: Utils
> xjsfl: loading library: File
> xjsfl: loading library: URI
> xjsfl: loading library: Utils
> xjsfl: loading library: PropertyResolver
> xjsfl: loading library: Utils

> xjsfl: WARNING - File load error:

    TypeError: xml.get is not a function
    ----------------------------------------------------------------------------------------------------

        0 > ([object XML])

            path: c:/xxx/xxx/xJSFL/core/jsfl/libraries/ui/
            file: XUL.jsfl
            line: 491

        1 > ([object XML])

            path: c:/xxx/xxx/xJSFL/core/jsfl/libraries/ui/
            file: XUL.jsfl
            line: 1266

        2 > ("//core/ui/install.xul")

            path: c:/xxx/xxx/xJSFL/core/jsfl/libraries/ui/
            file: XUL.jsfl
            line: 1580

        3 > install([object Window])

            path: c:/xxx/xxx/xJSFL/core/install/jsfl/
            file: install.jsfl
            line: 220

        4 > 

            path: c:/xxx/xxx/xJSFL/core/install/jsfl/
            file: install.jsfl
            line: 227

Do you have plan to open the source code of xjsfl.dll?

Hi,

I'm a newbie for xjsfl. I have to write some flash extension and found this, xjsfl. I'm interested in using xjsfl and also want to know more detail of internal. I've just started to review xjsfl but have curious for xjsfl.dll.

Do you have plan to open the source code of xjsfl.dll? If you do, I think it'll help me to understand internal of xjsfl more.

Thanks,
JinSan

when will the UTF_8 + BOM finish?

your topic, at the bottom

when will it be applied?

I wrote a ruby script to add UTF_8 BOM header to jsfl

#!/usr/bin/env ruby

UTF_8_BOM = "\xEF\xBB\xBF".force_encoding("binary")

script_dir = File.dirname(__FILE__)

Dir.glob("#{script_dir}/**/*.jsfl").each do |filename|
  content = File.read(filename).force_encoding("binary")
  puts filename
  next if content.start_with?(UTF_8_BOM)
  File.open(filename, "w") do |file|
    file.write(UTF_8_BOM)
    file.write(content)
  end
end

another question: is it a must for every Flash CS* ?

Snippet module on OSX and Flash CC

The snippet module seems to be broken on OSX with flash CC.

All the scripts show as folders and they don't execute when clicking on them.

Not sure if the problem is OSX or Flash CC yet

Settings.as

Hello,

Settings.as seems incomplete. I had to re-write for my purposes, here is my version:



package com.xjsfl.jsfl.modules 
{
    import flash.net.SharedObject;
    import com.xjsfl.utils.debugging.Output;

    /**
     * A Model who's storage mechanism is the Shared Object
     * The allows the model to synchronously store and reteive up to 
     * 100K of data between sessions. The data cannot be moved from 
     * machine to machine
     * @author Dave Stewart
     */
    public dynamic class Settings
    {
        // ---------------------------------------------------------------------------------------------------------------------
        // { region: Variables

            // properties
                protected var _name         :String
                protected var _so           :SharedObject;


        // ---------------------------------------------------------------------------------------------------------------------
        // { region: Instantiation

            /**
             * A SettingsModel has a 1:1 relationship with a Shared object, and is used to 
             * store up to 100K of persistent data between sessions. Useful for saving small
             * amounts of data that doesn't need to be transferrable, i.e. user interface
             * settings, and so on
             * @param   A string defining the unique name of the SharedObject
             * @param   An optional 
             */
            public function Settings(name:String, data:* = null) 
            {
                // properties
                    this._name  = name;
                    this._so    = SharedObject.getLocal(name.replace(/\W/g, '_'));

                // initialize with data
                    if (data)
                    {
                        load(data);
                    }


                for (var i:String in this._so.data)
                {
                    this[i] = this._so.data[i];
                }
            }


        // ---------------------------------------------------------------------------------------------------------------------
        // { region: Public Methods

            public function load(data:*):void 
            {
                for (var i:String in data)
                {
                    this[i] = data[i];
                }
            }

            public function save():Boolean
            {
                for (var i:String in this)
                {
                    if( !( this[i] is SharedObject ) && ( i != "_name" ) )
                        _so.data[i] = this[i];
                }
                _so.flush();
                return true;
            }

            public function clear():Boolean
            {
                _so.clear();
                _so.flush();
                return true;
            }

            /**
             * Returns a hierarchical representation of the model
             * @return
             */
            public function toString():String  
            {
//              var obj:Object = { };
//              for (var i:String in this)
//              {
//                  obj[i] = this[i];
//              }
//              return Output.debug(obj);
                var s:String = "";
                for (var i:String in this)
                {
                    s += "i: " + String( this[i] )+"\n";
                }
                return s;
            }

    }

}



Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.