Public-ready: JSON tune specs, first-class loop API, licence, AGENTS.md

- MidiFile.set_loop(): one call writes LOOP_START/END, RPR LOOP
  START/END (Reaper) and LoopBegin/End markers - every engine finds
  its dialect; reader now parses markers and the smoke test asserts
  the round-trip
- tools/make_tune.py: declarative JSON spec -> fully arranged MIDI
  with style presets (dos_adventure, n64_ambient, chiptune_racing);
  the agent-friendly front door, no Python required
- tunes/specs/: demo tune 04 'Tea Break at the Terminal' (Am/112,
  loop bars 4-20) generated entirely from JSON
- AGENTS.md: spec schema, score grammar, verification loop, looping
  conventions for game BGM
- MIT LICENSE; history audited clean of credentials
This commit is contained in:
Hermes Agent committed 2026-10-17 06:59:04 +00:00
1 parent c3cd91d04f
commit 633eb92352
15 files changed
+387 -9

No files matched your search

+1 -2
View File
@@ -132,8 +132,7 @@ def build():
mf.add_track(lead); mf.add_track(counter); mf.add_track(bass)
mf.add_track(acomp); mf.add_track(d)
# loop points for game engines: intro plays once, A-B-A' loops
lead.marker(bar(4), "LOOP_START")
lead.marker(bar(28), "LOOP_END")
mf.set_loop(bar(4), bar(28))
return mf