C
HAPTER
4: Action Manager
Using the Action Manager from JavaScript
75
7.
Check for the script log files:
➣
In Windows, the log files are in your desktop.
➣
On Mac OS, the log files are on the desktop.
Using the Action Manager from JavaScript
The section demonstrates how to use the contents of the
ScriptingListenerJS.log
log to create your
script. Before you begin this section, you need have already recorded an action. The example in this
section assumes you have followed the instructions in
“Recording a Script using ScriptListener” on
page 74
.
The procedures in this section use the Action Manager to make the Emboss filter available to the scripting
interface.
To create a JavaScript from the ScriptListener output:
1.
Do one of the following:
➣
Open
ScriptingListenerJS.log
on the desktop.
At the end of the file you will see code similar to the following (although your numbers may be
different):
var id19 = charIDToTypeID( "Embs" );
var desc4 = new ActionDescriptor();
var id20 = charIDToTypeID( "Angl" );
desc4.putInteger( id20, 135 );
var id21 = charIDToTypeID( "Hght" );
desc4.putInteger( id21, 3 );
var id22 = charIDToTypeID( "Amnt" );
desc4.putInteger( id22, 100 );
executeAction( id19, desc4 ,DialogModes.NO);
N
OTE
:
ScriptListener separates logged commands with horizontal lines composed of equal signs
(=====...). If this is not the first action recorded in the log, you can easily locate the most recent action;
it follows the final equal sign line.
2.
Copy the JavaScript code associated with the emboss action from
ScriptListenerJS.log
to another
file, called
emboss.jsx
.
3.
In the
emboss.jsx
script, identify the values that you used with the filter (135, 3 and 100). Substitute
the filter specification values with variable names.
In the following example,
135
has been replaced with
angle
;
3
has been replaced with
height
;
100
has been replaced with
amount
.
var id19 = charIDToTypeID( "Embs" );
var desc4 = new ActionDescriptor();
var id20 = charIDToTypeID( "Angl" );
desc4.putInteger( id20, angle );
var id21 = charIDToTypeID( "Hght" );
desc4.putInteger( id21, height );
var id22 = charIDToTypeID( "Amnt" );
desc7.putInteger( id22, amount );
executeAction( id19, desc4,DialogModes.NO );