mirror of
https://github.com/scratchfoundation/scratch-vm.git
synced 2025-08-28 22:30:40 -04:00
Merge pull request #785 from ericrosenbaum/feature/load-drums-from-storage
Load drum sounds from storage and play them
This commit is contained in:
commit
614708d48c
22 changed files with 293 additions and 94 deletions
|
@ -1,10 +1,9 @@
|
|||
const test = require('tap').test;
|
||||
const Music = require('../../src/blocks/scratch3_music');
|
||||
const Music = require('../../src/extensions/scratch3_music/index.js');
|
||||
let playedDrum;
|
||||
let playedInstrument;
|
||||
const runtime = {
|
||||
audioEngine: {
|
||||
numDrums: 3,
|
||||
numInstruments: 3,
|
||||
instrumentPlayer: {
|
||||
loadInstrument: instrument => (playedInstrument = instrument)
|
||||
|
@ -12,13 +11,14 @@ const runtime = {
|
|||
}
|
||||
};
|
||||
const blocks = new Music(runtime);
|
||||
blocks._playDrumNum = (util, drum) => (playedDrum = drum);
|
||||
|
||||
const util = {
|
||||
stackFrame: Object.create(null),
|
||||
target: {
|
||||
audioPlayer: {
|
||||
playDrumForBeats: drum => (playedDrum = drum)
|
||||
}
|
||||
audioPlayer: null
|
||||
},
|
||||
stackFrame: Object.create(null)
|
||||
yield: () => null
|
||||
};
|
||||
|
||||
test('playDrum uses 1-indexing and wrap clamps', t => {
|
||||
|
@ -26,7 +26,7 @@ test('playDrum uses 1-indexing and wrap clamps', t => {
|
|||
blocks.playDrumForBeats(args, util);
|
||||
t.strictEqual(playedDrum, 0);
|
||||
|
||||
args = {DRUM: runtime.audioEngine.numDrums + 1};
|
||||
args = {DRUM: blocks.DRUM_INFO.length + 1};
|
||||
blocks.playDrumForBeats(args, util);
|
||||
t.strictEqual(playedDrum, 0);
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue