feat: add microui-based GUI with transport controls and progress bar
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
This commit is contained in:
53
test_gui.c
53
test_gui.c
@@ -0,0 +1,53 @@
|
||||
#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(client);
|
||||
free(buffer);
|
||||
jack_client_close(client);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user