livepilot 1.9.8 → 1.9.11

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.
Files changed (40) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/AGENTS.md +1 -1
  3. package/CHANGELOG.md +45 -0
  4. package/CODE_OF_CONDUCT.md +27 -0
  5. package/CONTRIBUTING.md +131 -0
  6. package/README.md +119 -395
  7. package/SECURITY.md +48 -0
  8. package/bin/livepilot.js +41 -1
  9. package/livepilot/.Codex-plugin/plugin.json +8 -0
  10. package/livepilot/.claude-plugin/plugin.json +1 -1
  11. package/livepilot/commands/beat.md +18 -6
  12. package/livepilot/commands/sounddesign.md +6 -5
  13. package/livepilot/skills/livepilot-core/SKILL.md +30 -7
  14. package/livepilot/skills/livepilot-core/references/overview.md +1 -1
  15. package/livepilot/skills/livepilot-release/SKILL.md +7 -4
  16. package/m4l_device/LivePilot_Analyzer.amxd +0 -0
  17. package/m4l_device/LivePilot_Analyzer.maxpat +378 -4
  18. package/m4l_device/livepilot_bridge.js +413 -184
  19. package/mcp_server/__init__.py +1 -1
  20. package/mcp_server/connection.py +35 -0
  21. package/mcp_server/m4l_bridge.py +55 -5
  22. package/mcp_server/server.py +16 -29
  23. package/mcp_server/tools/_perception_engine.py +26 -3
  24. package/mcp_server/tools/_theory_engine.py +36 -5
  25. package/mcp_server/tools/analyzer.py +62 -17
  26. package/mcp_server/tools/automation.py +4 -1
  27. package/mcp_server/tools/devices.py +199 -10
  28. package/mcp_server/tools/generative.py +4 -1
  29. package/mcp_server/tools/harmony.py +16 -3
  30. package/mcp_server/tools/notes.py +4 -1
  31. package/mcp_server/tools/perception.py +27 -1
  32. package/mcp_server/tools/scenes.py +4 -1
  33. package/mcp_server/tools/theory.py +15 -7
  34. package/package.json +1 -1
  35. package/remote_script/LivePilot/__init__.py +1 -1
  36. package/remote_script/LivePilot/arrangement.py +13 -116
  37. package/remote_script/LivePilot/diagnostics.py +81 -5
  38. package/remote_script/LivePilot/router.py +22 -0
  39. package/remote_script/LivePilot/server.py +25 -13
  40. package/remote_script/LivePilot/tracks.py +17 -2
@@ -754,6 +754,61 @@
754
754
  ]
755
755
  }
756
756
  },
757
+ {
758
+ "box": {
759
+ "id": "obj-defer-reinit",
760
+ "maxclass": "newobj",
761
+ "text": "deferlow",
762
+ "numinlets": 1,
763
+ "numoutlets": 1,
764
+ "outlettype": [
765
+ ""
766
+ ],
767
+ "patching_rect": [
768
+ 700.0,
769
+ 530.0,
770
+ 55.0,
771
+ 22.0
772
+ ]
773
+ }
774
+ },
775
+ {
776
+ "box": {
777
+ "id": "obj-reinit-udpsend",
778
+ "maxclass": "message",
779
+ "text": "host 127.0.0.1, port 9880",
780
+ "numinlets": 2,
781
+ "numoutlets": 1,
782
+ "outlettype": [
783
+ ""
784
+ ],
785
+ "patching_rect": [
786
+ 700.0,
787
+ 560.0,
788
+ 160.0,
789
+ 22.0
790
+ ]
791
+ }
792
+ },
793
+ {
794
+ "box": {
795
+ "id": "obj-dspstate",
796
+ "maxclass": "newobj",
797
+ "text": "dspstate~",
798
+ "numinlets": 1,
799
+ "numoutlets": 2,
800
+ "outlettype": [
801
+ "signal",
802
+ "float"
803
+ ],
804
+ "patching_rect": [
805
+ 900.0,
806
+ 500.0,
807
+ 65.0,
808
+ 22.0
809
+ ]
810
+ }
811
+ },
757
812
  {
758
813
  "box": {
759
814
  "id": "obj-multislider",
@@ -997,10 +1052,12 @@
997
1052
  "box": {
998
1053
  "id": "obj-route-status",
999
1054
  "maxclass": "newobj",
1000
- "text": "route status key",
1055
+ "text": "route status key capture_start capture_stop",
1001
1056
  "numinlets": 1,
1002
- "numoutlets": 3,
1057
+ "numoutlets": 5,
1003
1058
  "outlettype": [
1059
+ "",
1060
+ "",
1004
1061
  "",
1005
1062
  "",
1006
1063
  ""
@@ -1008,7 +1065,7 @@
1008
1065
  "patching_rect": [
1009
1066
  700.0,
1010
1067
  580.0,
1011
- 105.0,
1068
+ 248.0,
1012
1069
  22.0
1013
1070
  ]
1014
1071
  }
@@ -1049,6 +1106,131 @@
1049
1106
  ]
1050
1107
  }
1051
1108
  },
