Commit Graph

4 Commits

Author SHA1 Message Date
valknar 7125a2ce4c Fix clip_record_notes: use /record + isRecording polling instead of overdub
Switch from the launcher-overdub approach (which never actually recorded notes)
to arming the track and sending /track/N/clip/N/record, then waiting for
isRecording=1 before starting the MIDI event timer. Adds all-notes-off at loop
end to prevent stuck notes, and reports recording_confirmed in the return value.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 19:01:53 +02:00
valknar 4c147774aa Add clip_record_notes for programmatic MIDI note creation
DrivenByMoss OSC has no direct note-editing API, so this tool creates
clips with real notes by combining clip creation, launcher overdub, and
precisely timed vkb_midi events. Also adds clip_note_info reference tool.

Verified live: 4-note C major arpeggio recorded into Bitwig at 140 BPM,
hasContent confirmed via OSC state feedback (21/21 tests pass).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 18:15:33 +02:00
valknar 28fa27b6bd Add comprehensive README with full tool reference and setup guide
Covers DrivenByMoss OSC configuration, architecture explanation, all 204
tools with parameters and descriptions, usage examples, and troubleshooting.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 17:05:15 +02:00
valknar 12ebe6728c Add full-featured MCP server for Bitwig Studio via DrivenByMoss OSC
204 MCP tools across 11 modules (transport, track, master, device, clip,
scene, browser, project, layout, midi, misc) covering every OSC command
supported by the DrivenByMoss extension.

Architecture mirrors ableton-mcp: FastMCP + python-osc singleton with a
push-based state store (DrivenByMoss proactively sends updates). Python
sends to port 8000 and listens on port 9000.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 17:02:23 +02:00