Files
midi-sequencer/Makefile
mikael-lovqvists-claude-agent 9aba8057a8 Initial scaffold: ALSA MIDI C backend + Node ESM sequencer web app
- protocol.yaml: SSoT for the binary framing protocol (12 record types)
- codegen/gen.mjs: generates C header/source and Node ESM from protocol.yaml
- c-backend: ALSA sequencer with drift-free clock_nanosleep tick thread,
  pattern store (hierarchical sub-patterns), Unix socket server
- node-server: Express 5 web app — REST API, SSE for real-time beat events,
  step-sequencer frontend with pending-edit / explicit-save flow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 00:54:38 +00:00

31 lines
771 B
Makefile

CODEGEN_INPUTS = protocol.yaml codegen/gen.mjs
CODEGEN_OUTPUTS = c-backend/generated/protocol.h \
c-backend/generated/protocol.c \
node-server/src/generated/protocol.mjs
.PHONY: all generate c-backend node-install clean
all: generate c-backend node-install
generate: $(CODEGEN_OUTPUTS)
$(CODEGEN_OUTPUTS): $(CODEGEN_INPUTS) | codegen/node_modules
node codegen/gen.mjs
codegen/node_modules: codegen/package.json
cd codegen && npm install
@touch codegen/node_modules
c-backend: generate
$(MAKE) -C c-backend
node-install: node-server/node_modules
node-server/node_modules: node-server/package.json
cd node-server && npm install
@touch node-server/node_modules
clean:
$(MAKE) -C c-backend clean
rm -f $(CODEGEN_OUTPUTS)