[workspace] members = ["crates/forth", "crates/project", "crates/ratatui"] [package] name = "cagire" version = "0.1.0" edition = "2021" [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 = [ "egui", "eframe", "egui_ratatui", "soft_ratatui", "image", ] [dependencies] cagire-forth = { path = "crates/forth" } 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" # 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"] version = "0.1.0" copyright = "Copyright (c) 2025 Cagire Contributors" category = "Music" short_description = "Forth-based music sequencer with Ableton Link"