[AE脚本示例]一个标记管理器

简单的获取设置标记

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 

给TA充电
共{{data.count}}人
人已充电
AEAE文章AE表达式

【AE表达式 进阶】自定义函数库 跨合成随意调用

2023-4-21 19:14:27

AEAE开发脚本开发

[AE脚本] 删除有错误的表达式 DelErrorExps

2023-6-19 14:54:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索