Skip to content

Add chain handler with 25 endpoints for rack device chains#199

Open
bimsonz wants to merge 1 commit intoideoforms:masterfrom
bimsonz:feat/chain-support
Open

Add chain handler with 25 endpoints for rack device chains#199
bimsonz wants to merge 1 commit intoideoforms:masterfrom
bimsonz:feat/chain-support

Conversation

@bimsonz
Copy link
Copy Markdown

@bimsonz bimsonz commented Apr 6, 2026

Summary

New ChainHandler with complete chain manipulation support for Drum Racks, Instrument Racks, and Audio Effect Racks.

Endpoints (25)

Chain properties (get/set): name, mute, solo, color, color_index
Chain read-only: has_audio_input, has_audio_output, has_midi_input, has_midi_output, is_auto_colored, muted_via_solo
Chain mixer: volume and panning via chain.mixer_device
Chain device discovery: num_devices, device names/types/class_names/can_have_chains
Chain device parameters: bulk get (name/value/min/max/is_quantized) and single get/set
Sidechain routing: query available sources, set routing by parameter name

Addressing

All endpoints use (track_id, device_id, chain_index, ...) addressing. Chain device params add a 4th index: (track_id, device_id, chain_index, chain_device_id, ...).

Files changed

  • abletonosc/chain.py — new 209-line handler
  • abletonosc/__init__.py — ChainHandler import
  • manager.py — ChainHandler registration + reload

Dependencies

Requires #197 for _resolve_track() and _has_chains() in the handler base class.

New ChainHandler with full chain manipulation support for Drum Racks,
Instrument Racks, and Audio Effect Racks.

Chain properties (get/set): name, mute, solo, color, color_index.
Chain read-only: has_audio_input, has_audio_output, has_midi_input,
has_midi_output, is_auto_colored, muted_via_solo.
Chain mixer: volume and panning via chain.mixer_device.
Chain device discovery: num_devices, device names/types/class_names.
Chain device parameters: bulk get (name/value/min/max/is_quantized)
and single get/set for parameters within chain devices.
Sidechain routing: query available sources, set routing by parameter.

Depends on feat/master-return-tracks for _resolve_track() and
_has_chains() in handler base class.
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