diff --git a/README.md b/README.md index a5d33ad..a8e642f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,137 @@ -# waveboard -A simple cross-platform soundboard +This is a rewrite of the old [waveboard](https://github.com/x07x08/waveboard_go) project to make it cross-platform +and easier to work with for the end-user. + +The application is now a command line interface with a web UI. + +Tested on Fedora 40 and Windows 10. Unsure about Mac support. + +# Installation + +1. Get a [binary](https://github.com/x07x08/waveboard/releases) or preferably compile one yourself +2. Put the [`src/web`](https://github.com/x07x08/waveboard/tree/main/src/web) folder in the same directory as the binary + +# Features + +* Global keyboard hotkeys / shortcuts for sounds +* In-memory playback +* Source Engine chat commands +* Whitelist and blacklist +* Audio queue +* Video downloader and converter +* Text-To-Speech using [`SAPI`](https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms720592(v=vs.85)) on Windows +* A barebones [JavaScript API](https://github.com/x07x08/waveboard/blob/a1e42206e7b4476b106a7ab0d544d91c0b422a61/src/web/index.html#L531) +* Supported formats : .ogg (opus and vorbis), .mp3, .wav, .flac + +# Screenshots + + + + + + + + + + + + + + + + + +
+ +

+ Log tab +

+
+ +

+ Audio tab +

+
+ +

+ Downloader tab +

+
+ +

+ Log watch tab +

+
+ +

+ Queue tab +

+
+ +

+ Text-To-Speech tab +

+
+ +

+ Settings tab +

+
+ +# Requirements + +1. A virtual audio cable ([`Virtual-Audio-Cable`](https://vac.muzychenko.net) or [`VB-Audio Cable`](https://vb-audio.com/Cable/)) + - Follow [this](https://www.youtube.com/watch?v=fi5I6bzy2f8), [the text](https://github.com/fuck-shithub/STARK#how-to-set-up) tutorial or find another tutorial to install the drivers. + - You may need to disable ["Driver Signature Enforcement"](https://www.youtube.com/watch?v=71YAIw7_-kg) during the installation process. + +2. An audio directory (it is searched recursively) + - It will be used by the program to play tracks and download videos. + +3. *Optional* A log file within your Source Engine game using the [`con_logfile `](https://developer.valvesoftware.com/wiki/List_of_console_scripting_commands) command or the [`-condebug`](https://developer.valvesoftware.com/wiki/Command_line_options) launch option + - This is for the log watching feature, which allows interaction with the application using the game's chat. + - You can use an `autoexec.cfg` file for easier management. + +4. *Optional* [yt-dlp](https://github.com/yt-dlp/yt-dlp) and [ffmpeg](https://www.ffmpeg.org/download.html) binaries for video downloading and conversion + + The yt-dlp binary needs to be named "ytdl" or "ytdl.exe" + +# Compiling + +You will need : + +* [Zig](https://github.com/ziglang/zig) + +
+
+ Windows : +
+
+ Nothing else +
+
+ +
+
+ Linux : +
+
+ Check build.zig for the required dependencies +
+
+ +# Credits and libraries + +* [STARK](https://github.com/axynos/STARK) - I've used it for a long time, but it is half broken and uses the disk to write raw audio data. + +--- + +* [miniaudio](https://github.com/mackron/miniaudio) +* [libuiohook](https://github.com/kwhat/libuiohook) - evdev branch +* [nfd-extended](https://github.com/btzy/nativefiledialog-extended) +* [ogg-container](https://github.com/xiph/ogg) +* [opus](https://github.com/xiph/opus) and [opusfile](https://github.com/xiph/opusfile) +* [vorbis](https://github.com/nothings/stb/tree/master) + +--- + +* [webui](https://github.com/webui-dev/zig-webui) +* [regex](https://github.com/tiehuis/zig-regex)