list_tracks
Lists all vocal tracks in a Synthesizer V AI project to manage and edit vocal arrangements for music production.
Instructions
List all tracks in the current project
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "list_tracks"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:253-260 (registration)Registration of the 'list_tracks' tool in the ListToolsRequestSchema handler, including its name, description, and empty input schema.
{ name: "list_tracks", description: "List all tracks in the current project", inputSchema: { type: "object", properties: {}, required: [] } - src/index.ts:396-405 (handler)The handler function for the 'list_tracks' tool within the CallToolRequestSchema switch statement. It executes the command via executeCommand and returns the tracks data as a JSON string.
case "list_tracks": { const tracks = await executeCommand("list_tracks"); return { content: [{ type: "text", text: JSON.stringify(tracks, null, 2) }] }; } - src/index.ts:76-84 (helper)Helper function executeCommand used by the list_tracks handler to send the 'list_tracks' action to the Synthesizer V Studio Lua script via file communication and retrieve the response.
async function executeCommand(action: string, params: any = {}): Promise<any> { const command = { action, ...params }; await writeCommand(command); return await readResponse(); } - src/index.ts:95-100 (schema)Type definition for Track, used in handling responses from list_tracks.
interface Track { id: number; name: string; noteCount: number; notes?: Note[]; }