脚本系统:用脚本扩展歌词源与自定义服务
脚本是这款播放器的「可编程层」:官方没覆盖的功能面,社区与用户可以用脚本补上。这篇讲脚本体系能干什么、现状如何、以及 3.x 时代的一个重要断层。
三类脚本
按官方手册的划分,脚本分三类:
- 通用脚本(Generic):挂在主程序上的辅助功能——自动化任务、界面增强等;
- 歌词脚本(Lyrics):歌词来源的插件——歌词 applet 显示的词就来自这里,装多个脚本、哪个源有词用哪个(歌词机制见 Wikipedia 与歌词 applet);
- 可编程服务脚本(Scriptable Services):把任意的在线内容包装成「互联网服务」出现在媒体源面板里——某种意义上是最强的扩展:自建曲库接口、小众站点的接入都能这么实现。
管理入口
「脚本管理器」(Script Manager / 设置里)负责脚本的安装、启停与配置;另有一个「管理脚本」对话框处理日常启停。写脚本的人看官方社区维基的脚本 API 文档——但注意下面这条断层。
重要的断层:2.x 脚本与 3.x 不兼容
这是 3.x 时代关于脚本最需要知道的事,官方公告原话说得很直白:
- 脚本框架正从 QtScript 迁移到 QJSEngine,迁移期间旧的 Amarok 2.x 脚本大多不兼容;
- 出于兼容问题,脚本商店(KNewStuff)的下载功能一度被禁用;
- 脚本 API 文档部分过时。
翻译成实操建议:网上搜到的 2.x 时代脚本清单与教程,在 3.x 上大概率装不上或跑不了;装脚本以「明确说明支持 3.x」的来源为准;找不到可用的 3.x 脚本属正常现状,不是你操作错了。这个断层的整体背景见 二十年版本演进史。
现实主义的使用路径
在 3.x 生态恢复元气之前,建议这样用脚本体系:
- 默认不依赖:核心功能(收藏、播放列表、上下文)不装任何脚本也完整可用;
- 歌词是刚需再折腾:歌词脚本是最多人装的——按 歌词找不到怎么办 的排查确认默认来源覆盖不了你的库,再去脚本管理里换源;
- 自己会写就赚了:会 JavaScript/Qt 的人可以照新 API 自己写——顺手给社区提交,这个项目最近几年正缺这样的帮助(官方公告多次公开征集)。
与插件的区别
设置里还有一层「插件」(Plugins):互联网服务、收藏后端这些是官方内置的插件体系(如 Ampache、Last.fm,见 远程收藏 与 Last.fm);脚本是更自由的用户层扩展。两层都是扩展,粒度与门槛不同——先看插件够不够用,不够再上脚本。