Skip to content

hansakerman/goattracker-vibed-out

Repository files navigation

GoatTracker Vibed Out

This repository is a working copy of GoatTracker 2.77, turned into a giant lab + experiment + vibecode extravaganza.

What is different here (vs base 2.77 work copy)

  • Added/extended MIDI input handling in src/midi.c + src/midi.h using CoreMIDI event intake and queueing.
  • Wired MIDI note/event processing into tracker runtime in src/goattrk2.c (including command-line MIDI enable flow and live event consumption).
  • Build wiring includes CoreMIDI/CoreFoundation linkage in src/makefile for this MIDI path.
  • Branch direction is explicitly focused on low-latency jamming behavior and responsive interaction.

Platform direction

  • Primary development machine: macOS on Apple Silicon.
  • Implementation preference: keep things as POSIX-friendly as possible while shipping practical macOS support.

IPC control (new)

GoatTracker now starts a built-in IPC server at launch and exposes command-based control for external clients.

  • Chosen IPC mechanism: Unix Domain Socket (AF_UNIX, stream), default path /tmp/goattracker-<uid>.sock
  • Why: local-only by design (smaller attack surface than TCP), simple framing over a stream socket, robust file-permission model, and easy to extend with more string commands.
  • Initial commands: start_song, stop_song
  • Socket override: set GOATTRACKER_IPC_SOCKET to use a custom socket path.

The server uses a command-dispatch table, so adding new commands is a small, isolated change (register a new command handler).

Reference client

A separate CLI reference client is included:

goattracker-cli start
goattracker-cli stop

This client verifies the IPC transport and establishes a reusable client/server pattern for future clients (GUI, web, editor, automation).

Things to test:

Example Start it with -m1 (midi support) and low latency B5 (I have to test latency and when it starts to break).

./goattrk2 coolsong.sng -m1 -B5

About

Goattracker mutated. Attack of the mutant goat.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors