-
Notifications
You must be signed in to change notification settings - Fork 10
/
Add Fill With Color Cycle.jsx
42 lines (39 loc) · 1.62 KB
/
Add Fill With Color Cycle.jsx
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
/**
* @name Add Fill With Color Cycle
* @version 1.1
* @author Kyle Martinez <www.kyle-martinez.com>
*
* @description Add the Fill effect to all selected layers while cycling through red, green, blue,
* yellow, magenta, and cyan.
*
* @license This script is provided "as is," without warranty of any kind, expressed or implied. In
* no event shall the author be held liable for any damages arising in any way from the use of this
* script.
*
* In other words, I'm just trying to help make life as an animator easier
* "A rising tide lifts all boats." - John F. Kennedy, 1963
*/
(function() {
var colors = [[1,0,0,1],[0,1,0,1],[0,0,1,1],[1,1,0,1],[1,0,1,1],[0,1,1,1]];
function getNextColor () {
var lastColorIndex = -1;
if (app.settings.haveSetting("Fill Color", "Index") === true) {
lastColorIndex = parseInt(app.settings.getSetting("Fill Color", "Index"));
}
lastColorIndex = (lastColorIndex + 1) % colors.length;
app.settings.saveSetting("Fill Color", "Index", lastColorIndex);
app.preferences.saveToDisk();
return colors[lastColorIndex];
}
app.beginUndoGroup("Add Fill");
var comp = app.project.activeItem;
var selectedLayers = comp.selectedLayers;
var numSelectedLayers = selectedLayers.length;
for (var l = 0; l < numSelectedLayers; l++) {
var currentLayer = selectedLayers[l];
var effect = currentLayer.property("ADBE Effect Parade").addProperty("ADBE Fill");
var color = getNextColor();
effect.property(3).setValue(color);
}
app.endUndoGroup();
})();