The Duduf ExtendScript Framework.
by RxLaboratory and Duduf.
WARNING: all objects marked deprecated will be removed in the version 1.1.0 of the framework.
by RxLaboratory and Duduf.
WARNING: all objects marked deprecated will be removed in the version 1.1.0 of the framework.
- Version:
- 1.0.3
- Copyright:
- 2021-2023 Nicolas Dufresne, RxLaboratory
- License:
- GPL-3.0
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
- GPL-3.0
Example
// Encapsulate everything to avoid global variables!
// The parameter is either undefined (stand alone script) or the panel containing the ui (ScriptUI)
(function(thisObj)
{
// Include the framework
#include "DuESF.jsxinc";
// Running the init() method of DuAEF is required to setup everything properly.
DuESF.init( "YourScriptName", "1.0.0", "YourCompanyName" );
// These info can be used by the framework to improve UX, but they're optional
DuESF.chatURL = 'http://chat.rxlab.info'; // A link to a live-chat server like Discord or Slack...
DuESF.bugReportURL = 'https://github.com/RxLaboratory/DuAEF_Dugr/issues/new/choose'; // A link to a bug report form
DuESF.featureRequestURL = 'https://github.com/RxLaboratory/DuAEF_Dugr/issues/new/choose'; // A link to a feature request form
DuESF.aboutURL = 'http://rxlaboratory.org/tools/dugr'; // A link to the webpage about your script
DuESF.docURL = 'http://dugr.rxlab.guide'; // A link to the documentation of the script
DuESF.scriptAbout = 'Duduf Groups: group After Effects layers!'; // A short string describing your script
DuESF.companyURL = 'https://rxlaboratory.org'; // A link to your company's website
DuESF.rxVersionURL = 'http://version.rxlab.io' // A link to an RxVersion server to check for updates
// Build your UI here, declare your methods, etc.
// This will be our main panel
var ui = DuScriptUI.scriptPanel( thisObj, true, true, new File($.fileName) );
ui.addCommonSettings(); // Automatically adds the language settings, location of the settings file, etc
DuScriptUI.staticText( ui.settingsGroup, "Hello world of settings!" ); // Adds a static text to the settings panel
DuScriptUI.staticText( ui.mainGroup, "Hello worlds!" ); // Adds a static text to the main panel
// When you're ready to display everything
DuScriptUI.showUI(ui);
// Note that if you don't have a UI or if you don't use DuScriptUI to show it,
// you HAVE TO run this method before running any other function:
// DuESF.enterRunTime();
})(this);
Members
Array.<function()>
# static enterRunTimeMethods
The list of functions to run with
They're run after the UI has been created and just before runtime
DuESF.enterRunTime
. You can add your own methods here.They're run after the UI has been created and just before runtime
string
# static readonly HostApplication
The applicatiosns DuESF can be used with.
Properties:
Name | Type | Description |
---|---|---|
AFTER_EFFECTS |
string
|
|
ILLUSTRATOR |
string
|
|
PHOTOSHOP |
string
|
|
INDESIGN |
string
|
Array.<function()>
# static initMethods
The list of functions to run with
They're run after the settings and translator have been loaded.
DuESF.init
. You can add your own methods here.They're run after the settings and translator have been loaded.
bool
# static isPreRelease
Is this script a prerelease version? This info is used when checking for updates.
Array.<function()>
# static preInitMethods
The list of functions to run with
They're run after the settings have been loaded, but before everything else (especially the translator).
DuESF.init
. You can add your own methods here.They're run after the settings have been loaded, but before everything else (especially the translator).
boolean
# static readonly scriptFirstRun
True if the script is run for the first time (new or the version has changed since last run)
string
# static readonly scriptName
The name of the script using this instance of DuESF. Must be set by
DuESF.init
.
DuVersion
# static readonly scriptVersion
The version of the script using this instance of DuESF. Must be set by
DuESF.init
.
int
# static readonly State
Enum for states.
Properties:
Name | Type | Description |
---|---|---|
NOT_SET |
int
|
|
INIT |
int
|
|
RUNTIME |
int
|
Methods
# static delete()
Removes all DuESF parts from memory. Call this if you've updated before you reload DuESF.
# static enterRunTime()
This method has to be called once at the end of the script, when everything is ready and the main UI visible (after any prompt or setup during startup).
# static init(scriptNameopt, scriptVersionopt, companyNameopt)
This method has to be called once at the very beginning of the script, just after the inclusion of DuESF
#include DuESF.jsxinc
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
scriptName |
string
|
<optional> |
"DuESF" | The name of your script, as it has to be displayed in the UI and the filesystem |
scriptVersion |
string
|
<optional> |
"0.0.0" | The version of your script, in the form "XX.XX.XX-Comment", for example "1.0.12-Beta". The "-Comment" part is optional. |
companyName |
string
|
<optional> |
"RxLaboratory" | The name of the company/organisation/individual developping this script. |