[workspace] members = ["crates/forth", "crates/markdown", "crates/project", "crates/ratatui"] [workspace.package] version = "0.0.7" 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", "dep:egui", "dep:eframe", "dep:egui_ratatui", "dep:soft_ratatui", "dep: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/Bubobubobubobubo/doux.git", features = ["native"] } rusty_link = "0.4" ratatui = "0.30" crossterm = "0.29" cpal = { version = "0.17", features = ["jack"] } clap = { version = "4", features = ["derive"] } rand = "0.8" serde = { version = "1", features = ["derive"] } serde_json = "1" tachyonfx = { version = "0.22", features = ["std-duration"] } 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" parking_lot = "0.12" libc = "0.2" # 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 } [target.'cfg(windows)'.build-dependencies] winres = "0.1" [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", "assets/Cagire.png"] copyright = "Copyright (c) 2025 Raphaël Forment" category = "Music" short_description = "Forth-based music sequencer"