[CEP]获取菜单命令ID
link: https://justintaylor.tv/after-effects-command-ids/
原理: 读取 Dictionaries 下的翻译文件,具体规则自个修改下, 而且不用cep应该也能完成
其他语言,请更改zh_CN
- ja_JP 日语
- zh_CN 中文
const getCmdIds = datFile => {
return new Promise(resolve => {
const stream = require('stream');
const fs = require('fs');
const readline = require('readline');
const instream = fs.createReadStream(datFile, 'utf16le');
const outstream = new stream();
const rl = readline.createInterface(instream, outstream);
let menuIDs = {};
rl.on('line', line => {
if (line.match(/\$\$\$\/AE\/MenuID/)) {
line = line.substring(line.lastIndexOf('/') + 1);
const data = line.match(/[a-z|A-Z|0-9]*\_[0-9]*/);
if (data) {
const name = data[0].match(/[a-z|A-Z|0-9]*\_/)[0].slice(0, -1);
const number = data[0].match(/\_[0-9]*/)[0].substr(1);
menuIDs[number] = name;
}
}
});
rl.on('close', () => resolve(menuIDs));
});
};
const datFile = path.join(
decodeURI(
require('path').dirname(new CSInterface().getSystemPath('hostApplication'))
),
'Dictionaries',
'zh_CN',
'after_effects_zh_CN.dat'
);
getCmdIds(datFile).then(res => console.log(res));
说明:如果有精彩文章或者技巧,欢迎投稿