MIDI.js icon indicating copy to clipboard operation
MIDI.js copied to clipboard

Is it impossible to pause when using noteon noteoff instead of player

Open ysfgmissbless opened this issue 4 years ago • 3 comments

Is it impossible to pause when using noteon noteoff instead of player?or it can pause only when using player.load(xxx.midi)?

ysfgmissbless avatar Mar 26 '20 14:03 ysfgmissbless

Your question doesn't make any sense. If you are using noteon/noteoff then you are responsible for timing, so you can pause in your code.

hmoffatt avatar Mar 27 '20 00:03 hmoffatt

Your question doesn't make any sense. If you are using noteon/noteoff then you are responsible for timing, so you can pause in your code.

Thanks for your reply,I didn't describe it clearly I add two buttons in my page, play and pause, when click play button ,I put some notes to a notearray, and use noteon/noteoff to play sounds in circle, and when click pause button, I don't know how to pause these sound Below is logic in play button: var song = Util.convertToMidiPianoFormat(that.beatArray,that.selectedKey); var delay = 0; var velocity = 10; // how hard the note hits for(let i in song){ MIDI.noteOn(0, song[i][0], velocity, delay); delay = delay + song[i][1]; MIDI.noteOff(0, song[i][0], delay); }

ysfgmissbless avatar Mar 27 '20 08:03 ysfgmissbless

@ysfgmissbless You may try this ugly solution :-). Call this function on click of pause button. If required you can increase the maximum loop value.

`function stop() {
    for (var i = 1; i < 9999; i++)
    {
        window.clearTimeout(i);
        window.clearInterval(i);
    }
}`

shivrajsa avatar Jun 22 '21 13:06 shivrajsa