XBMC插件编写规范
本文翻译自xbmc维基网站,不完整翻译:http://wiki.xbmc.org/index.php?title=Add-on_development
XBMC插件系统基于插件库c-pluff。
插件结构
每一插件都需要有自己单独的文件夹,在主目录下,使用addon.xml描述相关信息。另外,还该当包含(虽然不是必须的)icon.png、changelog.txt和fanart.jpg。额外的数据,如语言翻译和设置的描述可以包含在resources/文件夹内。
文件夹名称:
命名规则为:<插件类别>[.<媒体类型>].<插件名称>()。注意名称都是大小写敏感的。用点号(或者-)来分割名称,也可以自行添加更多点来分割更多的名称。
插件类别项包括以下类型:
类别 | 说明 |
repository | 允许用户添加新源。此时不需要媒体类型。 |
plugin | 为XBMC添加新功能。它将出现在主菜单下的相关媒体区域下。 |
script | 将出在在主菜单下的“程序”子菜单里。 |
skin | 包括XBMC皮肤定义和支持的脚本文件。不需要媒体类型。 |
媒体类型可以包含多个类型,此时它将出现在不止一个菜单项中。建议有多个媒体类型时分别为每种类型编写插件。
插件类别 | 媒体类型名称 | 说明 |
plugin | audio | 音乐,出现在音乐菜单中。 |
plugin | video | 视频,出现在视频菜单中。 |
plugin | picture | 图像,出现在图像菜单中。 |
plugin | weather | 天气,出现在天气菜单中。 |
script | module | 将不会出现在类别或扩展管理器中,但可以为其他扩展提供支持。 |
script | service | 在登录或启动时运行。 |
在为插件命名时不要与已知插件重名。
目录结构
插件主目录下保存了所有运行资源,必须设定为只读,并且不要储存临时数据(会有其他功能来支持的)。主目录下必须包含:
Addon.py:包含主要的python代码。如果名称改变,则需要在addon.xml中说明。
Addon.xml:它将为XBMC提供该插件的内容、依赖、和启动时信息。
Changelog.txt:每个新版本的相关改动信息。它将出现在installation/update下
Fanart.jpg:可以在使用时更加直观丰富。建议使用16:9长宽比,它是做背景用的,应当简单。推荐1280*720 PG格式,分辨率不应大于1920*1080。应当控制文件大小。
Icon.png:大小必须是256*256,格式为PNG,背景为100%实体(不能有透明),图像应当简洁协调,不要带3D效果或高对比度纹理,主LOGO至少为25像素。如果有文字,应使文字尽可能小,推荐同时使用图像和文字来提高辨识度。不要和XBMC的LOGO冲突。不要添加边框或重叠(这是皮肤的职能)。在大部分情况下,使用带简单背景下的LOGO效果最好。如果该插件需要从网上下载信息,则应该使用服务提供者的LOGO,但你必须得到相关的授权。
LICENSE.txt
/resources
Settings.xml:定义了使用可配置的设置项。这个文件定义了设置的名称和类型,以及在设置对话中出现的方式。
/language/:翻译工具。
/lib/:模块定义或第三方库。
/resources/data/:存储其他的静态数据。
/media/:存储静态媒体(图像、音频、视频等)。
如果扩展非常大,可能需要其他扩展的支持,它们最好放在/lib文件夹下。如果这些库频繁被不同的插件使用,建议将它们命名为单独的script.module.foo。不应当放在主目录下的文件是资源文件,应当放在/resources或其子文件夹下。