Skip to content

mimusic-org/plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiMusic 插件协议库

这个仓库包含了 MiMusic 的插件协议和示例插件,MiMusic 是一个用 Go 构建的轻量级音乐服务器。

概述

MiMusic 支持通过基于 WASM 的插件扩展其功能。这个仓库提供了:

  1. 插件协议定义(Protocol Buffers)
  2. 插件开发基础API
  3. 示例实现,展示如何创建自定义插件
  4. 插件开发文档

插件协议

插件协议使用 Protocol Buffers 在 plugin.proto 中定义。它定义了所有插件必须实现的接口。

插件系统的主要特性:

  • 设备认证(支持多种认证方式)
  • 远程设备音乐播放控制
  • 基于 RPC 的可扩展通信
  • 定时器管理
  • 路由管理

插件API

插件开发基础API位于 api/plugin 目录中,提供了以下核心功能:

基础插件服务

  • BasePlugin: 所有插件的基类,处理插件生命周期管理
  • RegisterPlugin: 注册具体插件实现
  • GetPluginId: 获取插件唯一标识符

定时器管理

  • TimerManager: 管理插件的定时器功能
  • RegisterDelayTimer: 注册延迟定时器
  • TimerCallback: 定时器回调函数类型

路由管理

  • RouterManager: 管理插件的路由功能
  • RegisterRouter: 注册HTTP路由
  • RouterCallback: 路由回调函数类型

代码生成

使用 gen.sh 脚本从 .proto 文件生成 Go 代码:

./gen.sh

示例

示例插件可以在单独的仓库中找到:

开始使用

有关开发自己的插件的详细说明,请参阅 mimusic-plugin-example 仓库。

License

本项目基于 Apache License 2.0 开源协议发布。

About

MiMusic 插件协议库

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors