4.2 KiB
Known limitations and qualification boundaries
- Development version 0.1.0, Linux C99/C++17/FLTK, optional JACK. Physical-device playback/capture, human transition listening, independent user acceptance and long-duration device qualification are pending.
- Fixed 4/4 and constant tempo snapshots; no tempo map, loop transport, plugin latency compensation, limiter, background streaming or multichannel mixer buses.
- Mono capture/import downmix; stereo track output. Graph ports are mono with independent paired processing. Maximum 64 project graph nodes (256 standalone), 64 tracks, 1024 clips/automation points, 4096 scheduled notes, 256 live MIDI events/block, 32 voices, 65536 frames/block. See API headers for exact bounds.
- WAV samples preload with the memory/format limits in AUDIO_FILES.md. Callback overflow reports/silences; there is no CPU preemption or expensive-plugin rescue.
- Live MIDI configurable per-channel volume/pan/sustain CC mapping; no controller learn, capture, SMF import, pitch bend, custom-instrument chooser or instrument timbre controls.
- Native ABI 1 graph nodes are session-only. ABI 2 state is parameter-only. LADSPA supports the documented mono amp/inverter/sine set; no opaque state, native editor, MIDI, true multichannel layout, latency compensation or crash isolation. Automated LADSPA controls use run(1) and can be expensive.
- GUI loading/compilation is synchronous on the control thread. Timeline grid/ zoom/selection and graph positions are session UI state. Undo retains 32 edits plus baseline; allocation failures are reported, not silently hidden. Media is never removed by undo/delete. Broad screen-reader/accessibility testing is pending.
- Format v10 reads v1–v9 and uses relative local media references. External absolute media/module paths need manual repair after relocation. Saving does not bundle media; missing media stays referenced, missing plugins reject GUI installation. Unknown data is rejected rather than stripped. Post-rename directory-sync errors can report failure even though the complete new document was published.
- No autosave/session crash restoration, RF64, system service, automatic dependency installation or public signed release. Source/binary archives are local artifacts; binary packages require compatible system libraries. No third-party plugin or dependency binary is bundled. Power-cut durability depends on the filesystem.
See ROADMAP.md, AUDIO_QUALITY.md, CONTROL.md, WORKFLOW.md, PROJECT_FORMAT.md, PERFORMANCE.md, PLUGIN_HOSTING.md and RECOVERY.md for tested contracts/evidence.
-
Waveform previews load synchronously on the control thread and cache at most 64 paths/1024 bins each. Reopen after external media replacement. Audio cuts use tick resolution; GUI safety fades can create a short dip at split edges. Time stretching, independent pitch shifting and crossfades are deferred.
-
Graph folders, per-track graph routing and track templates remain deferred: timeline and MIDI sources expose shared mixes. Layout is session-only; no feedback cycles, plugin isolation or latency compensation are supplied.
-
Stereo one-level mix buses share the 64-track limit. Nested buses, independent bus plugin inserts, per-track aux sends and sidechains remain deferred. Track meters are pre-bus; bus meters are pre-graph; master is post-graph. Sample peaks and sticky clipping do not provide loudness, true-peak analysis or limiting.
-
Plugin discovery is an explicit-file descriptor browser, not a directory scan. Generic parameter dialogs own copied metadata; no native plugin editors or custom MIDI instrument chooser. LADSPA units are unspecified. Replacement requires the same mono audio layout and resets controls/automation. Missing modules reject Open while retaining the current project; GUI module relink for unopened documents is deferred. In-process plugin crashes/hangs are uncontained.
-
Common parameter targets cover track/bus gain/pan, LADSPA controls and metadata for live sine volume/pan/sustain. Live mappings do not drive arranged lanes, faders or plugins. No automation capture, touch/latch/write modes or loop transport. Backward jumps are deterministic for lanes, not opaque plugin tails.