grimmdude / MidiWriterJS

♬ A JavaScript library which provides an API for programmatically generating and creating expressive multi-track MIDI files and JSON.
MIT License
557 stars 60 forks source link

Mysterious crash when merging tracks; I don't know what's going on #128

Open xp2-882030kgz010602 opened 10 months ago

xp2-882030kgz010602 commented 10 months ago

This happened when I was trying to automatically put together a MIDI from some other file format; this code snippet triggers the crash

var track=new MidiWriter.Track();
var track1=new MidiWriter.Track();
track1.addEvent(new MidiWriter.NoteEvent({pitch:["A3"],duration:'T96',wait:'T256'}));
track.mergeTrack(track1);
var track2=new MidiWriter.Track();
track2.addEvent(new MidiWriter.NoteEvent({pitch:["B3"],duration:'T96',wait:'T128'}));
track.mergeTrack(track2);

I also get the crash with this merge

var track1=new MidiWriter.Track();
track1.addEvent(new MidiWriter.NoteEvent({pitch:["A3"],duration:'4',wait:'T256'}));
var track2=new MidiWriter.Track();
track2.addEvent(new MidiWriter.NoteEvent({pitch:["B3"],duration:'4',wait:'T128'}));
track1.mergeTrack(track2);