#preset #read-write #synth #patch #phaseplant

synthahol-phase-plant

读取和写入Phase Plant预设

5个不稳定版本

0.3.0 2024年3月26日
0.2.1 2023年6月8日
0.2.0 2023年6月6日
0.1.1 2023年6月3日
0.1.0 2023年6月1日

音频 类别中排名第 225

Download history 47/week @ 2024-04-02 3/week @ 2024-04-09

每月下载量 156

MIT/Apache

1MB
21K SLoC

包含(ZIP文件,5KB) tests/init/init-2.2.0.phaseplant

synthahol-phase-plant

一个用于读取和写入Phase Plant合成器预设的库。

crates.io Docs Workflows

注意

Phase Plant的预设文件格式在2.2版本中发生了变化。现在格式是一个ZIP容器内的JSON,不再是二进制blob。此库不支持新格式。

概述

synthahol-phase-plant是一个用于读取和写入Phase Plant合成器(由Kilohearts提供)预设的库。

此库由Sheldon Young独立开发。它不是Kilohearts的产品,请不要联系他们寻求支持。

读取和写入预设

use std::fs::File;
use phase_plant::io::{ReadPreset, WritePreset};
use phase_plant::kilohearts::phase_plant::Preset;

fn main() -> std::io::Result<()> {
    // Read
    let preset = Preset::read_file("Example.phaseplant")?;
    let author = preset.metadata.author.unwrap_or("anonymous".to_owned());
    println!("The preset was created by {author}");

    // Write
    let mut preset = Preset::default();
    preset.metadata.name = Some("Example Preset".to_owned());

    let mut preset_file = File::create("example.phaseplant")?;
    let write_result = preset.write(&mut preset_file)?;
    for message in write_result.messages {
        println!("{message}");
    }

    Ok(())
}

已知限制

  • 写入功能仍在开发中。
  • 不支持在1.7.0公共版本之前发布的Phase Plant版本创建的预设。一些早期出厂预设是用Phase Plant的预发布版本创建的。
  • 调制路由功能仍在开发中。
  • 如Multipass、Slice Eq和Snap Heap之类的Snapin宿主程序尚未完全支持。CarveEQ不受支持,因为它在预设中存储得像宿主程序一样。

其他库

使用kibank将预设合并到库中。

问题

如果您对此项目有任何问题或疑问,请通过创建GitHub问题与开发者联系。

贡献

我们邀请您为新功能、修复或更新做出贡献,无论大小;我们总是很高兴收到拉取请求,并将尽最大努力尽快处理它们。

在开始编码之前,我们建议通过 GitHub 上的问题 讨论您的计划,尤其是对于更雄心勃勃的贡献。这给其他贡献者一个机会指正您正确的方向,对您的方案提供反馈,并帮助您了解是否有人正在做相同的事情。

对本项目的贡献版权归贡献者所有。无需将版权转让给本项目。

许可证

在Apache许可证版本2.0(“许可证”)下授权;除非遵守许可证,否则不得使用此文件。您可以在以下位置获得许可证副本:

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何形式的保证或条件,无论是明示的还是默示的。有关许可证的特定语言管理权限和限制,请参阅许可证。

依赖项

~2.3–3.5MB
~67K SLoC