feat: add save/load thread and WAV file I/O for clip persistence
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
This commit is contained in:
22
tui.c
22
tui.c
@@ -1,4 +1,5 @@
|
||||
#include "tui.h"
|
||||
#include "wav_io.h"
|
||||
#include <ncurses.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
@@ -366,8 +367,27 @@ static bool handle_command_mode(void) {
|
||||
// Restore previous nodelay state before returning
|
||||
nodelay(stdscr, prev_nodelay);
|
||||
return true; // Quit
|
||||
} else if (strncmp(cmd_buffer, "load ", 5) == 0) {
|
||||
// :load <clip_index> <filename>
|
||||
char *rest = cmd_buffer + 5;
|
||||
int clip_idx = atoi(rest);
|
||||
// Find filename after clip index
|
||||
char *filename = rest;
|
||||
while (*filename && *filename != ' ') filename++;
|
||||
if (*filename) {
|
||||
*filename = '\0';
|
||||
filename++;
|
||||
while (*filename == ' ') filename++;
|
||||
if (*filename) {
|
||||
// Submit load request via save/load queue
|
||||
save_load_queue_push(&g_engine->save_load_queue, REQ_LOAD_CLIP, clip_idx, filename);
|
||||
}
|
||||
}
|
||||
} else if (strncmp(cmd_buffer, "save ", 5) == 0) {
|
||||
// :save <clip_index>
|
||||
int clip_idx = atoi(cmd_buffer + 5);
|
||||
save_load_queue_push(&g_engine->save_load_queue, REQ_SAVE_CLIP, clip_idx, "");
|
||||
}
|
||||
// Add more commands here as needed
|
||||
|
||||
// Restore previous nodelay state before returning
|
||||
nodelay(stdscr, prev_nodelay);
|
||||
|
||||
Reference in New Issue
Block a user