Make routing/browser/return tools real; add rig helpers; fix stubs - #4
Merged
Merged
Conversation
Turn placeholder tools into working implementations and add setup helpers: - Routing: set_track_input_routing / set_track_output_routing and both sub-routing setters now actually assign the LOM routing objects by display name (were no-op stubs). Added _match_routing helper. - Rig helpers: setup_hardware_midi_track (create+route+monitor+arm in one call), apply_rig_template, get_available_midi_ports. - Return/aux tools: rename_return_track, set_return_track_color, set_return_track_output_routing, get_available_output_ports. - Browser: real load_device / search_browser (native devices, VST/AU, Max for Live) via browser traversal + load_item; add_device and browse_plugins/browse_devices/get_browser_items now real. - Stub fixes: create_locator (set_or_delete_cue), scroll_view_to_time, get_automation_envelope_values (samples the envelope), get_device_presets (real metadata). Genuine LOM limitations (set_device_preset, ungroup_track, consolidate_clip) now return honest errors instead of faking success. Verified live against Ableton Live 12 (routing set + read back; tracks created/named/coloured; template built and routed to FH-2/NUSS/Phase 8). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Ziforge
added a commit
that referenced
this pull request
Sep 9, 2026
…es (#6) Addresses the tool-surface audit in issue #3 (verified on Live 12.4). Tools that referenced Live Object Model members that don't exist now either work or return an honest {"ok": false} instead of a no-op ok:true or a misleading "not available". Honest "not exposed by the Live Object Model" errors: - freeze_track / unfreeze_track / flatten_track (only read-only is_frozen/ can_be_frozen exist; no freeze trigger, no Track.flatten()) - get/set_track_delay (no Track.delay) - get/set_track_annotation, get/set_clip_annotation (no annotation member) - get/set_clip_follow_action, set_follow_action_time (no Clip.follow_action_*; set_clip_follow_action no longer falsely returns ok:true) - get/set_groove_amount (no Track.groove_amount; groove is per-clip Clip.groove) - delete_take_lane (no Track.delete_take_lane()) - get/set_metronome_volume (Song.metronome is on/off bool, not a volume) Made real: - send_midi_cc / send_program_change now send via c_instance.send_midi(...) (a Remote Script sends MIDI through the control-surface layer, not Song.send_midi) - clip fades read/write clip.sample.sample_env_fade_in/out (audio clips only), with an honest error otherwise Grouping already fixed in #4/#5. Routing/sub-routing already made real in #4. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Turns placeholder tools into working implementations (real MIDI routing, browser device/plugin/M4L loading, return-track management, rig-setup composites) and fixes remaining stubs (locators, automation sampling, device metadata) — with honest errors for genuine LOM limitations (set_device_preset, ungroup, consolidate). Verified live against Live 12.
🤖 Generated with Claude Code