mandioca-tabs-mcp 0.2.1 → 0.2.5
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/index.mjs +39 -6
- package/package.json +1 -1
package/index.mjs
CHANGED
|
@@ -19742,7 +19742,7 @@ var init_atajos = __esm({
|
|
|
19742
19742
|
// declara entre las superficies que esta cuenta no ve.
|
|
19743
19743
|
{ id: "guardar-grabacion", nombre: "Guardar la grabaci\xF3n elegida como .wav", grupo: "Audio y mezcla" },
|
|
19744
19744
|
{ id: "imantar", nombre: "Imantar los puntos de sync al golpe", grupo: "Audio y mezcla" },
|
|
19745
|
-
{ id: "solo-del-audio", nombre: "
|
|
19745
|
+
{ id: "solo-del-audio", nombre: "Aislar la grabaci\xF3n a la vista", grupo: "Audio y mezcla" },
|
|
19746
19746
|
{ id: "velocidad-mas", nombre: "Reproducir m\xE1s r\xE1pido", grupo: "Audio y mezcla" },
|
|
19747
19747
|
{ id: "velocidad-menos", nombre: "Reproducir m\xE1s lento", grupo: "Audio y mezcla" },
|
|
19748
19748
|
// ★ Agregado el 2026-09-03. Va en «Audio y mezcla» y no en un grupo propio porque es lo que
|
|
@@ -25101,7 +25101,7 @@ var init_paneles = __esm({
|
|
|
25101
25101
|
"audio.solo": {
|
|
25102
25102
|
nombre: "Solo de la grabaci\xF3n",
|
|
25103
25103
|
accion: "audio-solo-del-audio",
|
|
25104
|
-
principiante: "Prendido, se oye s\xF3lo la
|
|
25104
|
+
principiante: "Prendido, de las grabaciones se oye s\xF3lo la que est\xE1s viendo, junto con la partitura. Apagado, suena lo que diga la mezcla.",
|
|
25105
25105
|
profesional: "Solo que sigue a la grabaci\xF3n a la vista."
|
|
25106
25106
|
},
|
|
25107
25107
|
"audio.velocidad": {
|
|
@@ -25195,6 +25195,11 @@ var init_paneles = __esm({
|
|
|
25195
25195
|
principiante: "Guarda en tu computadora la grabaci\xF3n que se est\xE1 mirando, como archivo WAV. Sirve para sacar un stem.",
|
|
25196
25196
|
profesional: "Exporta la grabaci\xF3n elegida a WAV."
|
|
25197
25197
|
},
|
|
25198
|
+
"audio.sync-to": {
|
|
25199
|
+
nombre: "Sync to",
|
|
25200
|
+
principiante: "Prendido, esta grabaci\xF3n manda: las dem\xE1s quedan sincronizadas igual que ella, y cada anclaje que pongas, muevas o quites aqu\xED se copia al instante. Reemplaza los anclajes que ten\xEDan. Se deshace con Ctrl + Z.",
|
|
25201
|
+
profesional: "Interruptor: las dem\xE1s grabaciones siguen los puntos de sync de \xE9sta (reemplaza)."
|
|
25202
|
+
},
|
|
25198
25203
|
"audio.quitar": {
|
|
25199
25204
|
nombre: "Dejar de o\xEDrla",
|
|
25200
25205
|
accion: "audio-quitar",
|
|
@@ -96401,7 +96406,7 @@ var VERSION_DEL_CONECTOR;
|
|
|
96401
96406
|
var init_version = __esm({
|
|
96402
96407
|
"apps/mcp/src/version.ts"() {
|
|
96403
96408
|
"use strict";
|
|
96404
|
-
VERSION_DEL_CONECTOR = true ? "0.2.
|
|
96409
|
+
VERSION_DEL_CONECTOR = true ? "0.2.5" : null;
|
|
96405
96410
|
}
|
|
96406
96411
|
});
|
|
96407
96412
|
|
|
@@ -97339,6 +97344,18 @@ var init_estilo = __esm({
|
|
|
97339
97344
|
});
|
|
97340
97345
|
|
|
97341
97346
|
// packages/projection/src/proyectar.ts
|
|
97347
|
+
function canalesDeLasPistas(tipos) {
|
|
97348
|
+
const libres = Array.from({ length: 16 }, (_, i2) => i2).filter((c) => c !== 9);
|
|
97349
|
+
const conAltura = tipos.filter((t) => t !== "percusion").length;
|
|
97350
|
+
const porPista = conAltura * 2 <= libres.length ? 2 : 1;
|
|
97351
|
+
let siguiente = 0;
|
|
97352
|
+
const tomar = () => libres[siguiente++ % libres.length];
|
|
97353
|
+
return tipos.map((tipo) => {
|
|
97354
|
+
if (tipo === "percusion") return [9, 9];
|
|
97355
|
+
const primario = tomar();
|
|
97356
|
+
return [primario, porPista === 2 ? tomar() : primario];
|
|
97357
|
+
});
|
|
97358
|
+
}
|
|
97342
97359
|
function proyectar(documento, opciones = {}) {
|
|
97343
97360
|
const ajustes = opciones.ajustes ?? new Settings();
|
|
97344
97361
|
const score = new _barrel_exports$4.Score();
|
|
@@ -97429,9 +97446,14 @@ function proyectar(documento, opciones = {}) {
|
|
|
97429
97446
|
if (lista2) lista2.push(nota);
|
|
97430
97447
|
else notasPorFigura.set(nota.figuraId, [nota]);
|
|
97431
97448
|
}
|
|
97432
|
-
|
|
97449
|
+
const pistasEnOrden = [...documento.pistasEnOrden()];
|
|
97450
|
+
const canales = canalesDeLasPistas(
|
|
97451
|
+
pistasEnOrden.map(({ datos }) => normalizarPista(datos).tipo)
|
|
97452
|
+
);
|
|
97453
|
+
for (const [indiceDePista, { id: idPista, datos }] of pistasEnOrden.entries()) {
|
|
97433
97454
|
const pista = normalizarPista(datos);
|
|
97434
97455
|
const track = new _barrel_exports$4.Track();
|
|
97456
|
+
[track.playbackInfo.primaryChannel, track.playbackInfo.secondaryChannel] = canales[indiceDePista];
|
|
97435
97457
|
track.name = marcado(pista.nombre, pista.nombreSegundaTipografia);
|
|
97436
97458
|
track.shortName = marcado(pista.nombreCorto, pista.nombreCortoSegundaTipografia);
|
|
97437
97459
|
track.playbackInfo.program = pista.programaMidi;
|
|
@@ -122721,6 +122743,17 @@ function registrarHerramientasDelPuente(servidor2) {
|
|
|
122721
122743
|
// no cree nada que la interfaz no alcance — que es la que se pagó cuatro veces hoy.
|
|
122722
122744
|
async () => texto3(await pedirALaPesta\u00F1a("desanclar_todo", {}))
|
|
122723
122745
|
);
|
|
122746
|
+
servidor2.registerTool(
|
|
122747
|
+
"sync_to",
|
|
122748
|
+
{
|
|
122749
|
+
title: "Sync to: que las dem\xE1s grabaciones sigan a la elegida",
|
|
122750
|
+
description: "Es el interruptor \xABSync to\xBB del panel de audio. Prendido, la grabaci\xF3n elegida MANDA: las dem\xE1s quedan con sus mismos compases anclados en los mismos milisegundos, y cada anclaje que se ponga, mueva o quite en ella se copia al instante a las dem\xE1s. S\xF3lo una manda a la vez; prenderlo en otra la cambia. Al apagarlo, las dem\xE1s se quedan como estaban. Contesta si qued\xF3 prendido y, al prenderlo, cu\xE1ntas grabaciones igual\xF3. \u26A0\uFE0F Reemplaza los anclajes que ten\xEDan las dem\xE1s. Sirve cuando los audios arrancan juntos (stems o tomas del mismo proyecto); no compensa un desfase entre archivos. \u26A0\uFE0F No toca la letra sincronizada. No se guarda en la obra: es de la sesi\xF3n.",
|
|
122751
|
+
inputSchema: {
|
|
122752
|
+
puesto: external_exports.boolean().optional().describe("true lo prende con la elegida, false lo apaga. Sin esto, alterna.")
|
|
122753
|
+
}
|
|
122754
|
+
},
|
|
122755
|
+
async (args2) => texto3(await pedirALaPesta\u00F1a("sync_to", args2))
|
|
122756
|
+
);
|
|
122724
122757
|
servidor2.registerTool(
|
|
122725
122758
|
"quitar_grabacion",
|
|
122726
122759
|
{
|
|
@@ -122791,8 +122824,8 @@ function registrarHerramientasDelPuente(servidor2) {
|
|
|
122791
122824
|
servidor2.registerTool(
|
|
122792
122825
|
"solo_del_audio",
|
|
122793
122826
|
{
|
|
122794
|
-
title: "
|
|
122795
|
-
description: "Con esto puesto se oye s\xF3lo la
|
|
122827
|
+
title: "Aislar la grabaci\xF3n a la vista",
|
|
122828
|
+
description: "Con esto puesto, de las grabaciones se oye s\xF3lo la que muestra el panel de audio; la tablatura sigue sonando, para comparar con ella. Las dem\xE1s grabaciones se callan, y sigue a la que se elija con `elegir_grabacion`. Apagado, suena la mezcla como estaba. Prenderlo abre el panel. Sin decir nada, alterna. Con `volumenDb` fija el volumen de esa grabaci\xF3n en Solo; antes del fader, s\xF3lo cuenta con Solo puesto. Contesta `topeDb`: hasta +12 dB, o menos si m\xE1s arriba picar\xEDa.",
|
|
122796
122829
|
inputSchema: {
|
|
122797
122830
|
puesto: external_exports.boolean().optional().describe("true lo enciende, false lo apaga. Sin esto, alterna."),
|
|
122798
122831
|
volumenDb: external_exports.number().min(-60).max(12).optional().describe("Volumen en Solo de la grabaci\xF3n a la vista, en dB.")
|
package/package.json
CHANGED