1109
+ {
1110
+ "box": {
1111
+ "id": "obj-capture-unpack",
1112
+ "maxclass": "newobj",
1113
+ "text": "unpack s i",
1114
+ "numinlets": 1,
1115
+ "numoutlets": 2,
1116
+ "outlettype": [
1117
+ "",
1118
+ "int"
1119
+ ],
1120
+ "patching_rect": [
1121
+ 700.0,
1122
+ 660.0,
1123
+ 64.0,
1124
+ 22.0
1125
+ ]
1126
+ }
1127
+ },
1128
+ {
1129
+ "box": {
1130
+ "id": "obj-capture-record-off",
1131
+ "maxclass": "message",
1132
+ "text": "0",
1133
+ "numinlets": 2,
1134
+ "numoutlets": 1,
1135
+ "outlettype": [
1136
+ ""
1137
+ ],
1138
+ "patching_rect": [
1139
+ 860.0,
1140
+ 660.0,
1141
+ 56.0,
1142
+ 22.0
1143
+ ]
1144
+ }
1145
+ },
1146
+ {
1147
+ "box": {
1148
+ "id": "obj-capture-trigger",
1149
+ "maxclass": "newobj",
1150
+ "text": "t b s",
1151
+ "numinlets": 1,
1152
+ "numoutlets": 2,
1153
+ "outlettype": [
1154
+ "bang",
1155
+ ""
1156
+ ],
1157
+ "patching_rect": [
1158
+ 700.0,
1159
+ 700.0,
1160
+ 38.0,
1161
+ 22.0
1162
+ ]
1163
+ }
1164
+ },
1165
+ {
1166
+ "box": {
1167
+ "id": "obj-capture-record-delay",
1168
+ "maxclass": "newobj",
1169
+ "text": "delay 20",
1170
+ "numinlets": 2,
1171
+ "numoutlets": 1,
1172
+ "outlettype": [
1173
+ "bang"
1174
+ ],
1175
+ "patching_rect": [
1176
+ 700.0,
1177
+ 740.0,
1178
+ 55.0,
1179
+ 22.0
1180
+ ]
1181
+ }
1182
+ },
1183
+ {
1184
+ "box": {
1185
+ "id": "obj-capture-record-on",
1186
+ "maxclass": "message",
1187
+ "text": "1",
1188
+ "numinlets": 2,
1189
+ "numoutlets": 1,
1190
+ "outlettype": [
1191
+ ""
1192
+ ],
1193
+ "patching_rect": [
1194
+ 700.0,
1195
+ 740.0,
1196
+ 56.0,
1197
+ 22.0
1198
+ ]
1199
+ }
1200
+ },
1201
+ {
1202
+ "box": {
1203
+ "id": "obj-capture-open",
1204
+ "maxclass": "newobj",
1205
+ "text": "prepend open",
1206
+ "numinlets": 1,
1207
+ "numoutlets": 1,
1208
+ "outlettype": [
1209
+ ""
1210
+ ],
1211
+ "patching_rect": [
1212
+ 770.0,
1213
+ 740.0,
1214
+ 84.0,
1215
+ 22.0
1216
+ ]
1217
+ }
1218
+ },
1219
+ {
1220
+ "box": {
1221
+ "id": "obj-capture-rec",
1222
+ "maxclass": "newobj",
1223
+ "text": "sfrecord~ 2",
1224
+ "numinlets": 2,
1225
+ "numoutlets": 0,
1226
+ "patching_rect": [
1227
+ 700.0,
1228
+ 780.0,
1229
+ 78.0,
1230
+ 22.0
1231
+ ]
1232
+ }
1233
+ },
1052
1234
  {
1053
1235
  "box": {
1054
1236
  "id": "obj-fc-spectralshape",
@@ -1345,6 +1527,30 @@
1345
1527
  ]
1346
1528
  }
1347
1529
  },
1530
+ {
1531
+ "patchline": {
1532
+ "source": [
1533
+ "obj-1",
1534
+ 1
1535
+ ],
1536
+ "destination": [
1537
+ "obj-capture-rec",
1538
+ 1
1539
+ ]
1540
+ }
1541
+ },
1542
+ {
1543
+ "patchline": {
1544
+ "source": [
1545
+ "obj-1",
1546
+ 0
1547
+ ],
1548
+ "destination": [
1549
+ "obj-capture-rec",
1550
+ 0
1551
+ ]
1552
+ }
1553
+ },
1348
1554
  {
1349
1555
  "patchline": {
1350
1556
  "source": [
@@ -1909,6 +2115,66 @@
1909
2115
  ]
1910
2116
  }
1911
2117
  },
