Skip to main content
Glama

list_sequence_tracks

Retrieve all video and audio tracks with their properties and clips from a specific sequence in Adobe Premiere Pro.

Instructions

Lists all video and audio tracks in a specific sequence with their properties and clips.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sequenceIdYesThe ID of the sequence to list tracks for

Implementation Reference

  • Registration of the 'list_sequence_tracks' tool in getAvailableTools(), including its description and Zod input schema.
    name: 'list_sequence_tracks', description: 'Lists all video and audio tracks in a specific sequence with their properties and clips.', inputSchema: z.object({ sequenceId: z.string().describe('The ID of the sequence to list tracks for') }) },
  • Tool handler dispatch in the executeTool method's switch statement.
    case 'list_sequence_tracks': return await this.listSequenceTracks(args.sequenceId); case 'get_project_info':
  • Core implementation of list_sequence_tracks tool: executes ExtendScript via PremiereProBridge to fetch and return detailed track and clip information for the given sequence.
    private async listSequenceTracks(sequenceId: string): Promise<any> { const script = ` try { var sequence = app.project.getSequenceByID("${sequenceId}"); if (!sequence) { JSON.stringify({ success: false, error: "Sequence not found" }); return; } var videoTracks = []; var audioTracks = []; // List video tracks for (var i = 0; i < sequence.videoTracks.numTracks; i++) { var track = sequence.videoTracks[i]; var clips = []; for (var j = 0; j < track.clips.numItems; j++) { var clip = track.clips[j]; clips.push({ id: clip.nodeId, name: clip.name, startTime: clip.start.seconds, endTime: clip.end.seconds, duration: clip.duration.seconds }); } videoTracks.push({ index: i, name: track.name || "Video " + (i + 1), enabled: track.isTargeted(), locked: track.isLocked(), clips: clips, clipCount: clips.length }); } // List audio tracks for (var i = 0; i < sequence.audioTracks.numTracks; i++) { var track = sequence.audioTracks[i]; var clips = []; for (var j = 0; j < track.clips.numItems; j++) { var clip = track.clips[j]; clips.push({ id: clip.nodeId, name: clip.name, startTime: clip.start.seconds, endTime: clip.end.seconds, duration: clip.duration.seconds }); } audioTracks.push({ index: i, name: track.name || "Audio " + (i + 1), enabled: track.isTargeted(), locked: track.isLocked(), clips: clips, clipCount: clips.length }); } JSON.stringify({ success: true, sequenceId: "${sequenceId}", sequenceName: sequence.name, videoTracks: videoTracks, audioTracks: audioTracks, totalVideoTracks: videoTracks.length, totalAudioTracks: audioTracks.length }); } catch (e) { JSON.stringify({ success: false, error: e.toString() }); } `; return await this.bridge.executeScript(script); }

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/hetpatel-11/Adobe_Premiere_Pro_MCP'

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