2026-11-06 15:20:20 +01:00
|
|
|
# Decision 0001: Modular Engine First
|
2026-10-26 22:51:25 +01:00
|
|
|
|
|
|
|
|
**Status:** Accepted
|
|
|
|
|
|
2026-11-06 15:20:20 +01:00
|
|
|
---
|
|
|
|
|
|
2026-10-26 22:51:25 +01:00
|
|
|
## Context
|
|
|
|
|
|
|
|
|
|
The project aims to preserve energyXT's combination of a simple workflow and a
|
|
|
|
|
flexible modular routing model.
|
|
|
|
|
|
2026-11-06 15:20:20 +01:00
|
|
|
---
|
|
|
|
|
|
2026-10-26 22:51:25 +01:00
|
|
|
## Decision
|
|
|
|
|
|
2026-11-06 15:20:20 +01:00
|
|
|
Use one unified processing graph for sources, instruments, effects, mixers, and
|
|
|
|
|
outputs. The sequencer is a timeline/event source integrated with that graph.
|
|
|
|
|
The default GUI is simple and sequencer-oriented, while a graph editor exposes
|
|
|
|
|
routing when needed.
|
|
|
|
|
|
|
|
|
|
---
|
2026-10-26 22:51:25 +01:00
|
|
|
|
|
|
|
|
## Consequences
|
|
|
|
|
|
|
|
|
|
- Graph validation, scheduling, buffer allocation, and safe graph replacement
|
|
|
|
|
are foundational requirements.
|
|
|
|
|
- Initial audio graph rejects cycles.
|
|
|
|
|
- Graph execution plans are prepared off the audio thread.
|
|
|
|
|
- The UI must not create a separate routing model disconnected from the engine.
|