greggman / html5bytebeat

Bytebeats in HTML5
http://greggman.com/downloads/examples/html5bytebeat/html5bytebeat.html
MIT License
428 stars 37 forks source link

Uncaught (in promise) SyntaxError: Unexpected token '{' #46

Open eypacha opened 1 month ago

eypacha commented 1 month ago

I'm trying to use bytebeat.js as a module in my project. I installed the library using:

yarn add bytebeat.js (or npm)

Then, I tried to initialize it with the following code:

import ByteBeatNode from 'bytebeat.js';

async function start() {
  const context = new AudioContext();
  context.resume();  // needed for safari
  await ByteBeatNode.setup(context);
  byteBeatNode = new ByteBeatNode(context);
  byteBeatNode.setType(ByteBeatNode.Type.byteBeat);
  byteBeatNode.setExpressionType(ByteBeatNode.ExpressionType.infix);
  byteBeatNode.setDesiredSampleRate(8000);
  await byteBeatNode.setExpressions(['((t >> 10) & 42) * t']);
  byteBeatNode.connect(context.destination);
}

However, I get the following error:

Uncaught (in promise) SyntaxError: Unexpected token '{'

On the other hand, if I include the module as a submodule:

import ByteBeatNode from '@/vendors/html5bytebeat/dist/2.x/ByteBeat.module';

It works as expected but only in dev, not in production...

Am I missing something in the setup when using yarn? I guess I need a specific configuration for Babel, don't I?

greggman commented 1 month ago

I don't know. If you follow these steps under "working example" does it work?