@beatbax/engine 0.1.1 → 0.3.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/dist/.tsbuildinfo +1 -1
- package/dist/audio/playback.d.ts +20 -0
- package/dist/audio/playback.d.ts.map +1 -1
- package/dist/audio/playback.js +196 -23
- package/dist/audio/playback.js.map +1 -1
- package/dist/export/jsonExport.d.ts.map +1 -1
- package/dist/export/jsonExport.js +11 -9
- package/dist/export/jsonExport.js.map +1 -1
- package/dist/export/midiExport.d.ts.map +1 -1
- package/dist/export/midiExport.js +13 -11
- package/dist/export/midiExport.js.map +1 -1
- package/dist/export/ugeWriter.d.ts.map +1 -1
- package/dist/export/ugeWriter.js +40 -38
- package/dist/export/ugeWriter.js.map +1 -1
- package/dist/export/wavWriter.d.ts.map +1 -1
- package/dist/export/wavWriter.js +8 -6
- package/dist/export/wavWriter.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -30
- package/dist/index.js.map +1 -1
- package/dist/parser/peggy/generated/parser.d.ts.map +1 -1
- package/dist/parser/peggy/generated/parser.js +20 -38
- package/dist/parser/peggy/generated/parser.js.map +1 -1
- package/dist/parser/peggy/index.d.ts.map +1 -1
- package/dist/parser/peggy/index.js +49 -1
- package/dist/parser/peggy/index.js.map +1 -1
- package/dist/song/resolver.d.ts.map +1 -1
- package/dist/song/resolver.js +18 -0
- package/dist/song/resolver.js.map +1 -1
- package/dist/util/diag.d.ts.map +1 -1
- package/dist/util/diag.js +4 -2
- package/dist/util/diag.js.map +1 -1
- package/dist/util/index.d.ts +6 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +8 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/logger.d.ts +115 -0
- package/dist/util/logger.d.ts.map +1 -0
- package/dist/util/logger.js +392 -0
- package/dist/util/logger.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midiExport.d.ts","sourceRoot":"","sources":["../../src/export/midiExport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"midiExport.d.ts","sourceRoot":"","sources":["../../src/export/midiExport.ts"],"names":[],"mappings":"AAsEA,4CAA4C;AAC5C,wBAAsB,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iBAuU5K"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { writeFileSync } from 'fs';
|
|
8
8
|
import { noteNameToMidi } from '../audio/playback.js';
|
|
9
|
+
import { createLogger } from '../util/logger.js';
|
|
10
|
+
const log = createLogger('export:midi');
|
|
9
11
|
function writeVarLen(n) {
|
|
10
12
|
const bytes = [];
|
|
11
13
|
let val = n & 0xffffffff;
|
|
@@ -83,14 +85,14 @@ export async function exportMIDI(songOrPath, maybePath, options = {}, opts) {
|
|
|
83
85
|
const track = writeChunk('MTrk', [0x00, 0xff, 0x2f, 0x00]);
|
|
84
86
|
writeFileSync(outPath, Buffer.concat([header, track]));
|
|
85
87
|
if (opts && opts.debug)
|
|
86
|
-
|
|
88
|
+
log.debug('Wrote empty MIDI to', outPath);
|
|
87
89
|
return;
|
|
88
90
|
}
|
|
89
91
|
const song = songOrPath;
|
|
90
92
|
if (!outPath)
|
|
91
93
|
outPath = 'song.mid';
|
|
92
94
|
if (verbose) {
|
|
93
|
-
|
|
95
|
+
log.info(`Exporting to MIDI (Standard MIDI File): ${outPath}`);
|
|
94
96
|
}
|
|
95
97
|
// Basic SMF parameters
|
|
96
98
|
const ticksPerQuarter = 480; // PPQ
|
|
@@ -366,25 +368,25 @@ export async function exportMIDI(songOrPath, maybePath, options = {}, opts) {
|
|
|
366
368
|
// Write file
|
|
367
369
|
const out = Buffer.concat([header, ...trackBuffers]);
|
|
368
370
|
if (opts && opts.debug) {
|
|
369
|
-
|
|
371
|
+
log.debug(`MIDI: ${ntracks} tracks, ${ticksPerQuarter} PPQ`);
|
|
370
372
|
}
|
|
371
373
|
if (verbose) {
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
374
|
+
log.info(` MIDI configuration:`);
|
|
375
|
+
log.info(` - Format: Type 1 (multi-track)`);
|
|
376
|
+
log.info(` - Tracks: ${ntracks} (1 per channel)`);
|
|
377
|
+
log.info(` - Tempo: ${bpm} BPM`);
|
|
378
|
+
log.info(` - Resolution: ${ticksPerQuarter} PPQ`);
|
|
377
379
|
if (options.channels) {
|
|
378
|
-
|
|
380
|
+
log.info(` - Channels exported: ${options.channels.join(', ')}`);
|
|
379
381
|
}
|
|
380
382
|
if (options.duration) {
|
|
381
|
-
|
|
383
|
+
log.info(` - Duration: ${options.duration}s`);
|
|
382
384
|
}
|
|
383
385
|
}
|
|
384
386
|
writeFileSync(outPath, out);
|
|
385
387
|
if (verbose) {
|
|
386
388
|
const sizeKB = (out.length / 1024).toFixed(2);
|
|
387
|
-
|
|
389
|
+
log.info(`Export complete: ${out.length.toLocaleString()} bytes (${sizeKB} KB) written`);
|
|
388
390
|
}
|
|
389
391
|
}
|
|
390
392
|
//# sourceMappingURL=midiExport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midiExport.js","sourceRoot":"","sources":["../../src/export/midiExport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"midiExport.js","sourceRoot":"","sources":["../../src/export/midiExport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ugeWriter.d.ts","sourceRoot":"","sources":["../../src/export/ugeWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,SAAS,EAA2B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ugeWriter.d.ts","sourceRoot":"","sources":["../../src/export/ugeWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,SAAS,EAA2B,MAAM,sBAAsB,CAAC;AAwpB1E;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAenD;AA4nBD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAE,YAAY,GAAG,QAAmB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,CA0BtI;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmyBzJ;AAED,eAAe,SAAS,CAAC"}
|
package/dist/export/ugeWriter.js
CHANGED
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
import { writeFileSync } from 'fs';
|
|
18
18
|
import { parseEnvelope, parseSweep } from '../chips/gameboy/pulse.js';
|
|
19
19
|
import { warn } from '../util/diag.js';
|
|
20
|
+
import { createLogger } from '../util/logger.js';
|
|
21
|
+
const log = createLogger('export:uge');
|
|
20
22
|
// Constants from UGE v6 spec
|
|
21
23
|
const UGE_VERSION = 6;
|
|
22
24
|
const NUM_DUTY_INSTRUMENTS = 15;
|
|
@@ -1191,7 +1193,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1191
1193
|
const strictGb = opts && opts.strictGb === true;
|
|
1192
1194
|
const verbose = opts && opts.verbose === true;
|
|
1193
1195
|
if (verbose) {
|
|
1194
|
-
|
|
1196
|
+
log.info(`Exporting to UGE v6 format: ${outputPath}`);
|
|
1195
1197
|
}
|
|
1196
1198
|
// ====== Header & NR51 metadata ======
|
|
1197
1199
|
// Compute NR51 register from channel/instrument pans and encode into comment for compatibility
|
|
@@ -1256,19 +1258,19 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1256
1258
|
}
|
|
1257
1259
|
}
|
|
1258
1260
|
if (opts && opts.debug)
|
|
1259
|
-
|
|
1261
|
+
log.debug(`Discovered instruments: duty=${dutyInsts.length} wave=${waveInsts.length} noise=${noiseInsts.length}`);
|
|
1260
1262
|
if (opts && opts.debug)
|
|
1261
|
-
|
|
1263
|
+
log.debug(`Wave instrument names: ${JSON.stringify(waveInsts)}`);
|
|
1262
1264
|
if (verbose) {
|
|
1263
|
-
|
|
1265
|
+
log.info('Processing instruments...');
|
|
1264
1266
|
if (dutyInsts.length > 0 || waveInsts.length > 0 || noiseInsts.length > 0) {
|
|
1265
|
-
|
|
1267
|
+
log.info(` Instruments exported:`);
|
|
1266
1268
|
if (dutyInsts.length > 0)
|
|
1267
|
-
|
|
1269
|
+
log.info(` - Duty: ${dutyInsts.length}/15 slots (${dutyInsts.join(', ')})`);
|
|
1268
1270
|
if (waveInsts.length > 0)
|
|
1269
|
-
|
|
1271
|
+
log.info(` - Wave: ${waveInsts.length}/15 slots (${waveInsts.join(', ')})`);
|
|
1270
1272
|
if (noiseInsts.length > 0)
|
|
1271
|
-
|
|
1273
|
+
log.info(` - Noise: ${noiseInsts.length}/15 slots (${noiseInsts.join(', ')})`);
|
|
1272
1274
|
}
|
|
1273
1275
|
}
|
|
1274
1276
|
// ====== Instruments Section ======
|
|
@@ -1323,7 +1325,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1323
1325
|
const lengthEnabled = inst.length ? true : false;
|
|
1324
1326
|
const ugeVolume = mapWaveVolumeToUGE(inst.volume ?? inst.vol ?? 100);
|
|
1325
1327
|
if (opts && opts.debug)
|
|
1326
|
-
|
|
1328
|
+
log.debug(`Wave instrument '${name}' -> volume (beatbax)=${inst.volume ?? inst.vol ?? 'undefined'} ugeValue=${ugeVolume}`);
|
|
1327
1329
|
writeWaveInstrument(w, name, i, ugeVolume, lengthEnabled, length);
|
|
1328
1330
|
}
|
|
1329
1331
|
else {
|
|
@@ -1407,7 +1409,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1407
1409
|
// ====== Build patterns per channel ======
|
|
1408
1410
|
const channelPatterns = [];
|
|
1409
1411
|
if (verbose) {
|
|
1410
|
-
|
|
1412
|
+
log.info('Building patterns for 4 channels...');
|
|
1411
1413
|
}
|
|
1412
1414
|
// Shared map of desired vibrato durations (globalRow -> rows)
|
|
1413
1415
|
const desiredVibMap = new Map();
|
|
@@ -1417,7 +1419,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1417
1419
|
const chModel = song.channels && song.channels.find(c => c.id === ch + 1);
|
|
1418
1420
|
const chEvents = (chModel && chModel.events) || [];
|
|
1419
1421
|
if (opts && opts.debug)
|
|
1420
|
-
|
|
1422
|
+
log.debug(`Channel ${ch + 1} has ${chEvents.length} events`);
|
|
1421
1423
|
// share `desiredVibMap` across channels so later passes can inspect desired vib rows
|
|
1422
1424
|
const patterns = eventsToPatterns(chEvents, song.insts || {}, ch, dutyInsts, waveInsts, noiseInsts, strictGb, song.bpm, desiredVibMap);
|
|
1423
1425
|
channelPatterns.push(patterns);
|
|
@@ -1501,25 +1503,25 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1501
1503
|
}
|
|
1502
1504
|
}
|
|
1503
1505
|
if (verbose) {
|
|
1504
|
-
|
|
1506
|
+
log.info('Applying effects and post-processing...');
|
|
1505
1507
|
// Pattern statistics
|
|
1506
1508
|
let totalRows = 0;
|
|
1507
1509
|
for (let ch = 0; ch < NUM_CHANNELS; ch++) {
|
|
1508
1510
|
totalRows += channelPatterns[ch].reduce((sum, pat) => sum + pat.length, 0);
|
|
1509
1511
|
}
|
|
1510
|
-
|
|
1512
|
+
log.info(' Pattern structure:');
|
|
1511
1513
|
for (let ch = 0; ch < NUM_CHANNELS; ch++) {
|
|
1512
1514
|
const patterns = channelPatterns[ch];
|
|
1513
1515
|
const rowCount = patterns.reduce((sum, pat) => sum + pat.length, 0);
|
|
1514
|
-
|
|
1516
|
+
log.info(` - Channel ${ch + 1}: ${patterns.length} pattern${patterns.length !== 1 ? 's' : ''} (${rowCount} rows total)`);
|
|
1515
1517
|
}
|
|
1516
1518
|
// Effect statistics
|
|
1517
1519
|
if (vibCount > 0 || cutCount > 0) {
|
|
1518
|
-
|
|
1520
|
+
log.info(' Effects applied:');
|
|
1519
1521
|
if (vibCount > 0)
|
|
1520
|
-
|
|
1522
|
+
log.info(` - Vibrato: ${vibCount} note${vibCount !== 1 ? 's' : ''}`);
|
|
1521
1523
|
if (cutCount > 0)
|
|
1522
|
-
|
|
1524
|
+
log.info(` - Note cuts: ${cutCount} occurrence${cutCount !== 1 ? 's' : ''}`);
|
|
1523
1525
|
}
|
|
1524
1526
|
}
|
|
1525
1527
|
// Inject global per-row NR51 panning effects (write a single 8xx on channel 1 when value changes)
|
|
@@ -1615,7 +1617,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1615
1617
|
else {
|
|
1616
1618
|
if (opts && opts.debug) {
|
|
1617
1619
|
try {
|
|
1618
|
-
|
|
1620
|
+
log.debug('[DEBUG] Skipping NR51 write due to existing effect on ch1 row', { orderIdx, row, existingEffect: targetCell && targetCell.effectCode });
|
|
1619
1621
|
}
|
|
1620
1622
|
catch (e) { }
|
|
1621
1623
|
}
|
|
@@ -1627,7 +1629,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1627
1629
|
if (opts && opts.debug) {
|
|
1628
1630
|
try {
|
|
1629
1631
|
const rows = Array.from(nr51Writes.entries()).map(([k, v]) => ({ globalRow: k, value: v.value, explicit: v.explicit }));
|
|
1630
|
-
|
|
1632
|
+
log.debug('[DEBUG] NR51 writes:', JSON.stringify(rows, null, 2));
|
|
1631
1633
|
}
|
|
1632
1634
|
catch (e) { }
|
|
1633
1635
|
}
|
|
@@ -1642,7 +1644,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1642
1644
|
const ticksPerRow = Math.max(1, Math.round(896 / bpm));
|
|
1643
1645
|
if (verbose) {
|
|
1644
1646
|
const actualBpm = Math.round(896 / ticksPerRow);
|
|
1645
|
-
|
|
1647
|
+
log.info(` Tempo: ${bpm} BPM (${ticksPerRow} ticks/row in UGE${actualBpm !== bpm ? `, actual: ~${actualBpm} BPM` : ''})`);
|
|
1646
1648
|
}
|
|
1647
1649
|
w.writeU32(ticksPerRow); // Initial ticks per row
|
|
1648
1650
|
w.writeBool(false); // Timer based tempo enabled (v6)
|
|
@@ -1673,7 +1675,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1673
1675
|
try {
|
|
1674
1676
|
if (opts && opts.debug) {
|
|
1675
1677
|
try {
|
|
1676
|
-
|
|
1678
|
+
log.debug('[DEBUG] finalEnforcement start', { nr51Writes: Array.from(nr51Writes.entries()), desiredVibMap: Array.from(desiredVibMap.entries()) });
|
|
1677
1679
|
}
|
|
1678
1680
|
catch (e) { }
|
|
1679
1681
|
}
|
|
@@ -1750,7 +1752,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1750
1752
|
const preserveNoteNR51 = !!noteCell && noteCell.effectCode === 8 && nrWasExplicit && !nrIsDefault;
|
|
1751
1753
|
if (opts && opts.debug) {
|
|
1752
1754
|
try {
|
|
1753
|
-
|
|
1755
|
+
log.debug('[DEBUG] finalEnforce note check', { ch, globalStart, nrInfo, noteCellEffect: noteCell && noteCell.effectCode, preserveNoteNR51, allPatternsNoteCell: (allPatterns.find(p => p.channelIndex === ch && p.patternIndex === Math.floor(globalStart / PATTERN_ROWS)) || { cells: [] }).cells[globalStart % PATTERN_ROWS] });
|
|
1754
1756
|
}
|
|
1755
1757
|
catch (e) { }
|
|
1756
1758
|
}
|
|
@@ -1794,7 +1796,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1794
1796
|
}
|
|
1795
1797
|
catch (e) {
|
|
1796
1798
|
if (opts && opts.debug) {
|
|
1797
|
-
|
|
1799
|
+
log.debug('[DEBUG] final vib enforcement failed', e && e.stack ? e.stack : e);
|
|
1798
1800
|
}
|
|
1799
1801
|
}
|
|
1800
1802
|
// NOTE: vib->cut heuristic removed. We rely on per-note post-process above
|
|
@@ -1804,18 +1806,18 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1804
1806
|
// Debug: inspect patterns before serialization
|
|
1805
1807
|
if (opts && opts.debug) {
|
|
1806
1808
|
try {
|
|
1807
|
-
|
|
1809
|
+
log.debug('[DEBUG] Dumping first 3 allPatterns entries (showing up to 16 rows each)');
|
|
1808
1810
|
for (let pi = 0; pi < Math.min(3, allPatterns.length); pi++) {
|
|
1809
1811
|
const p = allPatterns[pi];
|
|
1810
|
-
|
|
1812
|
+
log.debug(`[DEBUG] allPatterns[${pi}] -> channel=${p.channelIndex} pattern=${p.patternIndex} rows=${p.cells.length}`);
|
|
1811
1813
|
for (let r = 0; r < Math.min(16, p.cells.length); r++) {
|
|
1812
1814
|
const c = p.cells[r];
|
|
1813
|
-
|
|
1815
|
+
log.debug(` [DEBUG] pat${pi} row${r}: note=${c.note} inst=${c.instrument} vol=${typeof c.volume === 'number' ? c.volume : 'undef'} eff=0x${(c.effectCode || 0).toString(16)} effp=0x${(c.effectParam || 0).toString(16)}`);
|
|
1814
1816
|
}
|
|
1815
1817
|
}
|
|
1816
1818
|
}
|
|
1817
1819
|
catch (e) {
|
|
1818
|
-
|
|
1820
|
+
log.debug('[DEBUG] Pattern dump failed', e && e.stack ? e.stack : e);
|
|
1819
1821
|
}
|
|
1820
1822
|
// Debug: count EC (note-cut) occurrences before writing
|
|
1821
1823
|
let ecCount = 0;
|
|
@@ -1826,13 +1828,13 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1826
1828
|
ecCount++;
|
|
1827
1829
|
}
|
|
1828
1830
|
}
|
|
1829
|
-
|
|
1831
|
+
log.debug('[DEBUG] Pre-serialize EC count:', ecCount);
|
|
1830
1832
|
}
|
|
1831
1833
|
w.writeU32(allPatterns.length);
|
|
1832
1834
|
if (opts && opts.debug)
|
|
1833
|
-
|
|
1835
|
+
log.debug(`Total patterns: ${allPatterns.length}`);
|
|
1834
1836
|
if (opts && opts.debug)
|
|
1835
|
-
|
|
1837
|
+
log.debug(`Pattern breakdown: Ch1=${channelPatterns[0].length}, Ch2=${channelPatterns[1].length}, Ch3=${channelPatterns[2].length}, Ch4=${channelPatterns[3].length}`);
|
|
1836
1838
|
// Focused debug: show effect codes for first 16 rows of each channel for quick verification
|
|
1837
1839
|
if (opts && opts.debug) {
|
|
1838
1840
|
for (let ch = 0; ch < NUM_CHANNELS; ch++) {
|
|
@@ -1844,7 +1846,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1844
1846
|
const c = pat[r];
|
|
1845
1847
|
entries.push({ row: r, note: c.note, eff: `0x${(c.effectCode || 0).toString(16)}`, effp: `0x${(c.effectParam || 0).toString(16)}` });
|
|
1846
1848
|
}
|
|
1847
|
-
|
|
1849
|
+
log.debug(`Channel ${ch + 1} first ${rowsToShow} rows:`, JSON.stringify(entries));
|
|
1848
1850
|
}
|
|
1849
1851
|
}
|
|
1850
1852
|
// Write pattern data
|
|
@@ -1856,10 +1858,10 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1856
1858
|
if (ch >= 0 && ch < NUM_CHANNELS) {
|
|
1857
1859
|
const nonEmpty = pattern.cells.filter((c, idx) => c.note !== EMPTY_NOTE || c.instrument !== 0);
|
|
1858
1860
|
if (opts && opts.debug)
|
|
1859
|
-
|
|
1861
|
+
log.debug(`Pattern ${i} for channel ${ch + 1}: ${nonEmpty.length} non-empty cells out of ${pattern.cells.length} total rows`);
|
|
1860
1862
|
if (nonEmpty.length <= 20) {
|
|
1861
1863
|
if (opts && opts.debug)
|
|
1862
|
-
|
|
1864
|
+
log.debug(` Non-empty cells:`, nonEmpty.map((c) => {
|
|
1863
1865
|
const rowIdx = pattern.cells.indexOf(c);
|
|
1864
1866
|
return `row${rowIdx}:note=${c.note},inst=${c.instrument}`;
|
|
1865
1867
|
}).join('; '));
|
|
@@ -1869,7 +1871,7 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1869
1871
|
for (let rowIdx = 0; rowIdx < pattern.cells.length; rowIdx++) {
|
|
1870
1872
|
const cell = pattern.cells[rowIdx];
|
|
1871
1873
|
if (opts && opts.debug && cell && cell.effectCode === 0xC) {
|
|
1872
|
-
|
|
1874
|
+
log.debug(`Writing Note Cut in pattern ${i} ch ${ch} row ${rowIdx}`);
|
|
1873
1875
|
}
|
|
1874
1876
|
// Convert absolute instrument index to relative index based on channel type
|
|
1875
1877
|
// UGE pattern cells use 1-based indices (1-15) within each instrument type
|
|
@@ -1983,14 +1985,14 @@ export async function exportUGE(song, outputPath, opts = {}) {
|
|
|
1983
1985
|
// Write final binary
|
|
1984
1986
|
const out = w.toBuffer();
|
|
1985
1987
|
if (opts && opts.debug) {
|
|
1986
|
-
|
|
1988
|
+
log.debug(`UGE: ${out.length} bytes written to ${outputPath}`);
|
|
1987
1989
|
}
|
|
1988
1990
|
writeFileSync(outputPath, out);
|
|
1989
1991
|
if (verbose) {
|
|
1990
|
-
|
|
1992
|
+
log.info('Writing binary output...');
|
|
1991
1993
|
const sizeKB = (out.length / 1024).toFixed(2);
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
+
log.info(`Export complete: ${out.length.toLocaleString()} bytes (${sizeKB} KB) written`);
|
|
1995
|
+
log.info(`File ready for hUGETracker v6`);
|
|
1994
1996
|
}
|
|
1995
1997
|
}
|
|
1996
1998
|
export default exportUGE;
|