livepilot 1.7.0 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/livepilot.js CHANGED
@@ -70,12 +70,12 @@ function ensureVenv(systemPython, prefixArgs) {
70
70
  // Check if venv already exists and has our deps
71
71
  if (fs.existsSync(venvPy)) {
72
72
  try {
73
- execFileSync(venvPy, ["-c", "import fastmcp"], {
73
+ execFileSync(venvPy, ["-c", "import fastmcp; import midiutil; import pretty_midi"], {
74
74
  encoding: "utf-8",
75
75
  timeout: 10000,
76
76
  stdio: "pipe",
77
77
  });
78
- return venvPy; // venv exists and fastmcp is importable
78
+ return venvPy; // venv exists and all deps importable
79
79
  } catch {
80
80
  // venv exists but deps missing — reinstall
81
81
  console.error("LivePilot: reinstalling Python dependencies...");
@@ -82,7 +82,7 @@ def pitch_name(midi: int) -> str:
82
82
 
83
83
 
84
84
  def parse_key(key_str: str) -> dict:
85
- """Parse key string -> {tonic: 0-11, mode: str}."""
85
+ """Parse key string -> {tonic: 0-11, tonic_name: str, mode: str}."""
86
86
  parts = key_str.strip().split()
87
87
  raw_tonic = parts[0]
88
88
  mode = parts[1].lower() if len(parts) > 1 else 'major'
@@ -97,7 +97,7 @@ def parse_key(key_str: str) -> dict:
97
97
  if tonic_name not in NOTE_NAMES:
98
98
  raise ValueError(f"Unknown tonic: {tonic_name} (from '{key_str}')")
99
99
 
100
- return {"tonic": NOTE_NAMES.index(tonic_name), "mode": mode}
100
+ return {"tonic": NOTE_NAMES.index(tonic_name), "tonic_name": tonic_name, "mode": mode}
101
101
 
102
102
 
103
103
  def get_scale_pitches(tonic: int, mode: str) -> list[int]:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "livepilot",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "mcpName": "io.github.dreamrec/livepilot",
5
5
  "description": "AI copilot for Ableton Live 12 — 155 tools, device atlas (280+ devices), real-time audio analysis, generative algorithms, neo-Riemannian harmony, MIDI file I/O, and technique memory",
6
6
  "author": "Pilot Studio",