1
0
Fork 0
forked from hanez/xtc
No description
  • C 64.3%
  • C++ 29%
  • Python 4.3%
  • Makefile 2.4%
Find a file
2026-10-26 22:51:25 +01:00
docs Initial commit. 2026-10-26 22:51:25 +01:00
examples Initial commit. 2026-10-26 22:51:25 +01:00
include/xtlite Initial commit. 2026-10-26 22:51:25 +01:00
src Initial commit. 2026-10-26 22:51:25 +01:00
tests Initial commit. 2026-10-26 22:51:25 +01:00
.gitignore Initial commit. 2026-10-26 22:51:25 +01:00
AGENT.md Initial commit. 2026-10-26 22:51:25 +01:00
LICENSE Initial commit. 2026-10-26 22:51:25 +01:00
Makefile Initial commit. 2026-10-26 22:51:25 +01:00
README.md Initial commit. 2026-10-26 22:51:25 +01:00

xtlite — a lightweight, modular DAW

xtlite is a new, energyXT-inspired digital audio workstation project. It is not a clone and contains no energyXT source code or assets.

Design decisions

  • Modular engine first: sequencer, instruments, effects, mixers and I/O are nodes in one processing graph.
  • C core: project model, graph, DSP and audio engine are implemented in C.
  • FLTK/C++ GUI: C++ is confined to the graphical interface and calls the core through a C API.
  • Linux first: keep backend-specific details behind an interface.
  • Small increments: build and test each milestone before adding features.

Current status

This repository is a starter scaffold, not a production DAW. It currently provides:

  • a small C library/API;
  • a minimal graph model with validation and topological ordering;
  • a gain processor and offline audio-block processing;
  • a C unit test;
  • an optional FLTK GUI shell;
  • architecture, format, GUI, roadmap, and decision documents.

Real audio-device integration, recording, MIDI, plugin hosting, project persistence, and the actual sequencer UI are not implemented yet.

Build

Requirements: a C compiler, a C++ compiler, GNU Make, and pkg-config. FLTK is optional for the core and tests.

make
make test

Build the optional FLTK GUI if FLTK is installed:

make gui

Run the GUI:

./build/xtlite

The current GUI is only a shell and does not yet produce sound. The core's offline graph test is the first executable audio-processing milestone.

Clean generated files:

make clean

Suggested first agent task

Read AGENT.md and docs/ARCHITECTURE.md. Inspect the existing implementation, run make test, and report gaps before adding the next feature. Do not jump directly to plugin hosting or a full sequencer.

License

The project is scaffolded under the MIT License; see LICENSE. Review the licenses of any future dependencies before distribution.