Skip to content

Add comprehensive browser API for loading effects, sounds, samples, and navigation#183

Open
christopherwxyz wants to merge 3 commits intoideoforms:masterfrom
christopherwxyz:master
Open

Add comprehensive browser API for loading effects, sounds, samples, and navigation#183
christopherwxyz wants to merge 3 commits intoideoforms:masterfrom
christopherwxyz:master

Conversation

@christopherwxyz
Copy link

Summary

This PR adds a comprehensive browser API to AbletonOSC, enabling programmatic access to Ableton Live's browser for loading instruments, effects, sounds, samples, and more.

New OSC Endpoints

Audio & MIDI Effects

  • /live/browser/load_audio_effect <name> - Load audio effect by name (Reverb, Delay, etc.)
  • /live/browser/load_midi_effect <name> - Load MIDI effect by name (Arpeggiator, Chord, etc.)
  • /live/browser/load_default_audio_effect - Load Reverb
  • /live/browser/load_default_midi_effect - Load Arpeggiator
  • /live/browser/list_audio_effects - List available audio effects
  • /live/browser/list_midi_effects - List available MIDI effects

Sounds & Presets

  • /live/browser/load_sound <name> - Load sound preset
  • /live/browser/list_sounds - List sound categories

Samples & Clips

  • /live/browser/load_sample <name> - Load sample into Simpler
  • /live/browser/load_clip <name> - Load clip
  • /live/browser/list_samples [category] - List samples
  • /live/browser/list_clips [category] - List clips

Plugins & Max for Live

  • /live/browser/load_plugin <name> - Load VST/AU plugin
  • /live/browser/load_max_device <name> - Load Max for Live device
  • /live/browser/list_plugins - List available plugins
  • /live/browser/list_max_devices - List M4L devices

Browser Navigation

  • /live/browser/browse <category> - Browse category (instruments, audio_effects, etc.)
  • /live/browser/browse_path <category> <path> - Browse path within category
  • /live/browser/search <query> - Search across all categories
  • /live/browser/get_item_info <category> <name> - Get item details

User Library

  • /live/browser/list_user_presets [category] - List user presets
  • /live/browser/load_user_preset <path> - Load user preset

Hotswap & Preview

  • /live/browser/hotswap_start <track> <device> - Enter hotswap mode
  • /live/browser/hotswap_load <name> - Load via hotswap
  • /live/browser/preview_sample <name> - Preview sample
  • /live/browser/stop_preview - Stop preview

Use Case

This API enables AI assistants and other tools to programmatically browse and load content from Ableton's browser, making it possible to:

  • Create complete tracks with instruments and effects
  • Search for and load sounds by name
  • Build automated workflows for music production

Testing

Tested with Ableton Live 12 on macOS.

christopherwxyz and others added 2 commits February 1, 2026 10:56
- New browser.py handler with endpoints:
  - /live/browser/load_default_instrument
  - /live/browser/load_instrument <name>
  - /live/browser/load_drum_kit [name]
- Prefers synths (Drift, Analog) over samplers (Simpler)
  because synths produce sound immediately without samples

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ation

New OSC endpoints:
- Audio/MIDI effects: load_audio_effect, load_midi_effect, load_default_*
- Sounds: load_sound, list_sounds
- Samples/Clips: load_sample, load_clip, list_samples, list_clips
- Plugins/M4L: load_plugin, load_max_device, list_plugins, list_max_devices
- Navigation: browse, browse_path, search, get_item_info
- User library: list_user_presets, load_user_preset
- Hotswap: hotswap_start, hotswap_load, preview_sample, stop_preview

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

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.

2 participants