[翻译]Kodi 插件结构

【英文原文】

    最近在树莓派上装了一个OSMC(基于Kodi,但是我在Kodi上下载的居然长得一样)做电视盒子,至于为什么不用市面上的电视盒子。

  1. 资源更新速度太慢。
  2. 资源大多收费。
  3. 收费项有点多(有些盒子不同频道居然还区分收费)。

    基于以上原因,就打算自己用树莓派搭建了。

    OSMC开启DLAN和AirPlay之后还可以用来投屏,很方便。但有时候想看电视或者是一些偏冷频道就有些没办法了,所以打算自己写插件用了~ 网上搜了半天发现大部分教程都是老版本的,目录结构都已经不适用最新的系统了。遂起了翻译的念头。

引言

    每一个插件都放在单独的目录里,并且必须带有一个addon.xml描述文件。同时还可以包含其它非必要的文件,如:icon.png, changelog.txt, fanart.jpg。除此之外的文件应该放在resources目录下。

目录名称

    插件的名称应该遵循以下规则:<addon-type>[.<media-type>].<你的插件名称>,如 plugin.hello-world。

    需要注意的是,插件名称是大小写敏感的,并且规定必须是小写。每个部分用  . 来分割。

    addon-type 必须是下表中的类型之一:

addon-type 可选值
Addon-Type 描述  是否需要附加 media-type 字段
repository 一个仓库(这个翻译有点生硬,英语有点捉急,待完善)
plugin 一个功能型插件,插件会显示在主页菜单中
script 一个可运行的程序文件,同样会显示在主页菜单中
skin 皮肤
resource 资源文件

    media-type字段的可选值:

media-type 可选值
addon-type  media-type 描述
plugin audio 音乐类插件,会显示在音乐主菜单中
plugin video 视频类插件,会显示在视频主菜单中
plugin picture 图片类插件,会显示在图片类主菜单中
plugin program 程序类插件
plugin weather 天气类插件
script  module  
script service 在系统开机或者登陆后自动运行的脚本

    插件命名的前两个部分需要遵守上面这两张表, 表示类型。最后一个部分则为自定义部分,由于点这个符号已经被用作分隔符。如果插件名需要分隔,可以采用 - 进行分隔。

    如:plugin.video.my-great-tv-com, 表示这个插件是一个插件类型, 属于视频类。

目录结构

    目录里要包含所有你需要的第三方库文件/资源,例如非python自带库,最好是把源码放在目录中。

   

    Kodi V17及更高版本插件的目录结构:

addon.py
addon.xml
LICENSE.txt
resources/
  settings.xml
  language/
  lib/
  data/
  media/
  fanart.jpg
  icon.png

    Kodi V16 及更低版本插件的目录结构:

addon.py
addon.xml
fanart.jpg
icon.png
LICENSE.txt
changelog.txt
resources/
  settings.xml
  language/
  lib/
  data/
  media/

    

addon.py

    这个文件包含了你插件的主逻辑代码,名称可以修改为其他的名称,但需要在addon.xml中指定。

addon.xml

    详情参考【原文】

    这个文件主要用来描述插件,Kodi添加插件时会扫描这个文件是否符合标准,并从中取得插件相关的信息,例如启动文件是哪个文件,作者,版本之类。

changelog.txt

    此文件在v17及以上的版本中不建议生成,取而代之的是addon.xml中的属性。

    此文件描述更新的版本有何变动,就是更新日志/说明。

icon.png   

    图标文件,图标文件有如下要求:

  1. 必须是256 x 256或者是512 x 512像素的。
  2. 格式必须是PNG。
  3. 背景不能是透明的。
  4. 尽可能简洁。
  5. 边距至少留25像素,没有背景的logo。
  6. 尽量不要和系统中已有的logo重复,以免区分不清。
  7. 不要添加边框,边框应该是皮肤关心的事情。

fanart.jpg

    封面图?这个待编写插件时试一试。

  1. 建议为16:9
  2. 建议为1280 x 720 的JPEG文件,应该小于 1920 x 1080

LICENSE.txt

    内容参考【原文】

resources/

    resources 子目录是用来那些不是必须放在根目录下的文件,比如第三方库文件,图片等。

resources/settings.xml

    参考【原文】

    此文件用来存放插件的配置信息,在插件的配置页面展示。

resources/language/

    翻译文件存放的目录,官方也提供了一些翻译工具。

String ID 范围:

    31000 - 31999 是为皮肤保留的ID

resources/lib/

    存放模块或者是第三方库

resources/data/

    用于存于静态资源

resources/media

    用于存储静态图片,音频,视频等文件。

关于Kodi的插件目录结构大致翻译完成,接下来会开始根据官方文档制作自己的插件,在制作的过程中会修正一些翻译不到位的地方。以实际效果为准。

PS:从官方的文档上看也有点迷糊啊,域名和产品是Kodi, 插件的不少参考目录都是xbmc。看来这三个系统在插件这一部分没有什么改动。

原文地址:https://www.cnblogs.com/By-ruoyu/p/9068249.html,欢饮转载

猜你喜欢

转载自www.cnblogs.com/By-ruoyu/p/9068249.html