Sync: Complete project state with all MEGA SPRINT V1-V3 features and Codex stubs

This commit is contained in:
renato97
2026-04-08 17:58:47 -03:00
parent c9d3528900
commit 6d080d43b3
372 changed files with 189715 additions and 8590 deletions

59
patch_runtime.py Normal file
View File

@@ -0,0 +1,59 @@
import sys
import os
path = r'C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\abletonmcp_runtime.py'
with open(path, 'r', encoding='utf-8') as f:
lines = f.readlines()
new_lines = []
for i in range(len(lines)):
if 'created_clip = track.create_audio_clip(resolved_path, float(position))' in lines[i]:
new_lines.append(' success = False\n')
new_lines.append(' created_clip = None\n')
new_lines.append(' for attempt in range(3):\n')
new_lines.append(' try:\n')
new_lines.append(' created_clip = track.create_audio_clip(resolved_path, float(position))\n')
new_lines.append(' except Exception as e:\n')
new_lines.append(' self.log_message("Warning: Clip creation error at attempt " + str(attempt+1) + ": " + str(e))\n')
new_lines.append(' import time\n')
new_lines.append(' time.sleep(0.1)\n')
new_lines.append(' clip_persisted = False\n')
new_lines.append(' for clip in getattr(track, "arrangement_clips", getattr(track, "clips", [])):\n')
new_lines.append(' if hasattr(clip, "start_time") and abs(float(clip.start_time) - float(position)) < 0.05:\n')
new_lines.append(' clip_persisted = True\n')
new_lines.append(' created_clip = clip\n')
new_lines.append(' break\n')
new_lines.append(' if clip_persisted:\n')
new_lines.append(' success = True\n')
new_lines.append(' break\n')
new_lines.append(' self.log_message("Warning: Clip at " + str(position) + " not persisted on attempt " + str(attempt+1))\n')
new_lines.append(' time.sleep(0.1)\n')
new_lines.append(' if not success:\n')
new_lines.append(' self.log_message("Error: Failed to persist clip at " + str(position) + " after 3 attempts")\n')
new_lines.append(' continue\n')
continue
if 'else:' in lines[i] and i+1 < len(lines) and 'for clip in getattr(track, "clips", []):' in lines[i+1]:
new_lines.append(' pass # ' + lines[i].lstrip())
continue
if i > 0 and 'else:' in lines[i-1] and 'for clip in getattr(track, "clips", []):' in lines[i]:
new_lines.append(' # ' + lines[i].lstrip())
continue
if i > 1 and 'else:' in lines[i-2] and 'if hasattr(clip, "start_time")' in lines[i]:
new_lines.append(' # ' + lines[i].lstrip())
continue
if i > 2 and 'else:' in lines[i-3] and 'if hasattr(clip, "name"):' in lines[i]:
new_lines.append(' # ' + lines[i].lstrip())
continue
if i > 3 and 'else:' in lines[i-4] and 'clip.name = clip_name' in lines[i]:
new_lines.append(' # ' + lines[i].lstrip())
continue
if i > 4 and 'else:' in lines[i-5] and 'break' in lines[i]:
new_lines.append(' # ' + lines[i].lstrip())
continue
new_lines.append(lines[i])
with open(path, 'w', encoding='utf-8') as f:
f.writelines(new_lines)
print('Done patching')