diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8930865 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [Unreleased] + +## [0.0.2] - 2026-02-01 +- CI testing and codebase cleanup + +## [0.0.1] - Initial Release +- CI testing diff --git a/Cargo.toml b/Cargo.toml index 4eb924f..f28c208 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,24 @@ [workspace] members = ["crates/forth", "crates/markdown", "crates/project", "crates/ratatui"] +[workspace.package] +version = "0.0.2" +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 = "0.1.0" -edition = "2021" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true +homepage.workspace = true +description.workspace = true [lib] name = "cagire" @@ -73,7 +87,6 @@ strip = true name = "Cagire" identifier = "com.sova.cagire" icon = ["assets/Cagire.icns", "assets/Cagire.ico"] -version = "0.1.0" -copyright = "Copyright (c) 2025 Cagire Contributors" +copyright = "Copyright (c) 2025 Raphaël Forment" category = "Music" -short_description = "Forth-based music sequencer with Ableton Link" +short_description = "Forth-based music sequencer" diff --git a/crates/forth/Cargo.toml b/crates/forth/Cargo.toml index 0c0018d..cfa0a06 100644 --- a/crates/forth/Cargo.toml +++ b/crates/forth/Cargo.toml @@ -1,7 +1,11 @@ [package] name = "cagire-forth" -version = "0.1.0" -edition = "2021" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true +description = "Forth virtual machine for cagire sequencer" [features] default = [] diff --git a/crates/markdown/Cargo.toml b/crates/markdown/Cargo.toml index 6103947..a031853 100644 --- a/crates/markdown/Cargo.toml +++ b/crates/markdown/Cargo.toml @@ -1,7 +1,11 @@ [package] name = "cagire-markdown" -version = "0.1.0" -edition = "2021" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true +description = "Markdown rendering for cagire sequencer" [dependencies] minimad = "0.13" diff --git a/crates/project/Cargo.toml b/crates/project/Cargo.toml index eb6fead..91615d0 100644 --- a/crates/project/Cargo.toml +++ b/crates/project/Cargo.toml @@ -1,7 +1,11 @@ [package] name = "cagire-project" -version = "0.1.0" -edition = "2021" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true +description = "Project data structures for cagire sequencer" [dependencies] serde = { version = "1", features = ["derive"] } diff --git a/crates/ratatui/Cargo.toml b/crates/ratatui/Cargo.toml index 2a2f231..b5d20d1 100644 --- a/crates/ratatui/Cargo.toml +++ b/crates/ratatui/Cargo.toml @@ -1,7 +1,11 @@ [package] name = "cagire-ratatui" -version = "0.1.0" -edition = "2021" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true +description = "TUI components for cagire sequencer" [dependencies] rand = "0.8" diff --git a/release.toml b/release.toml new file mode 100644 index 0000000..db2fb5b --- /dev/null +++ b/release.toml @@ -0,0 +1,7 @@ +[workspace] +allow-branch = ["main"] +sign-commit = false +sign-tag = false +push = true +publish = false +tag-name = "v{{version}}" diff --git a/src/main.rs b/src/main.rs index ebc8e76..90d6484 100644 --- a/src/main.rs +++ b/src/main.rs @@ -38,7 +38,7 @@ use settings::Settings; use state::audio::RefreshRate; #[derive(Parser)] -#[command(name = "cagire", about = "A step sequencer with Ableton Link support")] +#[command(name = "cagire", version, about = "Forth-based live coding sequencer")] struct Args { /// Directory containing audio samples to load (can be specified multiple times) #[arg(short, long)] diff --git a/src/views/title_view.rs b/src/views/title_view.rs index 7b4a5a6..75f375d 100644 --- a/src/views/title_view.rs +++ b/src/views/title_view.rs @@ -23,12 +23,18 @@ pub fn render(frame: &mut Frame, area: Rect, ui: &UiState) { .centered() .build(); + let version_style = Style::new().fg(theme.title.subtitle); + let subtitle_lines = vec![ Line::from(""), Line::from(Span::styled( "A Forth Music Sequencer", Style::new().fg(theme.title.subtitle), )), + Line::from(Span::styled( + format!("v{}", env!("CARGO_PKG_VERSION")), + version_style, + )), Line::from(""), Line::from(Span::styled("by BuboBubo", author_style)), Line::from(""), diff --git a/website/public/cagire.png b/website/public/cagire.png deleted file mode 100644 index 5aaff02..0000000 Binary files a/website/public/cagire.png and /dev/null differ diff --git a/website/public/mono_cagire.mp4 b/website/public/mono_cagire.mp4 new file mode 100644 index 0000000..67f4abb Binary files /dev/null and b/website/public/mono_cagire.mp4 differ diff --git a/website/src/pages/index.astro b/website/src/pages/index.astro index ecc8998..6b76c0f 100644 --- a/website/src/pages/index.astro +++ b/website/src/pages/index.astro @@ -6,17 +6,44 @@ - Cagire + Cagire - Forth-based live coding sequencer + + + + + + + + + + + -

CAGIRE: LIVE CODING IN FORTH

+
+

CAGIRE: LIVE CODING IN FORTH

+ +
@@ -126,7 +179,7 @@

All releases on GitHub. You can also compile the software yourself or get it from Cargo!

- Cagire screenshot +

About

Cagire is a step sequencer where each step contains a Forth script instead of typical note data. When the sequencer reaches a step, it runs the script. Scripts can produce sound, trigger samples, apply effects, or do nothing at all. You are free to define what your scripts will do. Cagire includes a built-in audio engine called Doux. No external software is needed to make sound. It comes with oscillators, sample players, filters, reverb, delay, distortion, and more.

@@ -156,7 +209,7 @@

Credits

-

AGPL-3.0 License

+

AGPL-3.0 License

+ +