@onjmin/dtm 0.1.70 → 0.1.72
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/dist/index.js +43 -23
- package/dist/index.mjs +43 -23
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -13253,7 +13253,10 @@ var playSingingMML = async (mml, options = {}) => {
|
|
|
13253
13253
|
const namedIdx = TRACK_ID_BY_INDEX2.indexOf(
|
|
13254
13254
|
e.trackId
|
|
13255
13255
|
);
|
|
13256
|
-
|
|
13256
|
+
let trackIdx = namedIdx >= 0 ? namedIdx : Number(e.trackId);
|
|
13257
|
+
if (Number.isNaN(trackIdx) && e.trackId.startsWith("t")) {
|
|
13258
|
+
trackIdx = Number(e.trackId.slice(1));
|
|
13259
|
+
}
|
|
13257
13260
|
if (lyricTracks.has(trackIdx)) return;
|
|
13258
13261
|
options.onPlayNote?.(e);
|
|
13259
13262
|
synth?.playNote(e);
|
|
@@ -14222,7 +14225,7 @@ var createDtmStudio = async (options = {}) => {
|
|
|
14222
14225
|
}
|
|
14223
14226
|
}
|
|
14224
14227
|
const playNote4 = (e) => {
|
|
14225
|
-
const trackIdx =
|
|
14228
|
+
const { trackIdx, role } = resolveTrackIdxAndRole(e.trackId);
|
|
14226
14229
|
const overrideKey = trackIdx >= 0 ? trackInstOverrides.get(trackIdx) : void 0;
|
|
14227
14230
|
let sfInst;
|
|
14228
14231
|
if (overrideKey) {
|
|
@@ -14230,7 +14233,7 @@ var createDtmStudio = async (options = {}) => {
|
|
|
14230
14233
|
} else {
|
|
14231
14234
|
sfInst = resolveSoundFont(
|
|
14232
14235
|
editorPreset,
|
|
14233
|
-
|
|
14236
|
+
role,
|
|
14234
14237
|
isAdvancedMode ? "advanced" : "simple"
|
|
14235
14238
|
);
|
|
14236
14239
|
}
|
|
@@ -14566,33 +14569,50 @@ var createDtmStudio = async (options = {}) => {
|
|
|
14566
14569
|
});
|
|
14567
14570
|
};
|
|
14568
14571
|
const playSingingMMLInstance = (mml, opts = {}) => {
|
|
14569
|
-
const
|
|
14570
|
-
const
|
|
14571
|
-
|
|
14572
|
-
);
|
|
14573
|
-
const
|
|
14574
|
-
|
|
14575
|
-
|
|
14576
|
-
|
|
14577
|
-
|
|
14578
|
-
isAdvancedMode ? "advanced" : "simple"
|
|
14572
|
+
const parsed = parseMML(mml, {});
|
|
14573
|
+
const meta = parsed.meta ?? {};
|
|
14574
|
+
const playerPreset = meta.instrument && INSTRUMENT_PRESETS[meta.instrument] ? meta.instrument : defaultPreset;
|
|
14575
|
+
const isAdvancedMode = meta.mode === "advanced" || parsed.placements.some((p) => p.trackIndex >= 4);
|
|
14576
|
+
const trackIndices = [
|
|
14577
|
+
...new Set(parsed.placements.map((p) => p.trackIndex))
|
|
14578
|
+
];
|
|
14579
|
+
const trackIds = trackIndices.map(
|
|
14580
|
+
(idx) => getRoleForTrackIndex(idx, isAdvancedMode ? "advanced" : "simple")
|
|
14579
14581
|
);
|
|
14580
|
-
const
|
|
14581
|
-
|
|
14582
|
-
|
|
14582
|
+
const loadTrackIds = trackIds.length > 0 ? trackIds : [...TRACK_ROLES];
|
|
14583
|
+
const playerTrackInstKeys = /* @__PURE__ */ new Map();
|
|
14584
|
+
const loadPlayerTrackInstruments = async () => {
|
|
14585
|
+
if (!meta.trackInstruments) return;
|
|
14586
|
+
await listReady;
|
|
14587
|
+
for (const [idxStr, name] of Object.entries(meta.trackInstruments)) {
|
|
14588
|
+
const key = resolveNameToKey(name);
|
|
14589
|
+
if (!key) continue;
|
|
14590
|
+
playerTrackInstKeys.set(Number(idxStr), key);
|
|
14591
|
+
await loadInstrument(key);
|
|
14592
|
+
}
|
|
14593
|
+
};
|
|
14594
|
+
void Promise.all([
|
|
14595
|
+
loadPreset(
|
|
14583
14596
|
playerPreset,
|
|
14584
|
-
|
|
14597
|
+
loadTrackIds,
|
|
14585
14598
|
isAdvancedMode ? "advanced" : "simple"
|
|
14586
|
-
)
|
|
14587
|
-
|
|
14588
|
-
|
|
14589
|
-
|
|
14590
|
-
|
|
14599
|
+
),
|
|
14600
|
+
loadPlayerTrackInstruments()
|
|
14601
|
+
]);
|
|
14602
|
+
const playPlayerNote = (e) => {
|
|
14603
|
+
const { trackIdx, role } = resolveTrackIdxAndRole(e.trackId);
|
|
14604
|
+
const overrideKey = playerTrackInstKeys.get(trackIdx);
|
|
14605
|
+
let sfInst;
|
|
14606
|
+
if (overrideKey) {
|
|
14607
|
+
sfInst = soundFonts.get(overrideKey);
|
|
14608
|
+
} else {
|
|
14609
|
+
const roleFromIdx = getRoleForTrackIndex(
|
|
14610
|
+
trackIdx,
|
|
14591
14611
|
isAdvancedMode ? "advanced" : "simple"
|
|
14592
14612
|
);
|
|
14593
14613
|
sfInst = resolveSoundFont(
|
|
14594
14614
|
playerPreset,
|
|
14595
|
-
|
|
14615
|
+
roleFromIdx,
|
|
14596
14616
|
isAdvancedMode ? "advanced" : "simple"
|
|
14597
14617
|
);
|
|
14598
14618
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -13130,7 +13130,10 @@ var playSingingMML = async (mml, options = {}) => {
|
|
|
13130
13130
|
const namedIdx = TRACK_ID_BY_INDEX2.indexOf(
|
|
13131
13131
|
e.trackId
|
|
13132
13132
|
);
|
|
13133
|
-
|
|
13133
|
+
let trackIdx = namedIdx >= 0 ? namedIdx : Number(e.trackId);
|
|
13134
|
+
if (Number.isNaN(trackIdx) && e.trackId.startsWith("t")) {
|
|
13135
|
+
trackIdx = Number(e.trackId.slice(1));
|
|
13136
|
+
}
|
|
13134
13137
|
if (lyricTracks.has(trackIdx)) return;
|
|
13135
13138
|
options.onPlayNote?.(e);
|
|
13136
13139
|
synth?.playNote(e);
|
|
@@ -14098,7 +14101,7 @@ var createDtmStudio = async (options = {}) => {
|
|
|
14098
14101
|
}
|
|
14099
14102
|
}
|
|
14100
14103
|
const playNote4 = (e) => {
|
|
14101
|
-
const trackIdx =
|
|
14104
|
+
const { trackIdx, role } = resolveTrackIdxAndRole(e.trackId);
|
|
14102
14105
|
const overrideKey = trackIdx >= 0 ? trackInstOverrides.get(trackIdx) : void 0;
|
|
14103
14106
|
let sfInst;
|
|
14104
14107
|
if (overrideKey) {
|
|
@@ -14106,7 +14109,7 @@ var createDtmStudio = async (options = {}) => {
|
|
|
14106
14109
|
} else {
|
|
14107
14110
|
sfInst = resolveSoundFont(
|
|
14108
14111
|
editorPreset,
|
|
14109
|
-
|
|
14112
|
+
role,
|
|
14110
14113
|
isAdvancedMode ? "advanced" : "simple"
|
|
14111
14114
|
);
|
|
14112
14115
|
}
|
|
@@ -14442,33 +14445,50 @@ var createDtmStudio = async (options = {}) => {
|
|
|
14442
14445
|
});
|
|
14443
14446
|
};
|
|
14444
14447
|
const playSingingMMLInstance = (mml, opts = {}) => {
|
|
14445
|
-
const
|
|
14446
|
-
const
|
|
14447
|
-
|
|
14448
|
-
);
|
|
14449
|
-
const
|
|
14450
|
-
|
|
14451
|
-
|
|
14452
|
-
|
|
14453
|
-
|
|
14454
|
-
isAdvancedMode ? "advanced" : "simple"
|
|
14448
|
+
const parsed = parseMML(mml, {});
|
|
14449
|
+
const meta = parsed.meta ?? {};
|
|
14450
|
+
const playerPreset = meta.instrument && INSTRUMENT_PRESETS[meta.instrument] ? meta.instrument : defaultPreset;
|
|
14451
|
+
const isAdvancedMode = meta.mode === "advanced" || parsed.placements.some((p) => p.trackIndex >= 4);
|
|
14452
|
+
const trackIndices = [
|
|
14453
|
+
...new Set(parsed.placements.map((p) => p.trackIndex))
|
|
14454
|
+
];
|
|
14455
|
+
const trackIds = trackIndices.map(
|
|
14456
|
+
(idx) => getRoleForTrackIndex(idx, isAdvancedMode ? "advanced" : "simple")
|
|
14455
14457
|
);
|
|
14456
|
-
const
|
|
14457
|
-
|
|
14458
|
-
|
|
14458
|
+
const loadTrackIds = trackIds.length > 0 ? trackIds : [...TRACK_ROLES];
|
|
14459
|
+
const playerTrackInstKeys = /* @__PURE__ */ new Map();
|
|
14460
|
+
const loadPlayerTrackInstruments = async () => {
|
|
14461
|
+
if (!meta.trackInstruments) return;
|
|
14462
|
+
await listReady;
|
|
14463
|
+
for (const [idxStr, name] of Object.entries(meta.trackInstruments)) {
|
|
14464
|
+
const key = resolveNameToKey(name);
|
|
14465
|
+
if (!key) continue;
|
|
14466
|
+
playerTrackInstKeys.set(Number(idxStr), key);
|
|
14467
|
+
await loadInstrument(key);
|
|
14468
|
+
}
|
|
14469
|
+
};
|
|
14470
|
+
void Promise.all([
|
|
14471
|
+
loadPreset(
|
|
14459
14472
|
playerPreset,
|
|
14460
|
-
|
|
14473
|
+
loadTrackIds,
|
|
14461
14474
|
isAdvancedMode ? "advanced" : "simple"
|
|
14462
|
-
)
|
|
14463
|
-
|
|
14464
|
-
|
|
14465
|
-
|
|
14466
|
-
|
|
14475
|
+
),
|
|
14476
|
+
loadPlayerTrackInstruments()
|
|
14477
|
+
]);
|
|
14478
|
+
const playPlayerNote = (e) => {
|
|
14479
|
+
const { trackIdx, role } = resolveTrackIdxAndRole(e.trackId);
|
|
14480
|
+
const overrideKey = playerTrackInstKeys.get(trackIdx);
|
|
14481
|
+
let sfInst;
|
|
14482
|
+
if (overrideKey) {
|
|
14483
|
+
sfInst = soundFonts.get(overrideKey);
|
|
14484
|
+
} else {
|
|
14485
|
+
const roleFromIdx = getRoleForTrackIndex(
|
|
14486
|
+
trackIdx,
|
|
14467
14487
|
isAdvancedMode ? "advanced" : "simple"
|
|
14468
14488
|
);
|
|
14469
14489
|
sfInst = resolveSoundFont(
|
|
14470
14490
|
playerPreset,
|
|
14471
|
-
|
|
14491
|
+
roleFromIdx,
|
|
14472
14492
|
isAdvancedMode ? "advanced" : "simple"
|
|
14473
14493
|
);
|
|
14474
14494
|
}
|
package/package.json
CHANGED