1 unstable release
0.0.0 | Mar 23, 2023 |
---|
#3 in #festival
3MB
3.5K
SLoC
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 |
Dependencies
~20–60MB
~1M SLoC