aibandtab
Version:
aibandTab is a music notation and guitar tablature rendering library
54 lines (51 loc) • 2.71 kB
JavaScript
/**
* aibandTab v1.0.9 (main, build 0)
*
* Copyright © 2025, Inter AI All rights reserved.
*/
import * as aibandTab from './aibandTab.core.mjs';
export * from './aibandTab.core.mjs';
/**@target web */
if (aibandTab.Environment.isRunningInWorker) {
aibandTab.Environment.initializeWorker();
}
else if (aibandTab.Environment.isRunningInAudioWorklet) {
aibandTab.Environment.initializeAudioWorklet();
}
else {
aibandTab.Environment.initializeMain(settings => {
if (aibandTab.Environment.webPlatform == aibandTab.WebPlatform.NodeJs) {
throw new aibandTab.AibandTabError(aibandTab.AibandTabErrorType.General, 'Workers not yet supported in Node.js');
}
if (aibandTab.Environment.webPlatform == aibandTab.WebPlatform.BrowserModule || aibandTab.Environment.isWebPackBundled || aibandTab.Environment.isViteBundled) {
aibandTab.Logger.debug("AibandTab", "Creating webworker");
return new aibandTab.Environment.aibandTabWorker(new URL('./aibandTab.worker.mjs', import.meta.url), { type: 'module' });
}
// classical browser entry point
if (!settings.core.scriptFile) {
throw new aibandTab.AibandTabError(aibandTab.AibandTabErrorType.General, 'Could not detect aibandTab script file, cannot initialize renderer');
}
try {
aibandTab.Logger.debug('AibandTab', 'Creating Blob worker');
const script = `importScripts('${settings.core.scriptFile}')`;
const blob = new Blob([script]);
return new Worker(URL.createObjectURL(blob));
}
catch (e) {
aibandTab.Logger.warning('Rendering', 'Could not create inline worker, fallback to normal worker');
return new Worker(settings.core.scriptFile);
}
}, (context, settings) => {
if (aibandTab.Environment.webPlatform == aibandTab.WebPlatform.NodeJs) {
throw new aibandTab.AibandTabError(aibandTab.AibandTabErrorType.General, 'Audio Worklets not yet supported in Node.js');
}
if (aibandTab.Environment.webPlatform == aibandTab.WebPlatform.BrowserModule || aibandTab.Environment.isWebPackBundled || aibandTab.Environment.isViteBundled) {
aibandTab.Logger.debug("AibandTab", "Creating Module worklet");
const aibandTabWorklet = context.audioWorklet; // this name triggers the WebPack Plugin
return aibandTabWorklet.addModule(new URL('./aibandTab.worklet.mjs', import.meta.url));
}
aibandTab.Logger.debug('AibandTab', 'Creating Script worklet');
return context.audioWorklet.addModule(settings.core.scriptFile);
});
}
//# sourceMappingURL=aibandTab.mjs.map