Files
jack-looper/test_gui.c
Loic Coenen c893f3f561 fix: update GUI to use Engine struct and remove duplicate definitions
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
2026-05-01 13:05:13 +00:00

54 lines
1.3 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <jack/jack.h>
#include "engine.h"
#include "gui.h"
static jack_client_t *client = NULL;
static float *buffer = NULL;
static int buffer_size = 0;
int main(void)
{
/* create JACK client */
const char *client_name = "jack_looper_gui_test";
jack_options_t options = JackNullOption;
jack_status_t status;
client = jack_client_open(client_name, options, &status);
if (client == NULL) {
fprintf(stderr, "jack_client_open() failed, status = 0x%2.0x\n", status);
if (status & JackServerFailed) {
fprintf(stderr, "Unable to connect to JACK server\n");
}
return 1;
}
/* allocate audio buffer */
buffer_size = 4096;
buffer = calloc(buffer_size, sizeof(float));
if (!buffer) {
fprintf(stderr, "Failed to allocate audio buffer\n");
jack_client_close(client);
return 1;
}
/* initialize engine */
if (engine_init(client, buffer, buffer_size) != 0) {
fprintf(stderr, "Failed to initialize engine\n");
free(buffer);
jack_client_close(client);
return 1;
}
/* run GUI */
int ret = gui_main(client, buffer, buffer_size);
/* cleanup */
engine_cleanup(g_engine);
free(buffer);
jack_client_close(client);
return ret;
}