mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
fix(script): persist layer comments and unnamed marker parameters (#808)
This commit is contained in:
1 parent
9a7d3e7699
commit
47972e95a8
2 files changed
+26
-1
No files matched your search
@@ -949,7 +949,7 @@ MarkerProperty.prototype = {
|
||||
t = __num(t, "time");
|
||||
if (!(mv instanceof MarkerValue)) throw __err("value must be a MarkerValue");
|
||||
var p = this.__p({ time: t, duration: mv.duration || 0, comment: mv.comment, chapter: mv.chapter, url: mv.url, frameTarget: mv.frameTarget, protected: !!mv.protectedRegion, label: mv.label || 0 });
|
||||
p.cuePoint = mv.cuePointName ? { name: mv.cuePointName, navigation: !mv.eventCuePoint, params: mv.__params } : null;
|
||||
p.cuePoint = (mv.cuePointName || mv.__params.length) ? { name: mv.cuePointName, navigation: !mv.eventCuePoint, params: mv.__params } : null;
|
||||
var l = this.__list(), at = -1;
|
||||
for (var i = 0; i < l.length; i++) if (Math.abs(l[i].time - t) < 1e-6) at = i;
|
||||
if (at >= 0) p.index = at;
|
||||
@@ -1050,6 +1050,7 @@ Layer.prototype = {
|
||||
__call("edit.label", this.__p({ label: n }));
|
||||
},
|
||||
get comment() { return this.__info().comment; },
|
||||
set comment(v) { __call("layer.setComment", this.__p({ comment: String(v) })); },
|
||||
get selected() { return this.__info().selected; },
|
||||
set selected(v) {
|
||||
var sel = this.containingComp.__info().selectedLayers;
|
||||
|
||||
@@ -730,3 +730,27 @@ fn import_options_sequence_picks_one_still_or_the_run() {
|
||||
assert_eq!(kind_of(&s, "shot_[0001-0003].png"), FootageKind::Sequence);
|
||||
let _ = std::fs::remove_dir_all(&dir);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn script_layer_comment_and_unnamed_marker_params_round_trip() {
|
||||
let mut s = session();
|
||||
let o = ok(
|
||||
&mut s,
|
||||
r#"
|
||||
var c = app.project.items.addComp("Notes", 100, 100, 1, 5, 25);
|
||||
var l = c.layers.addSolid([1, 0, 0], "Solid", 10, 10, 1);
|
||||
l.comment = "Saved layer note";
|
||||
var markers = l.property("ADBE Marker");
|
||||
var plain = new MarkerValue("Plain");
|
||||
plain.setParameters({ lml: "shot", index: "1" });
|
||||
markers.setValueAtTime(1, plain);
|
||||
var named = new MarkerValue("Named");
|
||||
named.cuePointName = "cue";
|
||||
named.setParameters({ lml: "shot", index: "2" });
|
||||
markers.setValueAtTime(2, named);
|
||||
[l.comment, markers.keyValue(1).getParameters().index,
|
||||
markers.keyValue(1).cuePointName, markers.keyValue(2).getParameters().index]
|
||||
"#,
|
||||
);
|
||||
assert_eq!(o.result, json!(["Saved layer note", "1", "", "2"]));
|
||||
}
|
||||
Reference in new issue
Block a user