Sync: Complete project state with all MEGA SPRINT V1-V3 features and Codex stubs
This commit is contained in:
59
patch_runtime.py
Normal file
59
patch_runtime.py
Normal 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')
|
||||
Reference in New Issue
Block a user