synthie 0.4.0

Chiptune-focused synthesizer engine: dual OSC, ring mod, filters, envelopes, LFO, arpeggiator, and FX (reverb, delay, chorus, bitcrusher)
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "synthie"
version = "0.4.0"
authors = ["Markus Mayer <widemeadows@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Chiptune-focused synthesizer engine: dual OSC, ring mod, filters, envelopes, LFO, arpeggiator, and FX (reverb, delay, chorus, bitcrusher)"
readme = "README.md"
keywords = [
    "synthesizer",
    "audio",
    "midi",
    "gamedev",
    "game-audio",
]
categories = [
    "game-engines",
    "multimedia::audio",
]
license = "EUPL-1.2"
repository = "https://github.com/sunsided/synth"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
arp = []
default = [
    "std",
    "serde",
    "io",
    "arp",
]
io = [
    "std",
    "dep:anyhow",
    "dep:cpal",
    "dep:crossbeam-channel",
]
libm = ["dep:libm"]
serde = ["dep:serde"]
std = []

[lib]
name = "synthie"
path = "src/lib.rs"

[[example]]
name = "arp"
path = "examples/arp.rs"
required-features = [
    "io",
    "arp",
]

[[example]]
name = "bitcrusher"
path = "examples/bitcrusher.rs"
required-features = ["io"]

[[example]]
name = "fx_delay_chorus"
path = "examples/fx_delay_chorus.rs"
required-features = ["io"]

[[example]]
name = "kernkraft"
path = "examples/kernkraft.rs"
required-features = ["io"]

[[example]]
name = "lazy_jones"
path = "examples/lazy_jones.rs"
required-features = ["io"]

[[example]]
name = "mod_depth"
path = "examples/mod_depth.rs"
required-features = ["io"]

[[example]]
name = "osc_richness"
path = "examples/osc_richness.rs"
required-features = ["io"]

[[example]]
name = "ring_mod"
path = "examples/ring_mod.rs"

[[example]]
name = "showcase"
path = "examples/showcase.rs"
required-features = [
    "io",
    "arp",
]

[[example]]
name = "tune"
path = "examples/tune.rs"
required-features = ["io"]

[dependencies.anyhow]
version = "1"
optional = true

[dependencies.cpal]
version = "0.17"
optional = true

[dependencies.crossbeam-channel]
version = "0.5"
optional = true

[dependencies.libm]
version = "0.2"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dev-dependencies.serde_json]
version = "1"

[lints.clippy]
pedantic = "warn"