forked from andrewrk/daw
digital audio workstation experimentation
- Zig 96.5%
- GLSL 3.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| shaders | ||
| src | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| LICENSE | ||
| README.md | ||
DAW Project
Digital audio workstation experimentation.
Status
Basic text rendering using Vulkan and libxcb (X11).
Building from Source
zig build run
On NixOS, I had to add these to my shell:
buildInputs = [
vulkan-loader
vulkan-validation-layers
xorg.libxcb # if you use -fsys=x11
wayland # if you use -fsys=wayland
];
VK_LAYER_PATH="${pkgs.vulkan-validation-layers}/share/vulkan/explicit_layer.d";
Design Decisions
- This project is just for fun.
- No C++ dependencies, no exceptions, not even harfbuzz. Only Zig and C dependencies allowed.
Short-Term Roadmap
- beep boop button
Medium-Term Roadmap
- sample browser
- drum sequencer
- reallocating when the shared memory runs out
- convert from using pixels as unit of measurement to ems
- allow adjusting DPI
- detect default DPI
Long-Term Roadmap
- cross-platform and safe effects and generator plugins via wasm JIT
- peer-to-peer multiplayer editing
- plugin, project, and sample sharing with a built-in community component