-
Notifications
You must be signed in to change notification settings - Fork 9
外部JS面板控制接口
ESLyric edited this page Aug 6, 2022
·
5 revisions
ESLyric导出了COM接口用于WSH等JS面板控制相关设置。
interface IESLyricWindowControl
{
Methods:
void SetTextRenderer(int p); // 设置文本渲染器, 索引从0开始,对应界面上下拉列表配置顺序
void SetTextColor(int color); // 设置普通文本颜色,可使用WSH面板示例中的RGB辅助函数,颜色下同
void SetTextHighlightColor(int color); // 设置高亮颜色
void SetTextFont(string name, float pxSize, int style); // 设置文本字体,参数同WSH面板中gdi.Font
void SetTextAlign(int p); // 设置歌词对齐方式,索引从0开始,对应面板右键菜单对齐方式顺序
void SetBackgroundType(int p); // 设置背景类型,索引从0开始,对应界面上下拉列表配置顺序
void SetBackgroundColor(int color); // 设置背景颜色,设置后自动启用使用自定义背景色选项。
void SetBackgroundImageSource(int p); // 设置背景图片来源,索引从0开始,对应界面上下拉列表配置顺序
void SetBackgroundAlbumArtType(int p); // 设置背景封面类型,为各封面类型异或值,类型定义 FRONT: 1, BACK: 2, DISC: 4, ARTIST: 8
void SetBackgroundImagePath(string p); // 设置自定义背景路径
void SetBackgroundShuttleInterval(int p); // 设置背景切换间隔,小于0等于时禁用切换,否则启用且设置对应间隔
void SetBackgroundImageFit(int p); // 设置图片契合方式, 索引从0开始,对应界面上下拉列表配置顺序
void SetBackgroundImageBlendAlpha(int p); // 设置背景混合程度,小于0时禁用,否则启用并设置为对应值,启用时有效值(1,100]
void SetBackgroundImageBlurRadius(int p); // 设置背景模糊程度,小于0时禁用,否则启用并设置为对应值
void SetVertMargin(int p); // 设置垂直间距
void SetHorizMargin(int p); // 设置水平间距
void SetLineSpace(int p); // 设置行间距
void SetSentenceSpace(int p); // 设置句间距
void SetTitleFormatText(string p); // 设置格式标题文本
void SetLayoutName(string p); // 根据布局名称设置布局
void SetVariesFontDeltaHeight(int p); // 设置高亮行增大歌词,小于等于0时禁用,否则启用并设置为对应值
void RunContextMenu(string cmd); // 执行面板菜单命令,如 x.RunContextMenu("对齐方式/居中对齐");
};
interface IESLyricControl
{
Properties:
[r] string Version; // ESLyric版本号
[r,w] string BannerText; // 标识文本
Methods:
void SetPlayingLyricChangedCallback(callback); // 设置当前播放歌词更改回调
void RequestLyric(string title, string artist); // 请求歌词
IESLyricWindowControl GetByGuid(string guid); // 根据面板GUID获取对应的ESLyric控制接口
IESLyricWindowControl GetAll(); // 根据全部ESLyric面板的控制接口
};
使用脚本接口前需开启开关
方式1:
工具->ESLyric->高级选项: pref.script.expose
设置为 1
方式2:
插件同目录创建enable_script_control
空文件
或initial_enable_script_control
,后者在启动一次播放器后删除。
设置后重启foobar2000
生效
function RGB(r, g, b) {
return (0xff000000 | (r << 16) | (g << 8) | (b));
}
// 创建控制接口IESLyricControl对象
var eslCtrl = new ActiveXObject("ESLyric");
// 获取全部ESLyric面板控制对象,整体修改
var eslPanels = eslCtrl.GetAll();
// 设置普通文本颜色
eslPanels.SetTextColor(RGB(255,0,0));
// ...