A SERVICE OF

logo

Photoshop CS3
Adobe Photoshop CS3 Scripting Guide Action Manager 74
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 73
.
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);
Note: 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 );
4. Wrap the code in a JavaScript function. In the following example, the function name is emboss.
function emboss( angle, height, amount )
{
var id19 = charIDToTypeID( "Embs" );
var desc4 = new ActionDescriptor();
var id20 = charIDToTypeID( "Angl" );