Last active
November 17, 2023 22:28
-
-
Save GoodBoyNinja/270287b25195e425ba989c23bc21c28e to your computer and use it in GitHub Desktop.
After-Effects Extendscript doesn't let you use the actual color picker ships with After-Effects. Using $.colorPicker() opens the OS color picker which sucks on windows. This method adds a temporary null to a comp, then uses the "Edit Value" command in order to launch the AE color picker. Once done, the function returns the data of the new color …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function GoodBoyNinjaColorPicker(startValue){ | |
// find the active comp | |
var crntComp = app.project.activeItem; | |
if (!crntComp || !(crntComp instanceof CompItem)) { | |
alert("Please open a comp first"); | |
return []; | |
} | |
// add a temp null; | |
var tempLayer = crntComp.layers.addShape(); | |
var newColorControl = tempLayer("ADBE Effect Parade").addProperty("ADBE Color Control"); | |
var theColorProp = newColorControl("ADBE Color Control-0001"); | |
// set the value given by the function arguments | |
if (startValue && startValue.length == 3) { | |
theColorProp.setValue(startValue); | |
} | |
// prepare to execute | |
var editValueID = 2240 // or app.findMenuCommandId("Edit Value..."); | |
theColorProp.selected = true; | |
app.executeCommand(editValueID); | |
// harvest the result | |
var result = theColorProp.value; | |
// remove the null | |
if (tempLayer) { | |
tempLayer.remove(); | |
} | |
return result; | |
} | |
// launch the true color picker with a white color | |
alert(GoodBoyNinjaColorPicker([1,1,1])); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment