添加 'Home'

master
Mashiro_Sorata 2 years ago
commit
de34902084
  1. 40
      Home.md

40
Home.md

@ -0,0 +1,40 @@
# 频谱样式开发
上面介绍了ADV-Plugin的一些配置项,现在我们将从零开始一个完整的第三方Style开发的项目。
第三方的Style是SAO Utils 2中的一个插件形式存在,ADV-Plugin会自动识别`catalog`为`top.mashiros.advp-style`的Style插件。
## 目录结构
一个完整的项目目录示例如下,这个Style插件内包含:
```powershell
top.mashiros.3rd-party-style-demo.advp
├── demo1 (示例文件夹)
│ └── Style.qml (必须)
├── demo2 (示例文件夹)
│ ├── Config.qml (可选)
│ └── Style.qml (必须)
└── package.json (必须)
```
* `package.json`<font color='red'>必须</font>,SAO Utils 2的插件定义文件
* `Style.qml`<font color='red'>必须</font>,Style插件入口文件
* `Config.qml`:可选,为Style插件定义配置项
## 开发接口(API)
ADV-Plugin提供了`StyleAPI`组件与`CfgAPI`组件作为接口使用。
* `StyleAPI`:Canvas组件的封装。下面为一些常用的属性与函数。
* `width`:只读,画布的宽度,也为插件的显示宽度。
* `height`:只读,画布的长度,也为插件的显示长度。
* `context`:只读,Canvas的2D上下文。
* `configs`:只读,若此Style的路径下有*Config.qml*,则其值为`CfgAPI`的设置值(JSON格式);否则为`undefined`。
* `onAudioDataUpdeted`:可写,数据更新时的处理代码,带有一个长度为129数组参数:`data`。前64个数据为左声道FFT数据,后64个数据为右声道FFT数据,每一个声道的FFT数据位从低到高对应频谱频率的由低到高。最后一个数据为动态归一化的峰值数据(自动归一化时,第i个频谱数据大小 = data[i] / data[128])。
* `onConfigsUpdated`:可写,属性`configs`或者`context`改变时的处理代码,函数无参数。
* `requestPaint`:函数,调用此函数使Canvas绘制图形。
* `CfgAPI`:NERvGear.Preferences.DialogPreference的封装,插件设置项的API,支持NERvGear.Preferences中的各种Preference样式。
* `version`:可写,版本号,默认为`""`。防止选项更改后加载历史选项值导致的插件错误,版本号更新后会自动加载最新选项的默认值。可在选项列表的最上方查看到`version`值,若为空则不显示。
* `cfg_height`:可写,设置页面的高度,默认为580。
更多属性与方法可参考QML中的canvas组件,细节可参考demo与SAO Utils 2的官方开发说明。
Loading…
Cancel
Save