mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
Merge pull request #846 from Ni-zav/fix/808-script-comments-and-marker-params-s20261011T141200Z-fd2e
fix(script): persist layer comments and unnamed marker parameters # Conflicts: # crates/script/src/tests.rs
This commit is contained in:
commit
1c7935b8c2
2 files changed
+26
-1
No files matched your search
@@ -1018,7 +1018,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;
|
||||
@@ -1119,6 +1119,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;
|
||||
|
||||
@@ -835,3 +835,27 @@ fn script_remove_keys_batches_a_range_as_one_edit() {
|
||||
);
|
||||
assert!(invalid.error.is_some());
|
||||
}
|
||||
|
||||
#[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