Skip to content

Make routing/browser/return tools real; add rig helpers; fix stubs - #4

Merged
Ziforge merged 1 commit into
mainfrom
real-tools-upgrade
Sep 9, 2026
Merged

Ziforge merged 1 commit into
mainfrom
real-tools-upgrade

Conversation

@Ziforge

@Ziforge Ziforge commented Sep 9, 2026

Copy link
Copy Markdown
Owner

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

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
Ziforge merged commit fd376b2 into main Sep 9, 2026
2 checks passed
@Ziforge
Ziforge deleted the real-tools-upgrade branch September 9, 2026 01:30
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant