简单的获取设置标记
Get: 当前选择图层 => 获取图层标记, 否则获取合成的
Set: 当前选择图层 => 设置图层标记, 设置获取合成的
放置
要丢在 scrip Ui 文件夹里
代码
// Author: 月离
// Version: 0.0.1
// 链接: https://www.yuelili.com/?p=22409
// Get: 当前选择图层 => 获取图层标记, 否则获取合成的
// Set: 当前选择图层 => 设置图层标记, 设置获取合成的
var panelGlobal = this;
var palette = (function () {
/*
Code for Import https://scriptui.joonas.me — (Triple click to select):
{"activeId":2,"items":{"item-0":{"id":0,"type":"Dialog","parentId":false,"style":{"enabled":true,"varName":"","windowType":"Palette","creationProps":{"su1PanelCoordinates":false,"maximizeButton":false,"minimizeButton":false,"independent":false,"closeButton":true,"borderless":false,"resizeable":false},"text":"Marker","preferredSize":[0,0],"margins":16,"orientation":"column","spacing":10,"alignChildren":["center","top"]}},"item-1":{"id":1,"type":"Button","parentId":0,"style":{"enabled":true,"varName":null,"text":"Get","justify":"center","preferredSize":[0,0],"alignment":null,"helpTip":null}},"item-2":{"id":2,"type":"Button","parentId":0,"style":{"enabled":true,"varName":null,"text":"Set","justify":"center","preferredSize":[0,0],"alignment":null,"helpTip":null}}},"order":[0,1,2],"settings":{"importJSON":true,"indentSize":false,"cepExport":false,"includeCSSJS":true,"showDialog":true,"functionWrapper":true,"afterEffectsDockable":true,"itemReferenceList":"None"}}
*/
// PALETTE
// =======
var palette = (panelGlobal instanceof Panel) ? panelGlobal : new Window("palette");
if (!(panelGlobal instanceof Panel)) palette.text = "Marker";
palette.orientation = "column";
palette.alignChildren = ["center", "top"];
palette.spacing = 10;
palette.margins = 16;
var button1 = palette.add("button", undefined, undefined, { name: "button1" });
button1.text = "Get";
var button2 = palette.add("button", undefined, undefined, { name: "button2" });
button2.text = "Set";
var marker_time = []
button1.onClick = function () {
app.beginUndoGroup("Get Marker Time");
var comp = app.project.activeItem;
var selLayers = comp.selectedLayers;
if (selLayers.length > 0) {
marker_time = get_layer_marker_time(selLayers[0])
} else {
marker_time = get_comp_marker_time(comp)
}
app.endUndoGroup();
}
button2.onClick = function () {
app.beginUndoGroup("Set Marker Time");
var comp = app.project.activeItem;
var selLayers = comp.selectedLayers;
if (selLayers.length > 0 && marker_time) {
set_layer_marker_time(selLayers[0], marker_time)
} else {
set_comp_marker_time(comp, marker_time)
}
app.endUndoGroup();
}
/**
* @description:获取合成标记时间列表
* @param comp :合成
* @returns :标记时间列表/false
* @type :合成与图层
*/
function get_comp_marker_time(comp) {
var marker_time = []
var comp_mark = comp.markerProperty
if (comp_mark.numKeys > 0) {
for (var i = 1; i 0) {
for (var i = 1; i