festival-gui

Festival GUI (egui) client. Directly uses festival internals.

Build Tests crates.io docs.rs


Documentation

For a broad overview of festival-gui's internals, see src/.

Build

General Info

You need cargo.

Building in this repo currently means building festival-gui. The produced binary is named festival.

There are 30 unit tests, you may want to run: cargo test before attempting a full build.


Build

General Info

You need cargo.

Building in this repo currently means building festival-gui. The produced binary is named festival.

There are 30 unit tests, you may want to run: cargo test before attempting a full build.


Linux

The pre-compiled Linux binaries are built on Debian 11, you'll need these packages to build: sudo apt install build-essential cmake libgtk-3-dev

After that, run: cargo build --release


macOS

On macOS, if you want the binary to have an icon, you must install cargo-bundle.

After that, run: cargo bundle --release This bundles Festival into Festival.app, the way it comes in the pre-built tars for macOS.


Windows

cargo build --release

There is a build.rs file in the repo solely for Windows-specific things:

  1. It sets the icon in File Explorer
  2. It statically links VCRUNTIME140.dll (the binary will not be portable without this)

License

All of Festival is licensed under the MIT License.

All of the libraries festival-gui (directly) uses:

| Library | Purpose | License | |---------|---------|---------| | clap | CLI arguments | MIT & Apache-2.0 | crossbeamchannel | Thread message passing | MIT & Apache-2.0 | egui | GUI | MIT & Apache-2.0 | eguiextras | GUI | MIT & Apache-2.0 | eframe | GUI | MIT & Apache-2.0 | log | Logging | MIT & Apache-2.0 | image | Image processing | MIT | serde | (De)serialization | MIT & Apache-2.0 | strum | Enum iteration | MIT