xxxxxxxxxx
50
function setup() {
let c = createCanvas(400, 400);
c.background(0);
// canvas handle file dropping by callback
c.drop(dropped);
// simple load from asset file
let mybytes = loadBytes("index.mid", () => {
let mymidi = new Midi(mybytes.bytes);
mymidi.tracks.forEach((track) => {
track.notes.forEach((note) => {
console.log(
`Note: ${note.name} ` +
`Pitch: ${note.midi} ` +
`Velocity: ${note.velocity} ` +
`Duration: ${note.duration}`
);
ellipse(note.midi*3,note.velocity+50,50);
note.midi+=0.2
});
});
});
}
// simple load from dropped file
function dropped(file) {
if (file.type === "audio" && file.name.match(/.mid$/i)) {
let mybytes = loadBytes(file.data, () => {
let mymidi = new Midi(mybytes.bytes);
mymidi.tracks.forEach((track) => {
track.notes.forEach((note) => {
console.log(
`Note: ${note.name} ` +
`Pitch: ${note.midi} ` +
`Velocity: ${note.velocity} ` +
`Duration: ${note.duration}`
);
});
});
});
} else {
console.log(
"invalid filetype or extension! Type (" +
(file.type ? file.type : "unknown") +
") Name (" + file.name + ")");
}
}