优化插件基类、完善插件文档

This commit is contained in:
2026-02-13 02:10:03 +08:00
parent 295da53c60
commit 62cd4a0c94
6 changed files with 348 additions and 154 deletions

View File

@@ -14,9 +14,9 @@ print(msct := MusiCreater.import_music(Path("./resources/测试片段.mid")))
print(msct.music)
# 如果要直接访问插件里面的函数:
# 为了确保类型安全,以下方法不建议使用,因为这本质上是越过了 MusiCreater 类而直接执行插件的函数
print(t := msct.midi_2_music_plugin.load(Path("./resources/测试片段.mid"), None))
print(t := msct.midi_2_music_plugin.load(Path("./resources/测试片段.mid"), None)) # type: ignore
# 我们建议用这种方式来代替
t = _global_plugin_registry._music_input_plugins["midi_2_music_plugin"].load(
Path("./resources/测试片段.mid"),
@@ -28,8 +28,12 @@ t = _global_plugin_registry._music_input_plugins["midi_2_music_plugin"].load(
from Musicreater.plugins import MusicInputPluginBase
if isinstance((p := msct.midi_2_music_plugin), MusicInputPluginBase):
# 但是,我们不建议用这样的方式读取操作配置类,尽管这也是可以的
t = p.load(Path("./resources/测试片段.mid"), None)
# 但是说实话,既然已经在 MusiCreater 类中提供了
# import_music、export_music、perform_operation_on_music 等方法,
# 那么我们不建议使用上面展示的调取插件的方式来执行插件内的函数。
msct.perform_operation_on_music
print(_global_plugin_registry)
print(msct._plugin_cache)