RIFX¶
aep(プロジェクト)やffx(プリセット)で使用されているRIFXというフォーマットを扱う。 ExtendScriptで実装しているので、大きなサイズのaepを扱うのには向いていない。
RIFX.stringify()¶
stringify(rifx: Chunk): string;
parseしたChunkを元のバイナリに変換する。
(() => {
const file = new File('C:/adobe/my_preset.ffx');
const chunk = Atarabi.RIFX.parse(file);
const binary = Atarabi.RIFX.stringify(chunk);
})();
(function () {
var file = new File('C:/adobe/my_preset.ffx');
var chunk = Atarabi.RIFX.parse(file);
var binary = Atarabi.RIFX.stringify(chunk);
})();
Added in version 0.5.0.
RIFX.parse()¶
parse(file: File): Chunk;
parse(text: string): Chunk;
ファイルないしテキストをRIFXとして解析する。
(() => {
const file = new File('C:/adobe/my_preset.ffx');
const chunk = Atarabi.RIFX.parse(file);
})();
(function () {
var file = new File('C:/adobe/my_preset.ffx');
var chunk = Atarabi.RIFX.parse(file);
})();
Added in version 0.5.0.
RIFX.parseWithXMP()¶
parseWithXMP(file: File): [Chunk, string];
parseWithXMP(text: string): [Chunk, string];
ファイルないしテキストをRIFXとして解析することに加え、末尾についているXMPデータも返す。
(() => {
const file = new File('C:/adobe/my_preset.ffx');
const [chunk, xmp] = Atarabi.RIFX.parseWithXMP(file);
})();
(function () {
var file = new File('C:/adobe/my_preset.ffx');
var _a = Atarabi.RIFX.parseWithXMP(file), chunk = _a[0], xmp = _a[1];
})();
Added in version 0.5.0.
RIFX.size()¶
size(chunk: RIFX.Chunk): number;
チャンクのペイロードサイズを返す。
(() => {
const file = new File('C:/adobe/my_preset.ffx');
const chunk = Atarabi.RIFX.parse(file);
const size = Atarabi.RIFX.size(chunk);
})();
(function () {
var file = new File('C:/adobe/my_preset.ffx');
var chunk = Atarabi.RIFX.parse(file);
var size = Atarabi.RIFX.size(chunk);
})();
Added in version 0.5.0.
RIFX.walk()¶
walk<C extends Chunk>(chunk: C, fn: (chunk: C | null) => boolean): void;
チャンクを深さ優先でトラバースする。各チャンクに対しfn(chunk)が呼ばれた後、fn(null)が呼ばれる(golangのast.Inspectを参考にした)。
(() => {
const file = new File('C:/adobe/my_preset.ffx');
const rifx = Atarabi.RIFX.parse(file);
let i = 0;
Atarabi.RIFX.walk(rifx, (chunk) => {
if (chunk) {
i++;
const space = Array(i).join(' ');
if (chunk.id === 'RIFX' || chunk.id === 'LIST') {
$.writeln(`${space} ${chunk.id} ${chunk.data} (${Atarabi.RIFX.size(chunk)})`);
} else {
$.writeln(`${space}${chunk.id} (${Atarabi.RIFX.size(chunk)})`);
}
} else {
i--;
}
return true;
});
})();
(function () {
var file = new File('C:/adobe/my_preset.ffx');
var rifx = Atarabi.RIFX.parse(file);
var i = 0;
Atarabi.RIFX.walk(rifx, function (chunk) {
if (chunk) {
i++;
var space = Array(i).join(' ');
if (chunk.id === 'RIFX' || chunk.id === 'LIST') {
$.writeln("".concat(space, " ").concat(chunk.id, " ").concat(chunk.data, " (").concat(Atarabi.RIFX.size(chunk), ")"));
}
else {
$.writeln("".concat(space).concat(chunk.id, " (").concat(Atarabi.RIFX.size(chunk), ")"));
}
}
else {
i--;
}
return true;
});
})();
Added in version 0.5.0.
RIFX.makeGradientPreset()¶
makeGradientPreset(value: Property.GradientValue, type: Property.GradientType, key?: boolean): string;
シェイプレイヤーのグラデーションの塗り、線、レイヤースタイルのグラデーションオーバレイに付属するグラデーションパラメータに適用するプリセットのバイナリを生成する。 実際に使用する際は、このバイナリをファイルとして保存し、Layer.applyPreset()で適用する。 Property.setGradientValue() も参照のこと。
Added in version 0.5.0.
RIFX.makePseudoEffectPreset()¶
makePseudoEffectPreset(config: Pseudo.Config): string;
Pseudo Effectのプリセットのバイナリを生成する。 実際に使用する際は、このバイナリをファイルとして保存し、Layer.applyPreset()で適用する。 Pseudo も参照のこと。
Added in version 0.5.0.