||8 months ago|
|book||8 months ago|
|src||2 years ago|
|.gitignore||2 years ago|
|Cargo.lock||2 years ago|
|Cargo.toml||2 years ago|
|LICENSE.txt||2 years ago|
|README.md||8 months ago|
|build.rs||2 years ago|
A cross-platform audio player with a waveform-centric interface
Research & Development
Good Form is presently in alpha. It already offers the solid technical foundation and base functionality of an audio player and works very reliably on compatible systems. However due to limited user testing as of now there might just as well be systems on which it will entirely refuse to run. The user interface does not yet represent anything of what Good Form intends to be - this is for now just a usable foundation to work from.
Good Form positions itself somewhere between a professional DAW and a casual player - a professional player probably. It is designed for intent listening and workflows such as browsing samples, evaluating recordings, studying musical pieces, analyzing audio material ... and at the end of the day enjoying music with a beautiful player.
Technological and political mission
Good Form is solidly engineered, cross-platform software, written in Rust. It is built around modern graphics (Vulkan, Metal) and also runs on older systems through OpenGL. It is free and open source software and always will be.
All available features are documented in the Good Book. Given that much of Good Form's featureset is for now only available through keyboard shortcuts this is a must read if you're interested.
Currently you can choose from two experimental snapshot packages provided for debian-based (Debian, Ubuntu) and rpm-based (CentOS, Fedora, RHEL) 64bit systems, both of which are configured for modern graphics only (your system needs to support Vulkan).
For now please use at your own risk and anticipate that the package might not yet work for you.
Note: You can make a valuable contribution by reporting issues you run into on your system!
Still with me? Awesome!
Building Good Form
You will most likely need to install dependencies, see further below for instructions.
Linux/Windows with support for Vulkan
cargo build --features=vulkan --release
macOS with support for Metal
cargo build --features=metal --release
Platforms that only support OpenGL
cargo build --features=gl --release
Note that this currently only compiles, but does not run due to unresolved issues in the
gfx-backend-gl crate. I am currently in touch with the gfx-rs developers to work out solutions. You can follow up on progress with the most recent blocker in this issue on GitHub.
This is a best-effort listing of dependencies that might be required on different systems, along with installation instructions.
cmake installed, for this you can for instance install Homebrew and then run:
brew install cmake
Just install all dependencies through the apt package manager:
sudo apt install cmake libasound2-dev libexpat-dev libfreetype6-dev libxml2-dev libx11-dev python3-distutils
Building Good Book
The markdown files that comprise the documentation for Good Form in the Good Book can be edited in the
To compile the book first install mdBook through cargo:
cargo install mdbook
Then run the following command inside the
mdbook serve --open
The compiled book is written to
target/book/, see the mdBook documentation for detailed information regarding the build process.