Adobe 12040118 Using Help - Page 183

Save and increment, Now we set the currFileName variable to the current name, before the dot.

Page 183 highlights

Help Using Help Examples Back 183 Save and increment Although much of the functionality of this script has been superseded by the incremental save feature that is new to After Effects 6.5, it is still included here because it makes effective use of conditionals, functions, and the File and FileSystem objects. This script automatically saves a new copy of the open After Effects project and increments a three-digit number in its name to distinguish it from preceding versions of the project. This script is saved as save_and_increment.jsx on your install CD. The first step is to determine whether the currently open project has ever been saved. This is accomplished with an opening if/else statement. The first condition, "!app.project.file" is saying that if the project has not been saved, an alert telling the user to save the project is popped up, and the script ends. if (!app.project.file) { alert ("This project must be saved before running this script."); Next, if the project has been saved at least once before, we set some variables to point to the name of the file and to the numbering and file extension that we plan to add to it. The lastIndexOf() JavaScript searches a string backwards (from end to start) and in this case looks for the dot that separates the name from the extension. } else { var currFile = app.project.file; var currFileName = currFile.name; var extPos = currFileName.lastIndexOf("."); var ext = ""; Now we set the currFileName variable to the current name, before the dot. if (extPos != -1) { ext = currFileName.substring(extPos, currFileName.length); currFileName = currFileName.substring(0, extPos); } Next we set a variable that will increment versions starting with 0, and we check to see if there is an underscore character four characters from the end of currFileName. If there is, we assume that the incrementer has run before, as its job is to assign a 3-digit suffix after an underscore incremented one higher than the last suffix. In that case we set incrementer to the current numerical string and extract the name without this numerical extension. var incrementer = 0; if (currFileName.charAt(currFileName.length -4) == "_") { incrementer = currFileName.substring(currFileName.length - 3, currFileName.length); currFileName = currFileName.substring(0, currFileName.length -4); } Now we add an incrementer loop and test for whether numbering has extended to two or three digits (e.g., if the numbering has reached "_010" or above, or "_100" or above), assigning a zero for each if not. incrementer++; var istring = incrementer + ""; if (incrementer < 10) { istring = "0" + istring; } Using Help Back 183

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253

U
sing H
elp
B
ack
183
Help
Examples
U
sing H
elp
B
ack
183
Save and increment
Although much of the functionality of this script has been superseded by the incremental save feature that is
new to After Effects 6.5, it is still included here because it makes effective use of conditionals, functions, and
the File and FileSystem objects.
This script automatically saves a new copy of the open After Effects project and increments a three-digit
number in its name to distinguish it from preceding versions of the project. This script is saved as
save_and_increment.jsx on your install CD.
The first step is to determine whether the currently open project has ever been saved. This is accomplished
with an opening if/else statement. The first condition, “!app.project.file” is saying that if the project has not
been saved, an alert telling the user to save the project is popped up, and the script ends.
if (!app.project.file) {
alert ("This project must be saved before running this script.");
Next, if the project has been saved at least once before, we set some variables to point to the name of the file
and to the numbering and file extension that we plan to add to it. The lastIndexOf() JavaScript searches a
string backwards (from end to start) and in this case looks for the dot that separates the name from the
extension.
} else {
var currFile = app.project.file;
var currFileName = currFile.name;
var extPos = currFileName.lastIndexOf(".");
var ext = "";
Now we set the currFileName variable to the current name, before the dot.
if (extPos != -1) {
ext = currFileName.substring(extPos, currFileName.length);
currFileName = currFileName.substring(0, extPos);
}
Next we set a variable that will increment versions starting with 0, and we check to see if there is an underscore
character four characters from the end of currFileName. If there is, we assume that the incrementer has run
before, as its job is to assign a 3-digit suffix after an underscore incremented one higher than the last suffix. In
that case we set incrementer to the current numerical string and extract the name without this numerical
extension.
var incrementer = 0;
if (currFileName.charAt(currFileName.length -4) == "_") {
incrementer = currFileName.substring(currFileName.length - 3, currFileName.length);
currFileName = currFileName.substring(0, currFileName.length -4);
}
Now we add an incrementer loop and test for whether numbering has extended to two or three digits (e.g., if
the numbering has reached “_010” or above, or “_100” or above), assigning a zero for each if not.
incrementer++;
var istring = incrementer + "";
if (incrementer < 10) {
istring = "0" + istring;
}