Something went wrong. Try again.
Plays short audio files such as a terminal bell through PipeWire on Linux and WASAPI on Windows.
Something went wrong. Try again.
Contributing to zig-chime #
Pull requests and issues go to the Tangled mirror, https://tangled.org/jcollie.dev/zig-chime.
Before you change anything #
- Read
GLOSSARY.mdand use its words. A Sound is not a clip and a Player is not a device; if a change needs a new term, add it there. - Read
docs/adr/. A decision recorded there is deliberate; a change that reverses one should add an ADR saying why.
What a change needs #
Everything runs through the Nix flake, so the toolchain is the one CI uses:
$ nix develop -c zig fmt --exclude zig-pkg --check .
$ nix develop -c reuse lint
$ nix develop -c zig build test --summary all
$ nix develop -c zig build check --summary all
$ nix develop -c zig build test -Dtarget=x86_64-windows -fwine
Wine wants a 64-bit prefix; if ~/.wine is a 32-bit one, point WINEPREFIX at
an empty directory.
-
A change to
build.zig.zonregeneratesbuild.zig.zon.nix, which is what CI fetches the dependencies from:$ nix develop -c zon2nix --17 --nix=build.zig.zon.nix build.zig.zon -
Tests must not need a sound device. CI has neither PipeWire nor a Windows audio endpoint, so behavior is tested against the null backend, which records what it was asked to play.
-
Every file carries an SPDX header, or is covered in
REUSE.tomlif it cannot hold one. New code is MIT.