Skip to main content
Glama

stop_clip

Stop playback of a specific clip in Ableton Live by specifying its track and slot positions, allowing precise control over audio or MIDI sequences during music production.

Instructions

Stop playing a clip.

Parameters:

  • track_index: The index of the track containing the clip

  • clip_index: The index of the clip slot containing the clip

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
track_indexYes
clip_indexYes

Implementation Reference

  • MCP tool handler for 'stop_clip'. Forwards the command to the Ableton remote script via the connection's send_command method.
    @mcp.tool() def stop_clip(ctx: Context, track_index: int, clip_index: int) -> str: """ Stop playing a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip slot containing the clip """ try: ableton = get_ableton_connection() result = ableton.send_command("stop_clip", { "track_index": track_index, "clip_index": clip_index }) return f"Stopped clip at track {track_index}, slot {clip_index}" except Exception as e: logger.error(f"Error stopping clip: {str(e)}") return f"Error stopping clip: {str(e)}"
  • Helper method in the Ableton remote script that performs the actual clip stopping using Live API: clip_slot.stop()
    def _stop_clip(self, track_index, clip_index): """Stop a clip""" try: if track_index < 0 or track_index >= len(self._song.tracks): raise IndexError("Track index out of range") track = self._song.tracks[track_index] if clip_index < 0 or clip_index >= len(track.clip_slots): raise IndexError("Clip index out of range") clip_slot = track.clip_slots[clip_index] clip_slot.stop() result = { "stopped": True } return result except Exception as e: self.log_message("Error stopping clip: " + str(e)) raise
  • Dispatch handler in remote script that routes 'stop_clip' command to the _stop_clip method.
    elif command_type == "stop_clip": track_index = params.get("track_index", 0) clip_index = params.get("clip_index", 0) result = self._stop_clip(track_index, clip_index)
  • 'stop_clip' is registered as a state-modifying command in the AbletonConnection.send_command method.
    is_modifying_command = command_type in [ "create_midi_track", "create_audio_track", "set_track_name", "create_clip", "add_notes_to_clip", "set_clip_name", "set_tempo", "fire_clip", "stop_clip", "set_device_parameter", "start_playback", "stop_playback", "load_instrument_or_effect" ]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahujasid/ableton-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server