1 unstable release

0.0.0 Mar 23, 2023

#3 in #festival

MIT license

3MB
3.5K SLoC

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
crossbeam_channel Thread message passing MIT & Apache-2.0
egui GUI MIT & Apache-2.0
egui_extras 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

Dependencies

~20–60MB
~1M SLoC