@beatbax/engine 0.2.0 → 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.map +1 -1
- package/dist/audio/playback.js +23 -21
- 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/index.d.ts.map +1 -1
- package/dist/parser/peggy/index.js +13 -0
- 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
package/dist/export/wavWriter.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { renderSongToPCM } from '../audio/pcmRenderer.js';
|
|
2
2
|
import { warn } from '../util/diag.js';
|
|
3
|
+
import { createLogger } from '../util/logger.js';
|
|
4
|
+
const log = createLogger('export:wav');
|
|
3
5
|
function floatTo16BitPCM(samples) {
|
|
4
6
|
const buf = Buffer.alloc(samples.length * 2);
|
|
5
7
|
for (let i = 0; i < samples.length; i++) {
|
|
@@ -79,14 +81,14 @@ export async function exportWAV(samples, outputPath, opts, metaOpts) {
|
|
|
79
81
|
const verbose = metaOpts && metaOpts.verbose === true;
|
|
80
82
|
const wavBuffer = writeWAV(samples, opts);
|
|
81
83
|
if (metaOpts?.debug) {
|
|
82
|
-
|
|
84
|
+
log.debug(`WAV: ${opts.sampleRate}Hz, ${opts.bitDepth}-bit, ${opts.channels}ch`);
|
|
83
85
|
}
|
|
84
86
|
writeFileSync(outputPath, wavBuffer);
|
|
85
87
|
if (verbose) {
|
|
86
88
|
const durationSec = (samples.length / opts.channels / opts.sampleRate).toFixed(2);
|
|
87
89
|
const sizeKB = (wavBuffer.length / 1024).toFixed(2);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
log.info(`Export complete: ${wavBuffer.length.toLocaleString()} bytes (${sizeKB} KB) written`);
|
|
91
|
+
log.info(` Duration: ${durationSec}s @ ${opts.sampleRate}Hz, ${opts.bitDepth}-bit, ${opts.channels}ch`);
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
@@ -96,8 +98,8 @@ export async function exportWAVFromSong(song, outputPath, options = {}, metaOpts
|
|
|
96
98
|
const verbose = metaOpts && metaOpts.verbose === true;
|
|
97
99
|
const sampleRate = options.sampleRate || 44100;
|
|
98
100
|
if (verbose) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
+
log.info(`Exporting to WAV (PCM audio): ${outputPath}`);
|
|
102
|
+
log.info(' Rendering audio...');
|
|
101
103
|
}
|
|
102
104
|
const samples = renderSongToPCM(song, {
|
|
103
105
|
...options,
|
|
@@ -112,7 +114,7 @@ export async function exportWAVFromSong(song, outputPath, options = {}, metaOpts
|
|
|
112
114
|
left += Math.abs(samples[i * 2 + 0]);
|
|
113
115
|
right += Math.abs(samples[i * 2 + 1]);
|
|
114
116
|
}
|
|
115
|
-
|
|
117
|
+
log.debug(`WAV pre-write: frames=${frames} leftSum=${left.toFixed(6)} rightSum=${right.toFixed(6)}`);
|
|
116
118
|
if (Math.abs(left - right) < 1e-9) {
|
|
117
119
|
warn('export', 'left and right channel energy appear identical — check panning/resolution');
|
|
118
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wavWriter.js","sourceRoot":"","sources":["../../src/export/wavWriter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAiB,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAQvC,SAAS,eAAe,CAAC,OAAqB;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACpC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,OAAqB;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,OAAqB;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QAC5C,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAqB,EAAE,IAAgB;IAC9D,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEhD,IAAI,OAAe,CAAC;IACpB,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;SACnD,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;;QACxD,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAChC,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,wBAAwB;IACxB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IAE1C,gBAAgB;IAChB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC,CAAC,6BAA6B;IAC5E,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC,CAAE,wBAAwB;IACvE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IAEpD,iBAAiB;IACjB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAqB,EAAE,UAAkB,EAAE,IAAgB,EAAE,QAAiD;IAC5I,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC;IACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;QACpB,
|
|
1
|
+
{"version":3,"file":"wavWriter.js","sourceRoot":"","sources":["../../src/export/wavWriter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA6FtE,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,iBAgPrE;AAQD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,8 @@ import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
|
2
2
|
import { parse } from './parser/index.js';
|
|
3
3
|
import { exportJSON, exportMIDI, exportWAV } from './export/index.js';
|
|
4
4
|
import { warn, error } from './util/diag.js';
|
|
5
|
+
import { createLogger } from './util/logger.js';
|
|
6
|
+
const log = createLogger('engine-play');
|
|
5
7
|
/**
|
|
6
8
|
* Wait for a directory to be ready (exists and is accessible).
|
|
7
9
|
* Uses polling with exponential backoff up to a maximum timeout.
|
|
@@ -81,7 +83,7 @@ export async function playFile(path, options = {}) {
|
|
|
81
83
|
const src = readFileSync(path, 'utf8');
|
|
82
84
|
const ast = parse(src);
|
|
83
85
|
if (options.verbose) {
|
|
84
|
-
|
|
86
|
+
log.debug('Parsed song AST', { ast: JSON.stringify(ast, null, 2) });
|
|
85
87
|
}
|
|
86
88
|
const isNode = typeof window === 'undefined';
|
|
87
89
|
const noBrowser = options.noBrowser ||
|
|
@@ -89,7 +91,7 @@ export async function playFile(path, options = {}) {
|
|
|
89
91
|
(isNode && !options.browser && options.backend !== 'browser');
|
|
90
92
|
// Attempt headless playback
|
|
91
93
|
if (noBrowser) {
|
|
92
|
-
|
|
94
|
+
log.info('Rendering song using native PCM renderer...');
|
|
93
95
|
try {
|
|
94
96
|
const { resolveSongAsync } = await import('./song/resolver.js');
|
|
95
97
|
const { renderSongToPCM } = await import('./audio/pcmRenderer.js');
|
|
@@ -147,9 +149,9 @@ export async function playFile(path, options = {}) {
|
|
|
147
149
|
}
|
|
148
150
|
const cliUrl = url.pathToFileURL(cliPath).href;
|
|
149
151
|
const { playAudioBuffer } = await import(cliUrl);
|
|
150
|
-
|
|
152
|
+
log.info('Playing audio via system speakers...');
|
|
151
153
|
if (ast.play?.repeat) {
|
|
152
|
-
|
|
154
|
+
log.info('Repeat requested by play directive — looping until process exit (Ctrl-C to stop)');
|
|
153
155
|
// Loop playback indefinitely; user may interrupt with Ctrl-C
|
|
154
156
|
// Play sequentially to avoid overlapping audio
|
|
155
157
|
while (true) {
|
|
@@ -159,13 +161,13 @@ export async function playFile(path, options = {}) {
|
|
|
159
161
|
}
|
|
160
162
|
else {
|
|
161
163
|
await playAudioBuffer(samples, { channels: 2, sampleRate }); // Use stereo
|
|
162
|
-
|
|
164
|
+
log.info('[OK] Playback complete');
|
|
163
165
|
}
|
|
164
166
|
}
|
|
165
167
|
catch (err) {
|
|
166
168
|
error('engine', 'Failed to play audio: ' + (err && err.message ? err.message : String(err)));
|
|
167
|
-
|
|
168
|
-
|
|
169
|
+
log.info('\nTip: Install speaker module: npm install --workspace=packages/cli speaker');
|
|
170
|
+
log.info('Or use "export wav" to export to WAV file instead.');
|
|
169
171
|
process.exitCode = 1;
|
|
170
172
|
}
|
|
171
173
|
return;
|
|
@@ -187,13 +189,13 @@ export async function playFile(path, options = {}) {
|
|
|
187
189
|
});
|
|
188
190
|
const p = new Player(ctx);
|
|
189
191
|
await p.playAST(ast);
|
|
190
|
-
|
|
192
|
+
log.info('[OK] Playback started (WebAudio)');
|
|
191
193
|
}
|
|
192
194
|
catch (err) {
|
|
193
195
|
// WebAudio not available in Node.js environment
|
|
194
196
|
if (options.browser) {
|
|
195
197
|
// User explicitly requested browser playback
|
|
196
|
-
|
|
198
|
+
log.info('Launching browser-based playback with Vite dev server...');
|
|
197
199
|
try {
|
|
198
200
|
// Resolve imports before copying to browser (imports won't work in browser context)
|
|
199
201
|
const pathModule = await import('path');
|
|
@@ -205,12 +207,12 @@ export async function playFile(path, options = {}) {
|
|
|
205
207
|
const remoteImports = ast.imports.filter(imp => !isLocalImport(imp.source));
|
|
206
208
|
// Warn about local imports - browser will error when trying to resolve them
|
|
207
209
|
if (localImports.length > 0) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
210
|
+
log.warn(`⚠️ Warning: This song contains ${localImports.length} local file import(s) which will be blocked by browser security.`);
|
|
211
|
+
log.warn(' The browser will display an error when attempting to load this song.');
|
|
212
|
+
log.warn(' To play this song in the browser, replace local imports with remote imports (https:// or github:).');
|
|
211
213
|
}
|
|
212
214
|
if (remoteImports.length > 0) {
|
|
213
|
-
|
|
215
|
+
log.info(`Browser will resolve ${remoteImports.length} remote import(s) at runtime`);
|
|
214
216
|
}
|
|
215
217
|
// Send source as-is to browser - let browser error on local imports for clear user feedback
|
|
216
218
|
resolvedSrc = src;
|
|
@@ -229,7 +231,7 @@ export async function playFile(path, options = {}) {
|
|
|
229
231
|
const outPath = pathModule.join(outDir, basename);
|
|
230
232
|
// Start Vite dev server in apps/web-ui
|
|
231
233
|
const viteDir = pathModule.join(process.cwd(), 'apps', 'web-ui');
|
|
232
|
-
|
|
234
|
+
log.info('Starting Vite dev server...');
|
|
233
235
|
try {
|
|
234
236
|
const isWindows = process.platform === 'win32';
|
|
235
237
|
const server = child.spawn('npm', ['run', 'dev'], {
|
|
@@ -246,27 +248,27 @@ export async function playFile(path, options = {}) {
|
|
|
246
248
|
// Wait for output directory to be ready and Vite server to start
|
|
247
249
|
try {
|
|
248
250
|
await waitForDirectory(outDir, 10000);
|
|
249
|
-
|
|
251
|
+
log.debug('Output directory ready');
|
|
250
252
|
}
|
|
251
253
|
catch (err) {
|
|
252
254
|
warn('engine', `Directory not ready, proceeding anyway: ${err}`);
|
|
253
255
|
}
|
|
254
256
|
// Write the resolved source file
|
|
255
257
|
writeFileSync(outPath, resolvedSrc, 'utf8');
|
|
256
|
-
|
|
258
|
+
log.debug(`Resolved song written to: ${outPath}`);
|
|
257
259
|
// Wait for Vite server to be ready before opening browser
|
|
258
260
|
try {
|
|
259
261
|
await waitForViteServer('http://localhost:5173', 10000);
|
|
260
|
-
|
|
262
|
+
log.debug('Vite dev server is ready');
|
|
261
263
|
}
|
|
262
264
|
catch (err) {
|
|
263
265
|
warn('engine', `Vite server may not be ready: ${err}`);
|
|
264
|
-
|
|
266
|
+
log.debug('Waiting additional 2 seconds before opening browser...');
|
|
265
267
|
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
266
268
|
}
|
|
267
269
|
// Open browser
|
|
268
270
|
const url = `http://localhost:5173/?song=/songs/${encodeURIComponent(basename)}`;
|
|
269
|
-
|
|
271
|
+
log.info('Opening web UI at', url);
|
|
270
272
|
// Open default browser (cross-platform)
|
|
271
273
|
const platform = process.platform;
|
|
272
274
|
let cmd = '';
|
|
@@ -280,29 +282,29 @@ export async function playFile(path, options = {}) {
|
|
|
280
282
|
child.exec(cmd, (err) => {
|
|
281
283
|
if (err) {
|
|
282
284
|
error('engine', 'Failed to open browser: ' + (err.message ?? String(err)));
|
|
283
|
-
|
|
285
|
+
log.info('Please open the URL in your browser:', url);
|
|
284
286
|
}
|
|
285
287
|
});
|
|
286
288
|
}
|
|
287
289
|
catch (e) {
|
|
288
|
-
|
|
290
|
+
log.info('Please open the URL in your browser:', url);
|
|
289
291
|
}
|
|
290
292
|
}
|
|
291
293
|
catch (err) {
|
|
292
294
|
error('engine', 'Failed to launch browser-based playback: ' + (err && err.message ? err.message : String(err)));
|
|
293
|
-
|
|
295
|
+
log.info('Please run manually: cd apps/web-ui && npm run dev');
|
|
294
296
|
}
|
|
295
297
|
}
|
|
296
298
|
else {
|
|
297
299
|
// Default: show helpful message instead of auto-launching
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
300
|
+
log.info('\n[!] CLI playback not available in Node.js environment.');
|
|
301
|
+
log.info('\nPlayback options:');
|
|
302
|
+
log.info(` - Browser playback: node bin/beatbax play ${path} --browser`);
|
|
303
|
+
log.info(` - Headless playback: node bin/beatbax play ${path} --headless`);
|
|
304
|
+
log.info(` - Direct command: node packages/cli/dist/cli.js play ${path} --headless`);
|
|
305
|
+
log.info(' - Web UI: cd apps/web-ui && npm run dev (then load your song)');
|
|
306
|
+
log.info('\nNote: Use direct node commands rather than npm scripts for flag arguments');
|
|
307
|
+
log.info(' (npm strips flags like --headless due to argument passing limitations)\n');
|
|
306
308
|
process.exitCode = 1;
|
|
307
309
|
}
|
|
308
310
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/parser/peggy/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,GAAG,EAYJ,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/parser/peggy/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,GAAG,EAYJ,MAAM,WAAW,CAAC;AAkdnB,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAkKlD"}
|
|
@@ -4,6 +4,8 @@ import { materializeSequenceItems, normalizeSeqItems, patternEventsToTokens, } f
|
|
|
4
4
|
import { parseSweep } from '../../chips/gameboy/pulse.js';
|
|
5
5
|
import { warn } from '../../util/diag.js';
|
|
6
6
|
import { applyModsToTokens } from '../../expand/refExpander.js';
|
|
7
|
+
import { createLogger } from '../../util/logger.js';
|
|
8
|
+
const log = createLogger('parser');
|
|
7
9
|
// Reset per-parse run; `parseWithPeggy` will reset this at start of each parse.
|
|
8
10
|
let _csvNormalizationWarned = false;
|
|
9
11
|
const isInstNormalizationEnabled = () => {
|
|
@@ -439,11 +441,14 @@ function enhanceParseError(error, source) {
|
|
|
439
441
|
export function parseWithPeggy(source) {
|
|
440
442
|
// reset per-parse-run warning flag
|
|
441
443
|
_csvNormalizationWarned = false;
|
|
444
|
+
log.debug('Parsing source code', { length: source.length });
|
|
442
445
|
let program;
|
|
443
446
|
try {
|
|
444
447
|
program = peggyParse(source, {});
|
|
448
|
+
log.debug('Peggy parse complete', { statements: program.body.length });
|
|
445
449
|
}
|
|
446
450
|
catch (e) {
|
|
451
|
+
log.error('Parse error', e);
|
|
447
452
|
throw enhanceParseError(e, source);
|
|
448
453
|
}
|
|
449
454
|
const pats = {};
|
|
@@ -585,6 +590,14 @@ export function parseWithPeggy(source) {
|
|
|
585
590
|
if (sequenceItems)
|
|
586
591
|
ast.sequenceItems = sequenceItems;
|
|
587
592
|
}
|
|
593
|
+
log.debug('Parse complete', {
|
|
594
|
+
patterns: Object.keys(pats).length,
|
|
595
|
+
sequences: Object.keys(seqs).length,
|
|
596
|
+
instruments: Object.keys(insts).length,
|
|
597
|
+
channels: channels.length,
|
|
598
|
+
imports: imports.length,
|
|
599
|
+
});
|
|
600
|
+
log.info(`Parsed successfully: ${Object.keys(pats).length} patterns, ${Object.keys(seqs).length} sequences, ${Object.keys(insts).length} instruments`);
|
|
588
601
|
return ast;
|
|
589
602
|
}
|
|
590
603
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/peggy/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/peggy/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/song/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgB,MAAM,kBAAkB,CAAC;AAIrD,OAAO,EAAE,SAAS,EAAoD,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/song/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgB,MAAM,kBAAkB,CAAC;AAIrD,OAAO,EAAE,SAAS,EAAoD,MAAM,gBAAgB,CAAC;AA+B7F,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAS5C;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAOvF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM;;cAGf,MAAM;gBAAU,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBAAc,MAAM;;;EAkDxF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAA;CAAE,GAAG,SAAS,CAwB1N;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAgB9O;;;;AAmaD,wBAA+B"}
|
package/dist/song/resolver.js
CHANGED
|
@@ -5,6 +5,8 @@ import { patternEventsToTokens, } from '../parser/structured.js';
|
|
|
5
5
|
import { expandRefToTokens } from '../expand/refExpander.js';
|
|
6
6
|
import { resolveImports, resolveImportsSync } from './importResolver.js';
|
|
7
7
|
import { isRemoteImport } from '../import/urlUtils.js';
|
|
8
|
+
import { createLogger } from '../util/logger.js';
|
|
9
|
+
const log = createLogger('resolver');
|
|
8
10
|
// Helpers for parsing inline effects and pan specifications
|
|
9
11
|
function parsePanSpec(val, ns) {
|
|
10
12
|
if (val === undefined || val === null)
|
|
@@ -152,6 +154,13 @@ export async function resolveSongAsync(ast, opts) {
|
|
|
152
154
|
* Assumes imports have already been resolved.
|
|
153
155
|
*/
|
|
154
156
|
function resolveSongInternal(ast, opts) {
|
|
157
|
+
log.debug('Resolving song', {
|
|
158
|
+
patterns: Object.keys(ast.pats || {}).length,
|
|
159
|
+
sequences: Object.keys(ast.seqs || {}).length,
|
|
160
|
+
instruments: Object.keys(ast.insts || {}).length,
|
|
161
|
+
channels: (ast.channels || []).length,
|
|
162
|
+
bpm: ast.bpm,
|
|
163
|
+
});
|
|
155
164
|
let pats = ast.pats || {};
|
|
156
165
|
const insts = ast.insts || {};
|
|
157
166
|
let seqs = { ...(ast.seqs || {}) };
|
|
@@ -174,7 +183,9 @@ function resolveSongInternal(ast, opts) {
|
|
|
174
183
|
seqs = { ...seqs, ...ast.sequenceItems };
|
|
175
184
|
}
|
|
176
185
|
// Expand all sequences into flattened token arrays
|
|
186
|
+
log.debug('Expanding sequences', { count: Object.keys(seqs).length });
|
|
177
187
|
const expandedSeqs = expandAllSequences(seqs, pats, insts, ast.effects);
|
|
188
|
+
log.debug('Sequences expanded', { count: Object.keys(expandedSeqs).length });
|
|
178
189
|
// Helper: expand inline effect presets found inside `<...>` by looking up
|
|
179
190
|
// named presets from `ast.effects`. If an inline effect is a bare name
|
|
180
191
|
// that matches a preset and has no explicit params, replace it with the
|
|
@@ -523,6 +534,13 @@ function resolveSongInternal(ast, opts) {
|
|
|
523
534
|
// backward-compatible playback (Player expects `ch.pat` to hold tokens
|
|
524
535
|
// or event objects). This keeps both `events` and `pat` available.
|
|
525
536
|
const channelsOut = channels.map(c => ({ id: c.id, events: c.events, defaultInstrument: c.defaultInstrument, pat: c.events }));
|
|
537
|
+
const totalEvents = channels.reduce((sum, c) => sum + c.events.length, 0);
|
|
538
|
+
log.debug('Resolution complete', {
|
|
539
|
+
channels: channels.length,
|
|
540
|
+
totalEvents,
|
|
541
|
+
bpm,
|
|
542
|
+
});
|
|
543
|
+
log.info(`Resolved successfully: ${channels.length} channels with ${totalEvents} total events`);
|
|
526
544
|
// Preserve top-level playback directives and metadata so consumers can honor them.
|
|
527
545
|
return {
|
|
528
546
|
pats,
|