festival-gui
Festival GUI (egui) client. Directly uses festival internals.
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:
- It sets the icon in
File Explorer - 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 |