@map-audio/pam-mcp-server 1.21.0 → 1.25.0
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/LICENSE +21 -0
- package/README.md +33 -7
- package/dist/audioAnalysis.d.ts +35 -0
- package/dist/audioAnalysis.js +277 -0
- package/dist/audioAnalysis.js.map +1 -0
- package/dist/bridge.d.ts +6 -0
- package/dist/bridge.js +151 -168
- package/dist/bridge.js.map +1 -1
- package/dist/corpusFingerprints.d.ts +17 -0
- package/dist/corpusFingerprints.js +10 -0
- package/dist/corpusFingerprints.js.map +1 -0
- package/dist/corpusRanges.d.ts +28 -0
- package/dist/corpusRanges.js +1029 -0
- package/dist/corpusRanges.js.map +1 -0
- package/dist/drumSynthEngines.json +376 -0
- package/dist/fingerprint.d.ts +70 -0
- package/dist/fingerprint.js +240 -0
- package/dist/fingerprint.js.map +1 -0
- package/dist/generated/variationSnapshot.d.ts +8 -4
- package/dist/generated/variationSnapshot.js +6 -4
- package/dist/generated/variationSnapshot.js.map +1 -1
- package/dist/generativePlayerPresets.json +70 -0
- package/dist/generativePlayers.json +134 -0
- package/dist/manifest-cell1.json +4972 -249
- package/dist/manifest-mfx.json +11571 -1800
- package/dist/manifest.d.ts +15 -3
- package/dist/manifest.js +24 -15
- package/dist/manifest.js.map +1 -1
- package/dist/manifest.json +25034 -499
- package/dist/mfxCombos.d.ts +45 -0
- package/dist/mfxCombos.js +499 -0
- package/dist/mfxCombos.js.map +1 -0
- package/dist/midiFile.d.ts +21 -0
- package/dist/midiFile.js +108 -0
- package/dist/midiFile.js.map +1 -0
- package/dist/mixAssist.d.ts +6 -0
- package/dist/mixAssist.js +96 -11
- package/dist/mixAssist.js.map +1 -1
- package/dist/players.d.ts +89 -0
- package/dist/players.js +235 -0
- package/dist/players.js.map +1 -0
- package/dist/presetSave.d.ts +5 -0
- package/dist/presetSave.js +22 -0
- package/dist/presetSave.js.map +1 -1
- package/dist/productProfile.d.ts +9 -0
- package/dist/productProfile.js +20 -0
- package/dist/productProfile.js.map +1 -0
- package/dist/sampleSlicing.d.ts +12 -0
- package/dist/sampleSlicing.js +78 -0
- package/dist/sampleSlicing.js.map +1 -0
- package/dist/server.js +2536 -483
- package/dist/server.js.map +1 -1
- package/dist/variationSessionKeys.json +34 -1
- package/package.json +11 -5
package/dist/midiFile.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// Standard MIDI File (type 1) writer for export_midi — pure Node over the
|
|
2
|
+
// pattern state, mirroring PAMPluginProcessor::exportMidi's tiling and channel rule.
|
|
3
|
+
export const MIDI_PPQ = 480;
|
|
4
|
+
/** Must match syncUtils::patternSpeedMultipliers (modules/dsp-core/SyncUtils.h). */
|
|
5
|
+
export const PATTERN_SPEED_MULTIPLIERS = [
|
|
6
|
+
1 / 32, 1 / 16, 1 / 12, 1 / 8, 1 / 6, 1 / 5, 1 / 4, 1 / 3, 1 / 2, 1,
|
|
7
|
+
1.33, 1.5, 1.66, 2, 3, 4, 5, 6, 8, 12,
|
|
8
|
+
];
|
|
9
|
+
export const patternSpeedMultiplier = (index) => {
|
|
10
|
+
const i = Math.round(Number(index));
|
|
11
|
+
return PATTERN_SPEED_MULTIPLIERS[Number.isFinite(i) ? Math.max(0, Math.min(PATTERN_SPEED_MULTIPLIERS.length - 1, i)) : 9];
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Tile one cell's drawn pattern across `totalBeats` host beats. Event times are
|
|
15
|
+
* in pattern units; the speed multiplier converts them to host beats.
|
|
16
|
+
*/
|
|
17
|
+
export function tilePatternEvents(sequence, patternLength, speedIndex, totalBeats, channel) {
|
|
18
|
+
const events = [];
|
|
19
|
+
if (!Array.isArray(sequence) || sequence.length === 0)
|
|
20
|
+
return events;
|
|
21
|
+
const speedMul = patternSpeedMultiplier(speedIndex);
|
|
22
|
+
const length = Number(patternLength);
|
|
23
|
+
const cycleBeats = (Number.isFinite(length) && length > 0 ? length : 4) / speedMul;
|
|
24
|
+
if (!(cycleBeats > 0) || !(totalBeats > 0))
|
|
25
|
+
return events;
|
|
26
|
+
// Velocities are 0..127 in state; a pattern written in 0..1 is rescaled.
|
|
27
|
+
const raw = sequence;
|
|
28
|
+
const maxVelocity = raw.reduce((max, e) => Math.max(max, Number(e?.velocity) || 0), 0);
|
|
29
|
+
const velocityScale = maxVelocity > 0 && maxVelocity <= 1 ? 127 : 1;
|
|
30
|
+
for (let loop = 0; loop * cycleBeats < totalBeats; loop++) {
|
|
31
|
+
const loopStart = loop * cycleBeats;
|
|
32
|
+
for (const e of raw) {
|
|
33
|
+
const note = Math.round(Number(e?.note));
|
|
34
|
+
const time = Number(e?.time);
|
|
35
|
+
if (!Number.isFinite(note) || note < 0 || note > 127 || !Number.isFinite(time) || time < 0)
|
|
36
|
+
continue;
|
|
37
|
+
const startBeats = loopStart + time / speedMul;
|
|
38
|
+
if (startBeats >= totalBeats)
|
|
39
|
+
continue;
|
|
40
|
+
const duration = Number(e?.duration);
|
|
41
|
+
const durationBeats = Math.max(1 / 64, (Number.isFinite(duration) && duration > 0 ? duration : 0.25) / speedMul);
|
|
42
|
+
const velocity = Math.max(1, Math.min(127, Math.round((Number(e?.velocity) || 100) * velocityScale)));
|
|
43
|
+
events.push({ channel, note, velocity, startBeats, durationBeats: Math.min(durationBeats, totalBeats - startBeats) });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return events;
|
|
47
|
+
}
|
|
48
|
+
function varLen(value) {
|
|
49
|
+
let v = Math.max(0, Math.round(value));
|
|
50
|
+
const bytes = [v & 0x7f];
|
|
51
|
+
v >>= 7;
|
|
52
|
+
while (v > 0) {
|
|
53
|
+
bytes.unshift((v & 0x7f) | 0x80);
|
|
54
|
+
v >>= 7;
|
|
55
|
+
}
|
|
56
|
+
return bytes;
|
|
57
|
+
}
|
|
58
|
+
function chunk(type, body) {
|
|
59
|
+
const header = Buffer.alloc(8);
|
|
60
|
+
header.write(type, 0, "ascii");
|
|
61
|
+
header.writeUInt32BE(body.length, 4);
|
|
62
|
+
return Buffer.concat([header, Buffer.from(body)]);
|
|
63
|
+
}
|
|
64
|
+
function metaTrack(bpm, name) {
|
|
65
|
+
const usPerQuarter = Math.round(60_000_000 / Math.max(1, bpm));
|
|
66
|
+
const nameBytes = [...Buffer.from(name, "utf8")];
|
|
67
|
+
const body = [
|
|
68
|
+
...varLen(0), 0xff, 0x03, ...varLen(nameBytes.length), ...nameBytes,
|
|
69
|
+
...varLen(0), 0xff, 0x51, 0x03, (usPerQuarter >> 16) & 0xff, (usPerQuarter >> 8) & 0xff, usPerQuarter & 0xff,
|
|
70
|
+
...varLen(0), 0xff, 0x58, 0x04, 4, 2, 24, 8,
|
|
71
|
+
...varLen(0), 0xff, 0x2f, 0x00,
|
|
72
|
+
];
|
|
73
|
+
return chunk("MTrk", body);
|
|
74
|
+
}
|
|
75
|
+
function noteTrack(name, events) {
|
|
76
|
+
const messages = [];
|
|
77
|
+
for (const e of events) {
|
|
78
|
+
const status = Math.max(0, Math.min(15, e.channel - 1));
|
|
79
|
+
const on = Math.round(e.startBeats * MIDI_PPQ);
|
|
80
|
+
const off = Math.max(on + 1, Math.round((e.startBeats + e.durationBeats) * MIDI_PPQ));
|
|
81
|
+
// Note-offs sort before note-ons at the same tick so a retrigger is not swallowed.
|
|
82
|
+
messages.push({ tick: off, order: 0, bytes: [0x80 | status, e.note, 0] });
|
|
83
|
+
messages.push({ tick: on, order: 1, bytes: [0x90 | status, e.note, e.velocity] });
|
|
84
|
+
}
|
|
85
|
+
messages.sort((a, b) => a.tick - b.tick || a.order - b.order);
|
|
86
|
+
const nameBytes = [...Buffer.from(name, "utf8")];
|
|
87
|
+
const body = [...varLen(0), 0xff, 0x03, ...varLen(nameBytes.length), ...nameBytes];
|
|
88
|
+
let last = 0;
|
|
89
|
+
for (const m of messages) {
|
|
90
|
+
body.push(...varLen(m.tick - last), ...m.bytes);
|
|
91
|
+
last = m.tick;
|
|
92
|
+
}
|
|
93
|
+
body.push(...varLen(0), 0xff, 0x2f, 0x00);
|
|
94
|
+
return chunk("MTrk", body);
|
|
95
|
+
}
|
|
96
|
+
/** A type-1 SMF: one tempo track plus one named track per entry. */
|
|
97
|
+
export function buildMidiFile(bpm, tracks, title = "PAM") {
|
|
98
|
+
const header = Buffer.alloc(6);
|
|
99
|
+
header.writeUInt16BE(1, 0);
|
|
100
|
+
header.writeUInt16BE(tracks.length + 1, 2);
|
|
101
|
+
header.writeUInt16BE(MIDI_PPQ, 4);
|
|
102
|
+
return Buffer.concat([
|
|
103
|
+
chunk("MThd", [...header]),
|
|
104
|
+
metaTrack(bpm, title),
|
|
105
|
+
...tracks.map((track) => noteTrack(track.name, track.events)),
|
|
106
|
+
]);
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=midiFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"midiFile.js","sourceRoot":"","sources":["../src/midiFile.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,qFAAqF;AAErF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAE5B,oFAAoF;AACpF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACnE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;CAC7B,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAU,EAAE;IAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,OAAO,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5H,CAAC,CAAC;AAiBF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAiB,EACjB,aAAsB,EACtB,UAAmB,EACnB,UAAkB,EAClB,OAAe;IAEf,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACrE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;IACnF,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1D,yEAAyE;IACzE,MAAM,GAAG,GAAG,QAA0B,CAAC;IACvC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,GAAG,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;gBAAE,SAAS;YACrG,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,QAAQ,CAAC;YAC/C,IAAI,UAAU,IAAI,UAAU;gBAAE,SAAS;YACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACrC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACjH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACtG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC,KAAK,CAAC,CAAC;IACR,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACjC,CAAC,KAAK,CAAC,CAAC;IACV,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,IAAc;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,IAAY;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG;QACX,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS;QACnE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI;QAC5G,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QAC3C,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;KAC/B,CAAC;IACF,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,MAAuB;IAEtD,MAAM,QAAQ,GAAU,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QACtF,mFAAmF;QACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IACnF,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,MAAmD,EAAE,KAAK,GAAG,KAAK;IAC3G,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAC1B,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;QACrB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC"}
|
package/dist/mixAssist.d.ts
CHANGED
|
@@ -73,6 +73,7 @@ export interface MixSuggestion {
|
|
|
73
73
|
}
|
|
74
74
|
export type CurrentFlatState = Record<string, number | undefined>;
|
|
75
75
|
export declare const MAX_FADER_MOVE_DB = 12;
|
|
76
|
+
export declare const MAX_FADER_LIFT_DB = 3;
|
|
76
77
|
export declare const FADER_EPSILON_DB = 0.3;
|
|
77
78
|
export declare const FADER_COMPENSATION_EPSILON_DB = 0.05;
|
|
78
79
|
export declare const MIN_STEM_LUFS = -50;
|
|
@@ -83,6 +84,7 @@ export declare const ROLE_OFFSETS_DB: {
|
|
|
83
84
|
readonly bass: 0;
|
|
84
85
|
readonly melodic: -2;
|
|
85
86
|
readonly ambient: -5;
|
|
87
|
+
readonly hats: -11;
|
|
86
88
|
};
|
|
87
89
|
export type CellRole = keyof typeof ROLE_OFFSETS_DB;
|
|
88
90
|
export declare const FADER_FLOOR_DB = -59;
|
|
@@ -91,6 +93,8 @@ export declare const BASS_LOW_FRACTION = 0.5;
|
|
|
91
93
|
export declare const LOW_TRANSIENT_ONSET_DENSITY = 0.5;
|
|
92
94
|
export declare const DRUMS_CREST_MIN_DB = 10;
|
|
93
95
|
export declare const DRUMS_ONSET_DENSITY = 3;
|
|
96
|
+
export declare const PERCUSSIVE_ONSET_DENSITY = 0.35;
|
|
97
|
+
export declare const HATS_CENTROID_HZ = 4000;
|
|
94
98
|
export declare const AMBIENT_ONSET_DENSITY = 0.3;
|
|
95
99
|
export declare const AMBIENT_MAX_PLR = 8;
|
|
96
100
|
export declare const PAN_EPSILON = 0.05;
|
|
@@ -117,6 +121,7 @@ export declare const dbToPower: (db: number) => number;
|
|
|
117
121
|
export declare function barkCentroidHz(barkDb: readonly number[]): number;
|
|
118
122
|
export declare function lowFraction(barkDb: readonly number[], belowHz?: number): number;
|
|
119
123
|
export declare function maskingOverlap(aDb: readonly number[], bDb: readonly number[]): number;
|
|
124
|
+
export declare function spectralShapeOverlap(aDb: readonly number[], bDb: readonly number[]): number;
|
|
120
125
|
export declare function maskingMatrix(barkDbByCell: readonly (readonly number[])[]): number[][];
|
|
121
126
|
export type OverlapRegion = 'low' | 'mid' | 'high';
|
|
122
127
|
export declare function dominantOverlapRegion(aDb: readonly number[], bDb: readonly number[]): OverlapRegion;
|
|
@@ -152,4 +157,5 @@ export declare function isLowDominant(a: CellStemAnalysis): boolean;
|
|
|
152
157
|
export declare function classifyCellRole(a: CellStemAnalysis): CellRole;
|
|
153
158
|
export declare function normalizeMovesToBus(deltasDb: number[], lufs: number[]): number[];
|
|
154
159
|
export declare function normalizeMovesToBusBounded(rawDeltasDb: number[], lufs: number[], currentVolumes: number[]): number[];
|
|
160
|
+
export declare function maskerWeight(pLufs: number, qLufs: number): number;
|
|
155
161
|
export declare function suggestMix(m: MixMeasurement, options: MixAssistOptions, current?: CurrentFlatState): MixSuggestion;
|
package/dist/mixAssist.js
CHANGED
|
@@ -12,6 +12,13 @@
|
|
|
12
12
|
// docs/plans/AUTOMIX_RESEARCH.md §3.1.
|
|
13
13
|
// --- balance (fader) stage ---
|
|
14
14
|
export const MAX_FADER_MOVE_DB = 12; // AUTOMIX_RESEARCH §5 clamp
|
|
15
|
+
// Lifts are capped far tighter than cuts. "This element is too loud" is a
|
|
16
|
+
// measurement; "this element is too quiet" is a guess about intent, and a
|
|
17
|
+
// deliberately buried hat/perc layer reads exactly like a neglected one. A
|
|
18
|
+
// symmetric 12 dB bound let the balance solve raise a hat 12 dB over a mix the
|
|
19
|
+
// user had already voiced (kick -14, snare -18, hats -30 LUFS proposed
|
|
20
|
+
// +12 dB on the hats). Cuts keep the full MAX_FADER_MOVE_DB travel.
|
|
21
|
+
export const MAX_FADER_LIFT_DB = 3;
|
|
15
22
|
export const FADER_EPSILON_DB = 0.3; // no balance pass when every move sits inside this dead-zone
|
|
16
23
|
export const FADER_COMPENSATION_EPSILON_DB = 0.05; // retain 0.1 dB companion moves that preserve bus power
|
|
17
24
|
export const MIN_STEM_LUFS = -50; // quieter stems read as "not sounding" — skipped
|
|
@@ -19,12 +26,20 @@ export const MIN_STEM_LUFS = -50; // quieter stems read as "not sounding" — sk
|
|
|
19
26
|
// LUFS overstates how loud it reads inside the mix).
|
|
20
27
|
export const MASK_PENALTY_DB_PER_UNIT = 3;
|
|
21
28
|
// Offsets are RELATIVE (the bus normalization cancels any uniform shift).
|
|
22
|
-
// kick sits ABOVE the stem power mean: PAM's genre corpus
|
|
23
|
-
//
|
|
29
|
+
// kick sits ABOVE the stem power mean: PAM's genre corpus mixes kick-forward
|
|
30
|
+
// (idm, the one exception, still keeps a present kick), and an equal-loudness target that
|
|
24
31
|
// pulls a deliberately hot kick down to the mean reads as the assistant
|
|
25
32
|
// "killing the kick" — especially live, where AUTO feeds this solve into the
|
|
26
33
|
// signed rider every second.
|
|
27
|
-
|
|
34
|
+
// `hats` covers the high-centroid percussion family (closed hats, shakers,
|
|
35
|
+
// tambourine, ride, high clatter perc). It sits far below the rest because
|
|
36
|
+
// that is where mixes put it — the old table had no such role, so a 16th-note
|
|
37
|
+
// hat classified as `drums` and the solve targeted it level with the snare.
|
|
38
|
+
// The -11 is set from the gap it has to reproduce, not by feel: soloed stems
|
|
39
|
+
// in a voiced mix read a hat 14-18 dB under the kick, and kick +2 minus
|
|
40
|
+
// hats -11 is 13. Too shallow a value and the solve keeps wanting to lift a
|
|
41
|
+
// hat the user deliberately buried, one capped pass at a time.
|
|
42
|
+
export const ROLE_OFFSETS_DB = { kick: 2, drums: 0, bass: 0, melodic: -2, ambient: -5, hats: -11 };
|
|
28
43
|
// Fader floor: -60 is the true-mute sentinel (dsp/modules/sampler.ts) — never
|
|
29
44
|
// propose at or below it.
|
|
30
45
|
export const FADER_FLOOR_DB = -59;
|
|
@@ -44,6 +59,19 @@ export const LOW_TRANSIENT_ONSET_DENSITY = 0.5;
|
|
|
44
59
|
// PLR ~6-9 and stay bass.
|
|
45
60
|
export const DRUMS_CREST_MIN_DB = 10;
|
|
46
61
|
export const DRUMS_ONSET_DENSITY = 3; // onsets/sec at or above = drums
|
|
62
|
+
// The onset-density gate alone is tuned for a full loop, not for one drum per
|
|
63
|
+
// cell: a backbeat snare fires ~1 onset/sec, so it fell through to `melodic`
|
|
64
|
+
// and took that role's -2 dB — BELOW the hat it should sit above. A cell that
|
|
65
|
+
// is not low-dominant but carries drum-class crest counts as percussive at a
|
|
66
|
+
// much lower density; sustained material stays under DRUMS_CREST_MIN_DB.
|
|
67
|
+
// Sits just above AMBIENT_ONSET_DENSITY: onsetDensity divides by the WHOLE
|
|
68
|
+
// capture, silence included, so a shaker or tambourine on every other bar
|
|
69
|
+
// reads 0.4-0.5 and is still percussion. Below this is a one-shot, not a part.
|
|
70
|
+
export const PERCUSSIVE_ONSET_DENSITY = 0.35;
|
|
71
|
+
// Spectral centroid at or above this puts a percussive cell in `hats`. Closed
|
|
72
|
+
// hats and shakers read 6-10 kHz, rides 4-8 kHz; a snare reads 2-4 kHz and a
|
|
73
|
+
// full loop 1-3 kHz, so they stay `drums`.
|
|
74
|
+
export const HATS_CENTROID_HZ = 4000;
|
|
47
75
|
export const AMBIENT_ONSET_DENSITY = 0.3; // at or below (with low crest) = ambient
|
|
48
76
|
export const AMBIENT_MAX_PLR = 8;
|
|
49
77
|
// --- pan stage ---
|
|
@@ -152,6 +180,34 @@ export function maskingOverlap(aDb, bDb) {
|
|
|
152
180
|
}
|
|
153
181
|
return sumA > 0 ? shared / sumA : 0;
|
|
154
182
|
}
|
|
183
|
+
// Level-free spectral collision: sum_b min(Pa, Pb) over POWER-NORMALIZED
|
|
184
|
+
// spectra. 1 = same shape, 0 = disjoint bands, and scaling either stem leaves
|
|
185
|
+
// it unchanged.
|
|
186
|
+
//
|
|
187
|
+
// maskingOverlap above cannot answer "do these two collide" because it is
|
|
188
|
+
// level-coupled by construction: any cell sitting under a louder one in the
|
|
189
|
+
// same bands reads ~1 no matter how little spectrum they share (min(Pa,Pb)
|
|
190
|
+
// collapses to Pa). The BAL stage fed that number into its Ward-lite partial
|
|
191
|
+
// loudness penalty, so the QUIETEST cell always took the largest penalty and
|
|
192
|
+
// the largest compensating lift — a hat 16 dB down measured maskedFraction
|
|
193
|
+
// 0.95 against a perc layer it barely touches. The EQ and PAN stages want the
|
|
194
|
+
// asymmetric reading (it identifies masker vs masked), so it stays.
|
|
195
|
+
export function spectralShapeOverlap(aDb, bDb) {
|
|
196
|
+
const n = Math.min(aDb.length, bDb.length, BARK_BAND_COUNT);
|
|
197
|
+
let sumA = 0;
|
|
198
|
+
let sumB = 0;
|
|
199
|
+
for (let b = 0; b < n; b++) {
|
|
200
|
+
sumA += dbToPower(aDb[b]);
|
|
201
|
+
sumB += dbToPower(bDb[b]);
|
|
202
|
+
}
|
|
203
|
+
if (sumA <= 0 || sumB <= 0)
|
|
204
|
+
return 0;
|
|
205
|
+
let shared = 0;
|
|
206
|
+
for (let b = 0; b < n; b++) {
|
|
207
|
+
shared += Math.min(dbToPower(aDb[b]) / sumA, dbToPower(bDb[b]) / sumB);
|
|
208
|
+
}
|
|
209
|
+
return shared;
|
|
210
|
+
}
|
|
155
211
|
// M[i][j] = fraction of cell i's energy overlapped by cell j. Diagonal 0.
|
|
156
212
|
export function maskingMatrix(barkDbByCell) {
|
|
157
213
|
const n = barkDbByCell.length;
|
|
@@ -261,7 +317,12 @@ export function paramIsModulated(lists, paramId) {
|
|
|
261
317
|
return macro !== undefined && Number(macro[`exclude_cell${cellId}`] ?? 0) <= 0.5;
|
|
262
318
|
}
|
|
263
319
|
const numOr = (v, d) => typeof v === 'number' && Number.isFinite(v) ? v : d;
|
|
264
|
-
const
|
|
320
|
+
const EQ_GAIN_SUFFIXES = ['eqLowGain', 'eqMidGain', 'eqHighGain'];
|
|
321
|
+
const EQ_MODULATION_SUFFIXES = [
|
|
322
|
+
...EQ_GAIN_SUFFIXES,
|
|
323
|
+
'eqLowMidFreq',
|
|
324
|
+
'eqMidHighFreq',
|
|
325
|
+
];
|
|
265
326
|
const COMP_SUFFIXES = [
|
|
266
327
|
'compressorThreshold',
|
|
267
328
|
'compressorRatioAmount',
|
|
@@ -272,7 +333,7 @@ const COMP_SUFFIXES = [
|
|
|
272
333
|
export const MIX_CURRENT_SUFFIXES = [
|
|
273
334
|
'volume',
|
|
274
335
|
'pan',
|
|
275
|
-
...
|
|
336
|
+
...EQ_GAIN_SUFFIXES,
|
|
276
337
|
...COMP_SUFFIXES,
|
|
277
338
|
];
|
|
278
339
|
export function buildMixMeasurementFromState(analysis, flatState, mods = {}, options = {}) {
|
|
@@ -299,7 +360,7 @@ export function buildMixMeasurementFromState(analysis, flatState, mods = {}, opt
|
|
|
299
360
|
compressorRelease: numOr(k('compressorRelease'), 200),
|
|
300
361
|
volumeModulated: paramIsModulated(mods, `cell${id}_volume`),
|
|
301
362
|
panModulated: paramIsModulated(mods, `cell${id}_pan`),
|
|
302
|
-
eqModulated:
|
|
363
|
+
eqModulated: EQ_MODULATION_SUFFIXES.some((s) => paramIsModulated(mods, `cell${id}_${s}`)),
|
|
303
364
|
compModulated: COMP_SUFFIXES.some((s) => paramIsModulated(mods, `cell${id}_${s}`)),
|
|
304
365
|
};
|
|
305
366
|
return { analysis: a, context };
|
|
@@ -347,8 +408,13 @@ export function classifyCellRole(a) {
|
|
|
347
408
|
return 'kick';
|
|
348
409
|
if (lowDominant)
|
|
349
410
|
return 'bass';
|
|
350
|
-
|
|
351
|
-
|
|
411
|
+
// Two ways into the percussion family: dense enough to be a loop, or sparse
|
|
412
|
+
// but carrying drum-class crest (one drum per cell — the backbeat snare
|
|
413
|
+
// case). Centroid then splits hats/shakers/rides off from the rest.
|
|
414
|
+
const percussive = a.onsetDensity >= DRUMS_ONSET_DENSITY ||
|
|
415
|
+
(kickCrest && a.onsetDensity >= PERCUSSIVE_ONSET_DENSITY);
|
|
416
|
+
if (percussive)
|
|
417
|
+
return barkCentroidHz(a.barkDb) >= HATS_CENTROID_HZ ? 'hats' : 'drums';
|
|
352
418
|
if (a.onsetDensity <= AMBIENT_ONSET_DENSITY && (a.plr ?? 0) < AMBIENT_MAX_PLR)
|
|
353
419
|
return 'ambient';
|
|
354
420
|
return 'melodic';
|
|
@@ -376,8 +442,9 @@ export function normalizeMovesToBusBounded(rawDeltasDb, lufs, currentVolumes) {
|
|
|
376
442
|
const before = powers.reduce((sum, power) => sum + power, 0);
|
|
377
443
|
if (before <= 0)
|
|
378
444
|
return rawDeltasDb.slice();
|
|
445
|
+
// Asymmetric on purpose: cuts get the full travel, lifts get MAX_FADER_LIFT_DB.
|
|
379
446
|
const lower = currentVolumes.map((v) => Math.max(-MAX_FADER_MOVE_DB, FADER_FLOOR_DB - v));
|
|
380
|
-
const upper = currentVolumes.map((v) => Math.min(
|
|
447
|
+
const upper = currentVolumes.map((v) => Math.min(MAX_FADER_LIFT_DB, FADER_CEIL_DB - v));
|
|
381
448
|
const deltasAt = (offset) => rawDeltasDb.map((d, i) => clamp(d - offset, lower[i], upper[i]));
|
|
382
449
|
const errorAt = (offset) => {
|
|
383
450
|
const deltas = deltasAt(offset);
|
|
@@ -397,6 +464,16 @@ export function normalizeMovesToBusBounded(rawDeltasDb, lufs, currentVolumes) {
|
|
|
397
464
|
}
|
|
398
465
|
return deltasAt(0.5 * (lo + hi));
|
|
399
466
|
}
|
|
467
|
+
// How much of q's spectral overlap actually masks p, from their level gap.
|
|
468
|
+
// Logistic in dB: 0.5 at equal level, ->1 as q gets louder, ->0 as q gets
|
|
469
|
+
// quieter. It MUST be continuous. A hard `q is louder` test looks equivalent
|
|
470
|
+
// and is not: two cells within a dB of each other swap order as the solve
|
|
471
|
+
// moves them, the penalty flips with the order, the target flips with the
|
|
472
|
+
// penalty, and repeated analyse+apply settles into a +-0.7 dB limit cycle
|
|
473
|
+
// instead of converging (caught by the seeded sweep's fixed-point check).
|
|
474
|
+
export function maskerWeight(pLufs, qLufs) {
|
|
475
|
+
return 1 / (1 + Math.pow(10, (pLufs - qLufs) / 10));
|
|
476
|
+
}
|
|
400
477
|
export function suggestMix(m, options, current = {}) {
|
|
401
478
|
const moves = [];
|
|
402
479
|
const guardsHit = [];
|
|
@@ -441,12 +518,20 @@ export function suggestMix(m, options, current = {}) {
|
|
|
441
518
|
};
|
|
442
519
|
}
|
|
443
520
|
// ---- masking matrix (Ward-lite partial-loudness correction) ------------
|
|
521
|
+
// The matrix stays level-coupled and asymmetric — EQ and PAN read it to tell
|
|
522
|
+
// masker from masked. The BAL penalty below must NOT: maskingOverlap reads
|
|
523
|
+
// ~1 for any cell under a louder one regardless of shared spectrum, so
|
|
524
|
+
// feeding it into effectiveLufs made the quietest cell take the deepest
|
|
525
|
+
// penalty and the largest compensating lift. spectralShapeOverlap answers
|
|
526
|
+
// only "do they collide", and maskerWeight scales that by the level gap.
|
|
444
527
|
const matrix = maskingMatrix(participants.map((p) => p.cell.analysis.barkDb));
|
|
445
528
|
for (const p of participants) {
|
|
446
529
|
let masked = 0;
|
|
447
530
|
for (const q of participants) {
|
|
448
|
-
if (q.index
|
|
449
|
-
|
|
531
|
+
if (q.index === p.index)
|
|
532
|
+
continue;
|
|
533
|
+
const shape = spectralShapeOverlap(p.cell.analysis.barkDb, q.cell.analysis.barkDb);
|
|
534
|
+
masked = Math.max(masked, shape * maskerWeight(p.lufs, q.lufs));
|
|
450
535
|
}
|
|
451
536
|
p.maskedFraction = masked;
|
|
452
537
|
p.effectiveLufs = p.lufs - MASK_PENALTY_DB_PER_UNIT * masked;
|
package/dist/mixAssist.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixAssist.js","sourceRoot":"","sources":["../src/mixAssist.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mixAssist.js","sourceRoot":"","sources":["../src/mixAssist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export interface PlayerSlotSpec {
|
|
2
|
+
label: string;
|
|
3
|
+
default: number;
|
|
4
|
+
steps?: number;
|
|
5
|
+
stepLabels?: string[];
|
|
6
|
+
hint?: string;
|
|
7
|
+
center?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface PlayerSpec {
|
|
10
|
+
id: number;
|
|
11
|
+
name: string;
|
|
12
|
+
tag: "drum" | "melodic" | "both";
|
|
13
|
+
replay: boolean;
|
|
14
|
+
blurb: string;
|
|
15
|
+
defaults: {
|
|
16
|
+
density: number;
|
|
17
|
+
mutate: number;
|
|
18
|
+
};
|
|
19
|
+
slots: PlayerSlotSpec[];
|
|
20
|
+
}
|
|
21
|
+
export interface PlayerPreset {
|
|
22
|
+
name: string;
|
|
23
|
+
density: number;
|
|
24
|
+
mutate: number;
|
|
25
|
+
p: number[];
|
|
26
|
+
}
|
|
27
|
+
export declare const PLAYER_SLOT_FIELDS: readonly ["playerP1", "playerP2", "playerP3", "playerP4", "playerP5"];
|
|
28
|
+
export type PlayerSlotField = (typeof PLAYER_SLOT_FIELDS)[number];
|
|
29
|
+
export type PlayerField = "playerDensity" | "playerMutate" | PlayerSlotField;
|
|
30
|
+
/** The seven fields that are ALSO manifest params: every write must reach both. */
|
|
31
|
+
export declare const MODULATABLE_PLAYER_FIELDS: readonly PlayerField[];
|
|
32
|
+
export declare const LISTEN_MODES: readonly ["off", "complement", "answer", "harmonic"];
|
|
33
|
+
export type ListenModeName = (typeof LISTEN_MODES)[number];
|
|
34
|
+
export declare const PATTERN_MODES: readonly ["mask", "keep"];
|
|
35
|
+
export type PatternModeName = (typeof PATTERN_MODES)[number];
|
|
36
|
+
/** "No arm on record" in the persisted poly ledger (interface/src/utils/playerPolyArm.ts). */
|
|
37
|
+
export declare const NO_POLY_ARM = -1;
|
|
38
|
+
export declare const PLAYER_GENRES: readonly ["boom_bap", "trap", "drill", "house", "techno", "dnb", "idm"];
|
|
39
|
+
export type PlayerGenre = (typeof PLAYER_GENRES)[number];
|
|
40
|
+
export declare const GENERATIVE_PLAYERS: PlayerSpec[];
|
|
41
|
+
export declare const PLAYER_NAMES: string[];
|
|
42
|
+
export declare const getPlayerSpec: (type: number) => PlayerSpec | undefined;
|
|
43
|
+
/** A roster name (any case) or a numeric id; undefined for anything else. */
|
|
44
|
+
export declare function resolvePlayerSpec(ref: string | number): PlayerSpec | undefined;
|
|
45
|
+
export declare const playerPresetsFor: (type: number) => PlayerPreset[];
|
|
46
|
+
export declare function resolvePlayerPreset(spec: PlayerSpec, name: string): PlayerPreset | undefined;
|
|
47
|
+
/** The roster's own voicing for a type pick — what setCellPlayer seeds before the caller's fields. */
|
|
48
|
+
export declare function playerDefaultsFor(type: number): Record<string, number>;
|
|
49
|
+
export declare function presetConfig(preset: PlayerPreset): Record<string, number>;
|
|
50
|
+
/** A detented field writes exactly i/(steps-1); continuous is the clamped identity. */
|
|
51
|
+
export declare function snapPlayerValue(steps: number | undefined, value: number): number;
|
|
52
|
+
export declare function playerSlotStepIndex(slot: PlayerSlotSpec, value: number): number;
|
|
53
|
+
export declare function playerSlotDisplay(slot: PlayerSlotSpec, value: number): string;
|
|
54
|
+
export declare const playerDensityDisplay: (value: number) => string;
|
|
55
|
+
export declare const playerMutateDisplay: (value: number) => string;
|
|
56
|
+
/**
|
|
57
|
+
* A slot write from an agent: a 0..1 position (snapped to the slot's detents) or,
|
|
58
|
+
* on a labelled slot, one of its step labels. Returns an error string on a miss.
|
|
59
|
+
*/
|
|
60
|
+
export declare function resolveSlotValue(slot: PlayerSlotSpec, input: number | string): number | string;
|
|
61
|
+
export interface PlayerGenreSlot {
|
|
62
|
+
index: number;
|
|
63
|
+
genres: PlayerGenre[];
|
|
64
|
+
}
|
|
65
|
+
/** The slot whose detents all name randomizer genres — found from the registry, never hardcoded. */
|
|
66
|
+
export declare function playerGenreSlot(spec: PlayerSpec | undefined): PlayerGenreSlot | undefined;
|
|
67
|
+
export declare function playerGenreConfig(spec: PlayerSpec | undefined, genre: string | undefined): Record<string, number>;
|
|
68
|
+
export interface RolePlayerConfig {
|
|
69
|
+
playerType: number;
|
|
70
|
+
playerP1?: number;
|
|
71
|
+
playerP5?: number;
|
|
72
|
+
isPoly?: number;
|
|
73
|
+
}
|
|
74
|
+
export declare const DEFAULT_PLAYER_TYPE = 2;
|
|
75
|
+
export declare const rolePlayerConfigFor: (cellId: number) => RolePlayerConfig;
|
|
76
|
+
export declare const roleSpreadSummary: () => Record<number, string>;
|
|
77
|
+
export declare const isMelodicPlayer: (spec: PlayerSpec | undefined) => boolean;
|
|
78
|
+
/** uint31 so the seed round-trips through every JSON/number layer intact. */
|
|
79
|
+
export declare const randomPlayerSeed: () => number;
|
|
80
|
+
export declare const cellPlayerType: (cell: Record<string, unknown> | undefined) => number;
|
|
81
|
+
/**
|
|
82
|
+
* Human-readable summary of a cell's running player. The seven modulatable
|
|
83
|
+
* fields are read from the PARAMS (`cell{N}_player*`) with the config as the
|
|
84
|
+
* fallback, because only a UI write mirrors the two and an automated move
|
|
85
|
+
* leaves the config behind.
|
|
86
|
+
*/
|
|
87
|
+
export declare function describeCellPlayer(cellId: number, cell: Record<string, unknown> | undefined, state: Record<string, unknown>): Record<string, unknown> | undefined;
|
|
88
|
+
/** The roster as an agent-facing catalogue: one entry per player, presets attached. */
|
|
89
|
+
export declare function describePlayerSpec(spec: PlayerSpec, includePresets: boolean): Record<string, unknown>;
|