import socket import json HOST = "127.0.0.1" PORT = 9877 MESSAGE_TERMINATOR = b"\n" def send_cmd(cmd_type, params=None): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) payload = json.dumps({"type": cmd_type, "params": params or {}}, separators=(",", ":")).encode("utf-8") + MESSAGE_TERMINATOR s.sendall(payload) data = b"" while True: chunk = s.recv(8192) if not chunk: break if MESSAGE_TERMINATOR in chunk: data += chunk.replace(MESSAGE_TERMINATOR, b"") break data += chunk s.close() if data: return json.loads(data.decode("utf-8")) return None # Validate print("=== VALIDATE SET ===") validate = send_cmd("validate_set", {"check_clips": True, "check_gain": True, "check_routing": True}) print(json.dumps(validate, indent=2)) print("\n=== DIAGNOSE SET ===") diagnose = send_cmd("diagnose_generated_set") print(json.dumps(diagnose, indent=2)) print("\n=== TRACKS STATUS ===") tracks = send_cmd("get_tracks") if tracks: for i, track in enumerate(tracks.get('result', [])): name = track.get('name', 'Unknown') arr = track.get('arrangement_clip_count', 0) sess = track.get('session_clip_count', 0) print(f" {i}: {name} - Session: {sess}, Arrangement: {arr}")