Commit Graph

46 Commits

Author SHA1 Message Date
Loic Coenen
7bdecdd636 fix: pass live audio input through to output in process callback
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-05 13:35:30 +00:00
Loic Coenen
fa5bb0a1ad fix: use atomic loads for clip state and read position in JACK callback
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-05 12:22:11 +00:00
Loic Coenen
5ed187a181 feat: replace mutex with lock-free ring buffer for real-time audio recording
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-04 22:53:24 +00:00
Loic Coenen
256a06bc21 fix: use -> instead of . for pointer access in engine.c
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-04 22:27:27 +00:00
Loic Coenen
d4ba1589ff fix: use pointer to dispatcher state in process callback for real-time access
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-04 22:25:33 +00:00
Loic Coenen
b74db49d7f fix: add NULL checks for clip buffer and MIDI events in process callback
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-03 20:49:24 +00:00
Loic Coenen
13cbe0c303 fix: use engine->carla_host instead of state.carla_host in process_callback
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-03 19:33:53 +00:00
Loic Coenen
6951801bbc fix: replace real-time unsafe malloc with stack buffers in process_callback
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-03 19:27:00 +00:00
Loic Coenen
fb5b53828a fix: allocate MIDI events and update engine to use new dispatcher API
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-03 19:17:27 +00:00
Loic Coenen
5f1cc081f7 feat: add MIDI clip recording and grid mode support
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-03 18:49:46 +00:00
Loic Coenen
61ab2f0b19 feat: add parallel MIDI grid with separate clip storage and view toggle
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-03 18:49:21 +00:00
Loic Coenen
adcc5e14cf fix: move CarlaHost to Engine struct and fix TUI plugin dialog access
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-03 10:30:36 +00:00
Loic Coenen
8c9804d2ef feat: implement grid-of-grids with 8 separate 8x8 clip grids and zoom mode
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 23:07:35 +00:00
Loic Coenen
8341261d7a fix: add missing carla.h header and implementation files
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 21:35:46 +00:00
Loic Coenen
6d29813a48 fix: add current directory to include path and fix unused variable warning
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 21:33:02 +00:00
Loic Coenen
6bd2e762cb feat: integrate Carla plugin host with rack view, fuzzy search, and volume control
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 21:29:56 +00:00
Loic Coenen
d6ca5a0079 refactor: implement unidirectional data flow with dispatcher pattern
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 14:27:56 +00:00
Loic Coenen
6ca2a4c01a fix: use atomic loads for clip state and buffer_size in engine_process_commands
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 11:24:51 +00:00
Loic Coenen
b6cea54a89 fix: make undo history fields atomic and protect clip buffer access in save/load thread
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 11:19:33 +00:00
Loic Coenen
a8223baf43 fix: use atomic operations for thread-safe clip state access
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 11:09:17 +00:00
Loic Coenen
42ecd94d83 fix: remove duplicate declaration of save_load_running_atomic
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 11:01:09 +00:00
Loic Coenen
7f0ce410b4 fix: use static atomic variable for save/load thread flag
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 11:01:03 +00:00
Loic Coenen
6fb81aa322 fix: remove data races by making save_load_running atomic and removing main thread engine_process_commands calls
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 11:00:43 +00:00
Loic Coenen
e79ebd3301 fix: replace usleep with nanosleep for POSIX compliance
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 10:27:26 +00:00
Loic Coenen
f37cb5c0a6 feat: add save/load thread and WAV file I/O for clip persistence
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-02 10:18:04 +00:00
Loic Coenen
31653d8b4a fix: make command queue thread-safe with CAS and memory fences
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 23:41:27 +00:00
Loic Coenen
5423daabb1 fix: remove null check for clip buffer in trigger command
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 23:31:56 +00:00
Loic Coenen
73f1c355fe fix: add null check for clip buffer in reset clip command
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 23:31:24 +00:00
Loic Coenen
b0ad3b3d19 fix: add undo support for transport state changes
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 23:28:33 +00:00
Loic Coenen
2e0770e95d test: add nuclear-grade stress tests and memory safety fixes
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 23:17:13 +00:00
Loic Coenen
f3da43f4db fix: add missing UndoAction fields and null checks to prevent memory corruption
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 23:13:04 +00:00
Loic Coenen
2a0603247b fix: declare missing variables in process_callback
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 22:47:32 +00:00
Loic Coenen
08d1b3508f fix: remove stray brace causing syntax error in engine_process_commands
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 21:28:49 +00:00
Loic Coenen
d9de05b1da refactor: replace atomic_double with fixed-point BPM and remove circular dependency
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 21:27:38 +00:00
Loic Coenen
a47598df8c feat: refactor transport into separate module with master/slave clock support
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 21:08:38 +00:00
Loic Coenen
de4f6ef581 fix: prevent command queue overflow by directly manipulating state in undo/redo
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 20:20:14 +00:00
Loic Coenen
5dc533e3a2 fix: add missing CMD_UNDO and CMD_REDO cases inside switch block
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 20:12:54 +00:00
Loic Coenen
be3582bc13 feat: implement undo/redo system with history tracking and tests
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 20:10:45 +00:00
Loic Coenen
aefcb175dd fix: remove debug printf calls from engine_process_commands
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 16:17:45 +00:00
Loic Coenen
32270aaddb fix: expose command_queue_init for testing by removing static
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 14:53:13 +00:00
Loic Coenen
7b23c75dd1 feat: implement lock-free command queue and atomic state for thread safety
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 14:52:53 +00:00
Loic Coenen
01998dd1a0 fix: remove duplicate engine implementation and unused GUI code
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 14:04:50 +00:00
Loic Coenen
05c6f34b8f feat: add microui-based GUI with transport controls and progress bar
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 13:02:39 +00:00
Loic Coenen
d63a3f5ab2 feat: add 8x8 scene/channel grid, MIDI clock sync, and quantization engine
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 01:29:03 +00:00
Loic Coenen
1e1594adca fix: correct JACK shutdown callback signature and suppress unused parameter warning
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 00:49:21 +00:00
Loic Coenen
cce8d05069 feat: add JACK audio looper with clip state machine and tests
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 00:41:53 +00:00