start_recording
Initiate recording on a specified track in REAPER DAW by arming it and starting transport. Provide the track index to begin capturing audio; call stop_transport when done.
Instructions
Arm a track and start recording. Call stop_transport when done.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes |
Implementation Reference
- src/reaper_mcp/audio_tools.py:47-60 (handler)The start_recording tool handler: arms a track and triggers REAPER record transport command (1013). Returns success/error dict.
def start_recording(track_index: int) -> dict: """Arm a track and start recording. Call stop_transport when done.""" try: project = get_project() track = project.tracks[track_index] track.armed = True RPR.Main_OnCommand(1013, 0) # Transport: Record return { "success": True, "track_index": track_index, "message": "Recording started. Call stop_transport to stop.", } except Exception as e: return {"success": False, "error": str(e)} - src/reaper_mcp/server.py:14-14 (registration)Import and registration of audio_tools module (which contains start_recording) via register_tools on the mcp instance.
from reaper_mcp.audio_tools import register_tools as _reg_audio - src/reaper_mcp/server.py:24-24 (registration)Invocation of _reg_audio(mcp) which registers all audio tools including start_recording.
_reg_audio(mcp) - src/reaper_mcp/audio_tools.py:12-12 (registration)The register_tools function in audio_tools.py uses @mcp.tool() decorator pattern to register start_recording as an MCP tool.
def register_tools(mcp): - src/reaper_mcp/connection.py:27-29 (helper)get_project() helper called by start_recording to get the active REAPER project.
def get_project() -> reapy.Project: ensure_connected() return reapy.Project()