chore: publish current ableton mcp ai workspace
This commit is contained in:
43
AbletonMCP_AI/Remote_Script.py
Normal file
43
AbletonMCP_AI/Remote_Script.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from __future__ import absolute_import, print_function, unicode_literals
|
||||
|
||||
import importlib.util
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
_SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
_MODULE_NAME = "AbletonMCP_AI_runtime"
|
||||
_RUNTIME_CANDIDATES = [
|
||||
os.path.join(os.path.dirname(_SCRIPT_DIR), "abletonmcp_init.py"), # Prioridad: runtime canonico
|
||||
os.path.join(_SCRIPT_DIR, "AbletonMCP_AI_BAK_20260328_200801", "Remote_Script.py"), # Fallback: backup
|
||||
]
|
||||
|
||||
|
||||
def _resolve_runtime_file():
|
||||
for candidate in _RUNTIME_CANDIDATES:
|
||||
if os.path.exists(candidate):
|
||||
return candidate
|
||||
raise ImportError("Remote script runtime not found in any known location")
|
||||
|
||||
|
||||
def _load_runtime_module():
|
||||
if _MODULE_NAME in sys.modules:
|
||||
return sys.modules[_MODULE_NAME]
|
||||
|
||||
runtime_file = _resolve_runtime_file()
|
||||
|
||||
spec = importlib.util.spec_from_file_location(_MODULE_NAME, runtime_file)
|
||||
if spec is None or spec.loader is None:
|
||||
raise ImportError("Unable to create module spec for %s" % runtime_file)
|
||||
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(module)
|
||||
sys.modules[_MODULE_NAME] = module
|
||||
return module
|
||||
|
||||
|
||||
def create_instance(c_instance):
|
||||
runtime = _load_runtime_module()
|
||||
if not hasattr(runtime, "create_instance"):
|
||||
raise ImportError("Runtime module does not expose create_instance")
|
||||
return runtime.create_instance(c_instance)
|
||||
Reference in New Issue
Block a user