livepilot 1.15.0-beta → 1.16.1
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/CHANGELOG.md +206 -3
- package/README.md +11 -11
- package/m4l_device/LivePilot_Analyzer.amxd +0 -0
- package/m4l_device/livepilot_bridge.js +1 -1
- package/mcp_server/__init__.py +1 -1
- package/mcp_server/atlas/device_atlas.json +91219 -7161
- package/mcp_server/atlas/enrichments/audio_effects/pitch_hack.yaml +61 -0
- package/mcp_server/atlas/enrichments/audio_effects/pitchloop89.yaml +111 -0
- package/mcp_server/atlas/enrichments/audio_effects/re_enveloper.yaml +51 -0
- package/mcp_server/atlas/enrichments/audio_effects/snipper.yaml +36 -0
- package/mcp_server/atlas/enrichments/audio_effects/spectral_blur.yaml +64 -0
- package/mcp_server/atlas/enrichments/instruments/bell_tower.yaml +37 -0
- package/mcp_server/atlas/enrichments/instruments/granulator_iii.yaml +124 -0
- package/mcp_server/atlas/enrichments/instruments/harmonic_drone_generator.yaml +83 -0
- package/mcp_server/atlas/enrichments/instruments/impulse.yaml +47 -0
- package/mcp_server/atlas/enrichments/instruments/sting_iftah.yaml +44 -0
- package/mcp_server/atlas/enrichments/midi_effects/expressive_chords.yaml +38 -0
- package/mcp_server/atlas/enrichments/midi_effects/filler.yaml +32 -0
- package/mcp_server/atlas/enrichments/midi_effects/microtuner.yaml +83 -0
- package/mcp_server/atlas/enrichments/midi_effects/patterns_iftah.yaml +38 -0
- package/mcp_server/atlas/enrichments/midi_effects/phase_pattern.yaml +51 -0
- package/mcp_server/atlas/enrichments/midi_effects/polyrhythm.yaml +46 -0
- package/mcp_server/atlas/enrichments/midi_effects/retrigger.yaml +40 -0
- package/mcp_server/atlas/enrichments/midi_effects/slice_shuffler.yaml +39 -0
- package/mcp_server/atlas/enrichments/midi_effects/sq_sequencer.yaml +39 -0
- package/mcp_server/atlas/enrichments/midi_effects/stages.yaml +38 -0
- package/mcp_server/atlas/enrichments/utility/arrangement_looper.yaml +31 -0
- package/mcp_server/atlas/enrichments/utility/cv_clock_in.yaml +25 -0
- package/mcp_server/atlas/enrichments/utility/cv_clock_out.yaml +25 -0
- package/mcp_server/atlas/enrichments/utility/cv_envelope_follower.yaml +38 -0
- package/mcp_server/atlas/enrichments/utility/cv_in.yaml +26 -0
- package/mcp_server/atlas/enrichments/utility/cv_instrument.yaml +34 -0
- package/mcp_server/atlas/enrichments/utility/cv_lfo.yaml +38 -0
- package/mcp_server/atlas/enrichments/utility/cv_shaper.yaml +35 -0
- package/mcp_server/atlas/enrichments/utility/cv_triggers.yaml +26 -0
- package/mcp_server/atlas/enrichments/utility/cv_utility.yaml +37 -0
- package/mcp_server/atlas/enrichments/utility/performer.yaml +36 -0
- package/mcp_server/atlas/enrichments/utility/prearranger.yaml +36 -0
- package/mcp_server/atlas/enrichments/utility/rotating_rhythm_generator.yaml +35 -0
- package/mcp_server/atlas/enrichments/utility/surround_panner.yaml +40 -0
- package/mcp_server/atlas/enrichments/utility/variations.yaml +40 -0
- package/mcp_server/atlas/enrichments/utility/vector_map.yaml +36 -0
- package/mcp_server/atlas/tools.py +30 -2
- package/mcp_server/runtime/remote_commands.py +3 -0
- package/mcp_server/sample_engine/tools.py +738 -60
- package/mcp_server/server.py +18 -6
- package/mcp_server/splice_client/client.py +583 -65
- package/mcp_server/splice_client/http_bridge.py +434 -0
- package/mcp_server/splice_client/models.py +278 -2
- package/mcp_server/splice_client/quota.py +229 -0
- package/mcp_server/tools/_analyzer_engine/__init__.py +4 -0
- package/mcp_server/tools/_analyzer_engine/sample.py +73 -0
- package/mcp_server/tools/analyzer.py +730 -29
- package/mcp_server/tools/browser.py +164 -13
- package/mcp_server/tools/devices.py +56 -11
- package/mcp_server/tools/mixing.py +64 -15
- package/mcp_server/tools/scales.py +18 -6
- package/mcp_server/tools/tracks.py +92 -4
- package/package.json +2 -2
- package/remote_script/LivePilot/__init__.py +1 -1
- package/remote_script/LivePilot/_clip_helpers.py +86 -0
- package/remote_script/LivePilot/_drum_helpers.py +40 -0
- package/remote_script/LivePilot/_scale_helpers.py +87 -0
- package/remote_script/LivePilot/arrangement.py +44 -15
- package/remote_script/LivePilot/clips.py +182 -2
- package/remote_script/LivePilot/devices.py +82 -2
- package/remote_script/LivePilot/notes.py +17 -2
- package/remote_script/LivePilot/scales.py +31 -16
- package/remote_script/LivePilot/simpler_sample.py +105 -17
- package/server.json +3 -3
package/mcp_server/server.py
CHANGED
|
@@ -378,11 +378,21 @@ def _get_all_tools():
|
|
|
378
378
|
"_local_provider._tools",
|
|
379
379
|
lambda: list(mcp._local_provider._tools.values()),
|
|
380
380
|
),
|
|
381
|
-
#
|
|
382
|
-
#
|
|
383
|
-
#
|
|
384
|
-
(
|
|
381
|
+
# NB: mcp.list_tools() IS the public API, but it's a coroutine —
|
|
382
|
+
# can't be iterated in a sync context. We skip it here and rely on
|
|
383
|
+
# the internal probes. When FastMCP exposes a sync view we'll add
|
|
384
|
+
# it back. (Earlier form tried `list(mcp.list_tools())` which
|
|
385
|
+
# raised `RuntimeWarning: coroutine was never awaited` at every
|
|
386
|
+
# module import — removed 2026-04-22.)
|
|
385
387
|
]
|
|
388
|
+
# Observation 2026-04-22: some FastMCP 3.x builds keep BOTH the legacy
|
|
389
|
+
# `_tool_manager._tools` dict AND the newer `_local_provider._components`
|
|
390
|
+
# registry populated at the same time — but the legacy one lags the
|
|
391
|
+
# newer one (385 vs 422 during a recent startup). Returning the FIRST
|
|
392
|
+
# non-empty probe accidentally picked the stale view. Instead, collect
|
|
393
|
+
# every working probe and return the LARGEST view (the registry with
|
|
394
|
+
# the most tools is the authoritative one).
|
|
395
|
+
best: list = []
|
|
386
396
|
for label, fn in probes:
|
|
387
397
|
try:
|
|
388
398
|
tools = fn()
|
|
@@ -390,8 +400,10 @@ def _get_all_tools():
|
|
|
390
400
|
continue
|
|
391
401
|
except Exception: # noqa: BLE001 — any error from an internal probe means "skip"
|
|
392
402
|
continue
|
|
393
|
-
if tools:
|
|
394
|
-
|
|
403
|
+
if tools and len(tools) > len(best):
|
|
404
|
+
best = tools
|
|
405
|
+
if best:
|
|
406
|
+
return best
|
|
395
407
|
|
|
396
408
|
# All probes empty. Surface fastmcp version + attempted paths so the
|
|
397
409
|
# breakage is diagnosable without re-reading the code.
|