feat: add JACK audio looper with clip state machine and tests

Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
This commit is contained in:
Loic Coenen
2026-05-01 00:41:53 +00:00
parent fb986499af
commit cce8d05069
5 changed files with 703 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
CC = gcc
CFLAGS = -Wall -Wextra -O2 -g `pkg-config --cflags jack`
LDFLAGS = `pkg-config --libs jack`
TARGET = jack-looper
SRCS = main.c engine.c
OBJS = $(SRCS:.c=.o)
TEST_SRCS = test_engine.c
TEST_OBJS = $(TEST_SRCS:.c=.o)
TEST_TARGET = test_engine
.PHONY: all clean test
all: $(TARGET)
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
test: $(TEST_TARGET)
./$(TEST_TARGET)
$(TEST_TARGET): $(TEST_OBJS) engine.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
clean:
rm -f $(OBJS) $(TEST_OBJS) $(TARGET) $(TEST_TARGET)