2118
+ {
2119
+ "patchline": {
2120
+ "source": [
2121
+ "obj-thisdevice",
2122
+ 0
2123
+ ],
2124
+ "destination": [
2125
+ "obj-defer-reinit",
2126
+ 0
2127
+ ]
2128
+ }
2129
+ },
2130
+ {
2131
+ "patchline": {
2132
+ "source": [
2133
+ "obj-defer-reinit",
2134
+ 0
2135
+ ],
2136
+ "destination": [
2137
+ "obj-reinit-udpsend",
2138
+ 0
2139
+ ]
2140
+ }
2141
+ },
2142
+ {
2143
+ "patchline": {
2144
+ "source": [
2145
+ "obj-defer-reinit",
2146
+ 0
2147
+ ],
2148
+ "destination": [
2149
+ "obj-snap-start",
2150
+ 0
2151
+ ]
2152
+ }
2153
+ },
2154
+ {
2155
+ "patchline": {
2156
+ "source": [
2157
+ "obj-reinit-udpsend",
2158
+ 0
2159
+ ],
2160
+ "destination": [
2161
+ "obj-udpsend",
2162
+ 0
2163
+ ]
2164
+ }
2165
+ },
2166
+ {
2167
+ "patchline": {
2168
+ "source": [
2169
+ "obj-dspstate",
2170
+ 1
2171
+ ],
2172
+ "destination": [
2173
+ "obj-js",
2174
+ 1
2175
+ ]
2176
+ }
2177
+ },
1912
2178
  {
1913
2179
  "patchline": {
1914
2180
  "source": [
@@ -1981,6 +2247,114 @@
1981
2247
  ]
1982
2248
  }
1983
2249
  },
2250
+ {
2251
+ "patchline": {
2252
+ "source": [
2253
+ "obj-route-status",
2254
+ 2
2255
+ ],
2256
+ "destination": [
2257
+ "obj-capture-unpack",
2258
+ 0
2259
+ ]
2260
+ }
2261
+ },
2262
+ {
2263
+ "patchline": {
2264
+ "source": [
2265
+ "obj-capture-unpack",
2266
+ 0
2267
+ ],
2268
+ "destination": [
2269
+ "obj-capture-trigger",
2270
+ 0
2271
+ ]
2272
+ }
2273
+ },
2274
+ {
2275
+ "patchline": {
2276
+ "source": [
2277
+ "obj-capture-trigger",
2278
+ 0
2279
+ ],
2280
+ "destination": [
2281
+ "obj-capture-record-delay",
2282
+ 0
2283
+ ]
2284
+ }
2285
+ },
2286
+ {
2287
+ "patchline": {
2288
+ "source": [
2289
+ "obj-capture-record-delay",
2290
+ 0
2291
+ ],
2292
+ "destination": [
2293
+ "obj-capture-record-on",
2294
+ 0
2295
+ ]
2296
+ }
2297
+ },
2298
+ {
2299
+ "patchline": {
2300
+ "source": [
2301
+ "obj-capture-trigger",
2302
+ 1
2303
+ ],
2304
+ "destination": [
2305
+ "obj-capture-open",
2306
+ 0
2307
+ ]
2308
+ }
2309
+ },
2310
+ {
2311
+ "patchline": {
2312
+ "source": [
2313
+ "obj-capture-open",
2314
+ 0
2315
+ ],
2316
+ "destination": [
2317
+ "obj-capture-rec",
2318
+ 0
2319
+ ]
2320
+ }
2321
+ },
2322
+ {
2323
+ "patchline": {
2324
+ "source": [
2325
+ "obj-capture-record-on",
2326
+ 0
2327
+ ],
2328
+ "destination": [
2329
+ "obj-capture-rec",
2330
+ 0
2331
+ ]
2332
+ }
2333
+ },
2334
+ {
2335
+ "patchline": {
2336
+ "source": [
2337
+ "obj-route-status",
2338
+ 3
2339
+ ],
2340
+ "destination": [
2341
+ "obj-capture-record-off",
2342
+ 0
2343
+ ]
2344
+ }
2345
+ },
2346
+ {
2347
+ "patchline": {
2348
+ "source": [
2349
+ "obj-capture-record-off",
2350
+ 0
2351
+ ],
2352
+ "destination": [
2353
+ "obj-capture-rec",
2354
+ 0
2355
+ ]
2356
+ }
2357
+ },
1984
2358
  {
1985
2359
  "patchline": {
1986
2360
  "source": [
@@ -2328,4 +2702,4 @@
2328
2702
  ],
2329
2703
  "autosave": 0
2330
2704
  }
2331
- }
2705
+ }