[workspace] members = ["crates/forth", "crates/markdown", "crates/project", "crates/ratatui"] [workspace.package] version = "0.0.4" edition = "2021" authors = ["Raphaël Forment "] license = "AGPL-3.0" repository = "https://github.com/Bubobubobubobubo/cagire" homepage = "https://cagire.raphaelforment.fr" description = "Forth-based live coding music sequencer" [package] name = "cagire" version.workspace = true edition.workspace = true authors.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true description.workspace = true [lib] name = "cagire" path = "src/lib.rs" [[bin]] name = "cagire" path = "src/main.rs" [[bin]] name = "cagire-desktop" path = "src/bin/desktop.rs" required-features = ["desktop"] [features] default = [] desktop = [ "cagire-forth/desktop", "egui", "eframe", "egui_ratatui", "soft_ratatui", "image", ] [dependencies] cagire-forth = { path = "crates/forth" } cagire-markdown = { path = "crates/markdown" } cagire-project = { path = "crates/project" } cagire-ratatui = { path = "crates/ratatui" } doux = { git = "https://github.com/sova-org/doux", features = ["native"] } rusty_link = "0.4" ratatui = "0.30" crossterm = "0.29" cpal = "0.15" clap = { version = "4", features = ["derive"] } rand = "0.8" serde = { version = "1", features = ["derive"] } serde_json = "1" tui-big-text = "0.8" arboard = "3" minimad = "0.13" crossbeam-channel = "0.5" confy = "2" rustfft = "6" thread-priority = "1" ringbuf = "0.4" arc-swap = "1" midir = "0.10" # Desktop-only dependencies (behind feature flag) egui = { version = "0.33", optional = true } eframe = { version = "0.33", optional = true } egui_ratatui = { version = "2.1", optional = true } soft_ratatui = { version = "0.1.3", features = ["unicodefonts"], optional = true } image = { version = "0.25", default-features = false, features = ["png"], optional = true } [profile.release] opt-level = 3 lto = "fat" codegen-units = 1 panic = "abort" strip = true [package.metadata.bundle.bin.cagire-desktop] name = "Cagire" identifier = "com.sova.cagire" icon = ["assets/Cagire.icns", "assets/Cagire.ico"] copyright = "Copyright (c) 2025 Raphaël Forment" category = "Music" short_description = "Forth-based music sequencer"