diff --git a/packages/audio/src/ADPCMSoundDecoder.js b/packages/audio/src/ADPCMSoundDecoder.js index c3d9be9e8..dfe8cb15c 100644 --- a/packages/audio/src/ADPCMSoundDecoder.js +++ b/packages/audio/src/ADPCMSoundDecoder.js @@ -99,7 +99,7 @@ class ADPCMSoundDecoder { const riffStr = stream.readUint8String(4); if (riffStr !== 'RIFF') { log.warn('incorrect adpcm wav header'); - reject(); + return reject(); } const lengthInHeader = stream.readInt32(); @@ -110,7 +110,7 @@ class ADPCMSoundDecoder { const wavStr = stream.readUint8String(4); if (wavStr !== 'WAVE') { log.warn('incorrect adpcm wav header'); - reject(); + return reject(); } const formatChunk = this.extractChunk('fmt ', stream); diff --git a/packages/gui/webpack.config.js b/packages/gui/webpack.config.js index 87fc87a98..ea7bf7cf8 100644 --- a/packages/gui/webpack.config.js +++ b/packages/gui/webpack.config.js @@ -85,6 +85,7 @@ const base = { }, { resourceQuery: '?arrayBuffer', type: 'javascript/auto', + include: path.resolve(__dirname, 'src'), use: 'arraybuffer-loader' }, { resourceQuery: /raw/, diff --git a/packages/vm/src/extensions/scratch3_music/manifest.js b/packages/vm/src/extensions/scratch3_music/manifest.js index 3458fa9cb..e379eee05 100644 --- a/packages/vm/src/extensions/scratch3_music/manifest.js +++ b/packages/vm/src/extensions/scratch3_music/manifest.js @@ -1,66 +1,66 @@ /* eslint-disable global-require */ module.exports = { - 'drums/1-snare.mp3': require('!arraybuffer-loader!./assets/drums/1-snare.mp3'), - 'drums/2-bass-drum.mp3': require('!arraybuffer-loader!./assets/drums/2-bass-drum.mp3'), - 'drums/3-side-stick.mp3': require('!arraybuffer-loader!./assets/drums/3-side-stick.mp3'), - 'drums/4-crash-cymbal.mp3': require('!arraybuffer-loader!./assets/drums/4-crash-cymbal.mp3'), - 'drums/5-open-hi-hat.mp3': require('!arraybuffer-loader!./assets/drums/5-open-hi-hat.mp3'), - 'drums/6-closed-hi-hat.mp3': require('!arraybuffer-loader!./assets/drums/6-closed-hi-hat.mp3'), - 'drums/7-tambourine.mp3': require('!arraybuffer-loader!./assets/drums/7-tambourine.mp3'), - 'drums/8-hand-clap.mp3': require('!arraybuffer-loader!./assets/drums/8-hand-clap.mp3'), - 'drums/9-claves.mp3': require('!arraybuffer-loader!./assets/drums/9-claves.mp3'), - 'drums/10-wood-block.mp3': require('!arraybuffer-loader!./assets/drums/10-wood-block.mp3'), - 'drums/11-cowbell.mp3': require('!arraybuffer-loader!./assets/drums/11-cowbell.mp3'), - 'drums/12-triangle.mp3': require('!arraybuffer-loader!./assets/drums/12-triangle.mp3'), - 'drums/13-bongo.mp3': require('!arraybuffer-loader!./assets/drums/13-bongo.mp3'), - 'drums/14-conga.mp3': require('!arraybuffer-loader!./assets/drums/14-conga.mp3'), - 'drums/15-cabasa.mp3': require('!arraybuffer-loader!./assets/drums/15-cabasa.mp3'), - 'drums/16-guiro.mp3': require('!arraybuffer-loader!./assets/drums/16-guiro.mp3'), - 'drums/17-vibraslap.mp3': require('!arraybuffer-loader!./assets/drums/17-vibraslap.mp3'), - 'drums/18-cuica.mp3': require('!arraybuffer-loader!./assets/drums/18-cuica.mp3'), - 'instruments/1-piano/24.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/24.mp3'), - 'instruments/1-piano/36.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/36.mp3'), - 'instruments/1-piano/48.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/48.mp3'), - 'instruments/1-piano/60.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/60.mp3'), - 'instruments/1-piano/72.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/72.mp3'), - 'instruments/1-piano/84.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/84.mp3'), - 'instruments/1-piano/96.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/96.mp3'), - 'instruments/1-piano/108.mp3': require('!arraybuffer-loader!./assets/instruments/1-piano/108.mp3'), - 'instruments/2-electric-piano/60.mp3': require('!arraybuffer-loader!./assets/instruments/2-electric-piano/60.mp3'), - 'instruments/3-organ/60.mp3': require('!arraybuffer-loader!./assets/instruments/3-organ/60.mp3'), - 'instruments/4-guitar/60.mp3': require('!arraybuffer-loader!./assets/instruments/4-guitar/60.mp3'), + 'drums/1-snare.mp3': require('./assets/drums/1-snare.mp3?arrayBuffer'), + 'drums/2-bass-drum.mp3': require('./assets/drums/2-bass-drum.mp3?arrayBuffer'), + 'drums/3-side-stick.mp3': require('./assets/drums/3-side-stick.mp3?arrayBuffer'), + 'drums/4-crash-cymbal.mp3': require('./assets/drums/4-crash-cymbal.mp3?arrayBuffer'), + 'drums/5-open-hi-hat.mp3': require('./assets/drums/5-open-hi-hat.mp3?arrayBuffer'), + 'drums/6-closed-hi-hat.mp3': require('./assets/drums/6-closed-hi-hat.mp3?arrayBuffer'), + 'drums/7-tambourine.mp3': require('./assets/drums/7-tambourine.mp3?arrayBuffer'), + 'drums/8-hand-clap.mp3': require('./assets/drums/8-hand-clap.mp3?arrayBuffer'), + 'drums/9-claves.mp3': require('./assets/drums/9-claves.mp3?arrayBuffer'), + 'drums/10-wood-block.mp3': require('./assets/drums/10-wood-block.mp3?arrayBuffer'), + 'drums/11-cowbell.mp3': require('./assets/drums/11-cowbell.mp3?arrayBuffer'), + 'drums/12-triangle.mp3': require('./assets/drums/12-triangle.mp3?arrayBuffer'), + 'drums/13-bongo.mp3': require('./assets/drums/13-bongo.mp3?arrayBuffer'), + 'drums/14-conga.mp3': require('./assets/drums/14-conga.mp3?arrayBuffer'), + 'drums/15-cabasa.mp3': require('./assets/drums/15-cabasa.mp3?arrayBuffer'), + 'drums/16-guiro.mp3': require('./assets/drums/16-guiro.mp3?arrayBuffer'), + 'drums/17-vibraslap.mp3': require('./assets/drums/17-vibraslap.mp3?arrayBuffer'), + 'drums/18-cuica.mp3': require('./assets/drums/18-cuica.mp3?arrayBuffer'), + 'instruments/1-piano/24.mp3': require('./assets/instruments/1-piano/24.mp3?arrayBuffer'), + 'instruments/1-piano/36.mp3': require('./assets/instruments/1-piano/36.mp3?arrayBuffer'), + 'instruments/1-piano/48.mp3': require('./assets/instruments/1-piano/48.mp3?arrayBuffer'), + 'instruments/1-piano/60.mp3': require('./assets/instruments/1-piano/60.mp3?arrayBuffer'), + 'instruments/1-piano/72.mp3': require('./assets/instruments/1-piano/72.mp3?arrayBuffer'), + 'instruments/1-piano/84.mp3': require('./assets/instruments/1-piano/84.mp3?arrayBuffer'), + 'instruments/1-piano/96.mp3': require('./assets/instruments/1-piano/96.mp3?arrayBuffer'), + 'instruments/1-piano/108.mp3': require('./assets/instruments/1-piano/108.mp3?arrayBuffer'), + 'instruments/2-electric-piano/60.mp3': require('./assets/instruments/2-electric-piano/60.mp3?arrayBuffer'), + 'instruments/3-organ/60.mp3': require('./assets/instruments/3-organ/60.mp3?arrayBuffer'), + 'instruments/4-guitar/60.mp3': require('./assets/instruments/4-guitar/60.mp3?arrayBuffer'), 'instruments/5-electric-guitar/60.mp3': require( - '!arraybuffer-loader!./assets/instruments/5-electric-guitar/60.mp3' + './assets/instruments/5-electric-guitar/60.mp3?arrayBuffer' ), - 'instruments/6-bass/36.mp3': require('!arraybuffer-loader!./assets/instruments/6-bass/36.mp3'), - 'instruments/6-bass/48.mp3': require('!arraybuffer-loader!./assets/instruments/6-bass/48.mp3'), - 'instruments/7-pizzicato/60.mp3': require('!arraybuffer-loader!./assets/instruments/7-pizzicato/60.mp3'), - 'instruments/8-cello/36.mp3': require('!arraybuffer-loader!./assets/instruments/8-cello/36.mp3'), - 'instruments/8-cello/48.mp3': require('!arraybuffer-loader!./assets/instruments/8-cello/48.mp3'), - 'instruments/8-cello/60.mp3': require('!arraybuffer-loader!./assets/instruments/8-cello/60.mp3'), - 'instruments/9-trombone/36.mp3': require('!arraybuffer-loader!./assets/instruments/9-trombone/36.mp3'), - 'instruments/9-trombone/48.mp3': require('!arraybuffer-loader!./assets/instruments/9-trombone/48.mp3'), - 'instruments/9-trombone/60.mp3': require('!arraybuffer-loader!./assets/instruments/9-trombone/60.mp3'), - 'instruments/10-clarinet/48.mp3': require('!arraybuffer-loader!./assets/instruments/10-clarinet/48.mp3'), - 'instruments/10-clarinet/60.mp3': require('!arraybuffer-loader!./assets/instruments/10-clarinet/60.mp3'), - 'instruments/11-saxophone/36.mp3': require('!arraybuffer-loader!./assets/instruments/11-saxophone/36.mp3'), - 'instruments/11-saxophone/60.mp3': require('!arraybuffer-loader!./assets/instruments/11-saxophone/60.mp3'), - 'instruments/11-saxophone/84.mp3': require('!arraybuffer-loader!./assets/instruments/11-saxophone/84.mp3'), - 'instruments/12-flute/60.mp3': require('!arraybuffer-loader!./assets/instruments/12-flute/60.mp3'), - 'instruments/12-flute/72.mp3': require('!arraybuffer-loader!./assets/instruments/12-flute/72.mp3'), - 'instruments/13-wooden-flute/60.mp3': require('!arraybuffer-loader!./assets/instruments/13-wooden-flute/60.mp3'), - 'instruments/13-wooden-flute/72.mp3': require('!arraybuffer-loader!./assets/instruments/13-wooden-flute/72.mp3'), - 'instruments/14-bassoon/36.mp3': require('!arraybuffer-loader!./assets/instruments/14-bassoon/36.mp3'), - 'instruments/14-bassoon/48.mp3': require('!arraybuffer-loader!./assets/instruments/14-bassoon/48.mp3'), - 'instruments/14-bassoon/60.mp3': require('!arraybuffer-loader!./assets/instruments/14-bassoon/60.mp3'), - 'instruments/15-choir/48.mp3': require('!arraybuffer-loader!./assets/instruments/15-choir/48.mp3'), - 'instruments/15-choir/60.mp3': require('!arraybuffer-loader!./assets/instruments/15-choir/60.mp3'), - 'instruments/15-choir/72.mp3': require('!arraybuffer-loader!./assets/instruments/15-choir/72.mp3'), - 'instruments/16-vibraphone/60.mp3': require('!arraybuffer-loader!./assets/instruments/16-vibraphone/60.mp3'), - 'instruments/16-vibraphone/72.mp3': require('!arraybuffer-loader!./assets/instruments/16-vibraphone/72.mp3'), - 'instruments/17-music-box/60.mp3': require('!arraybuffer-loader!./assets/instruments/17-music-box/60.mp3'), - 'instruments/18-steel-drum/60.mp3': require('!arraybuffer-loader!./assets/instruments/18-steel-drum/60.mp3'), - 'instruments/19-marimba/60.mp3': require('!arraybuffer-loader!./assets/instruments/19-marimba/60.mp3'), - 'instruments/20-synth-lead/60.mp3': require('!arraybuffer-loader!./assets/instruments/20-synth-lead/60.mp3'), - 'instruments/21-synth-pad/60.mp3': require('!arraybuffer-loader!./assets/instruments/21-synth-pad/60.mp3') + 'instruments/6-bass/36.mp3': require('./assets/instruments/6-bass/36.mp3?arrayBuffer'), + 'instruments/6-bass/48.mp3': require('./assets/instruments/6-bass/48.mp3?arrayBuffer'), + 'instruments/7-pizzicato/60.mp3': require('./assets/instruments/7-pizzicato/60.mp3?arrayBuffer'), + 'instruments/8-cello/36.mp3': require('./assets/instruments/8-cello/36.mp3?arrayBuffer'), + 'instruments/8-cello/48.mp3': require('./assets/instruments/8-cello/48.mp3?arrayBuffer'), + 'instruments/8-cello/60.mp3': require('./assets/instruments/8-cello/60.mp3?arrayBuffer'), + 'instruments/9-trombone/36.mp3': require('./assets/instruments/9-trombone/36.mp3?arrayBuffer'), + 'instruments/9-trombone/48.mp3': require('./assets/instruments/9-trombone/48.mp3?arrayBuffer'), + 'instruments/9-trombone/60.mp3': require('./assets/instruments/9-trombone/60.mp3?arrayBuffer'), + 'instruments/10-clarinet/48.mp3': require('./assets/instruments/10-clarinet/48.mp3?arrayBuffer'), + 'instruments/10-clarinet/60.mp3': require('./assets/instruments/10-clarinet/60.mp3?arrayBuffer'), + 'instruments/11-saxophone/36.mp3': require('./assets/instruments/11-saxophone/36.mp3?arrayBuffer'), + 'instruments/11-saxophone/60.mp3': require('./assets/instruments/11-saxophone/60.mp3?arrayBuffer'), + 'instruments/11-saxophone/84.mp3': require('./assets/instruments/11-saxophone/84.mp3?arrayBuffer'), + 'instruments/12-flute/60.mp3': require('./assets/instruments/12-flute/60.mp3?arrayBuffer'), + 'instruments/12-flute/72.mp3': require('./assets/instruments/12-flute/72.mp3?arrayBuffer'), + 'instruments/13-wooden-flute/60.mp3': require('./assets/instruments/13-wooden-flute/60.mp3?arrayBuffer'), + 'instruments/13-wooden-flute/72.mp3': require('./assets/instruments/13-wooden-flute/72.mp3?arrayBuffer'), + 'instruments/14-bassoon/36.mp3': require('./assets/instruments/14-bassoon/36.mp3?arrayBuffer'), + 'instruments/14-bassoon/48.mp3': require('./assets/instruments/14-bassoon/48.mp3?arrayBuffer'), + 'instruments/14-bassoon/60.mp3': require('./assets/instruments/14-bassoon/60.mp3?arrayBuffer'), + 'instruments/15-choir/48.mp3': require('./assets/instruments/15-choir/48.mp3?arrayBuffer'), + 'instruments/15-choir/60.mp3': require('./assets/instruments/15-choir/60.mp3?arrayBuffer'), + 'instruments/15-choir/72.mp3': require('./assets/instruments/15-choir/72.mp3?arrayBuffer'), + 'instruments/16-vibraphone/60.mp3': require('./assets/instruments/16-vibraphone/60.mp3?arrayBuffer'), + 'instruments/16-vibraphone/72.mp3': require('./assets/instruments/16-vibraphone/72.mp3?arrayBuffer'), + 'instruments/17-music-box/60.mp3': require('./assets/instruments/17-music-box/60.mp3?arrayBuffer'), + 'instruments/18-steel-drum/60.mp3': require('./assets/instruments/18-steel-drum/60.mp3?arrayBuffer'), + 'instruments/19-marimba/60.mp3': require('./assets/instruments/19-marimba/60.mp3?arrayBuffer'), + 'instruments/20-synth-lead/60.mp3': require('./assets/instruments/20-synth-lead/60.mp3?arrayBuffer'), + 'instruments/21-synth-pad/60.mp3': require('./assets/instruments/21-synth-pad/60.mp3?arrayBuffer') }; diff --git a/packages/vm/webpack.config.js b/packages/vm/webpack.config.js index c5c9e2f89..2c77892ac 100644 --- a/packages/vm/webpack.config.js +++ b/packages/vm/webpack.config.js @@ -28,10 +28,6 @@ const base = { ] } }, - { - test: /\.mp3$/, - type: 'asset/resource' - }, { resourceQuery: /raw/, type: 'asset/source' @@ -39,6 +35,7 @@ const base = { { resourceQuery: '?arrayBuffer', type: 'javascript/auto', + include: path.resolve(__dirname, 'src'), use: 'arraybuffer-loader' }] },