I try to serialise midi calls in time but it breaks down.
From
=?UTF-8?Q?Jonas_Th=C3=B6rnvall?=@21:1/5 to
All on Wed Nov 10 10:20:45 2021
Without doing a countIn setInterval function that is closed "well in time" before rec is loaded it works perfect.
But as soon one try to run the countIn
MAINrecordMid.js:141 Uncaught TypeError: Failed to execute 'send' on 'MIDIOutput': Overload resolution failed.
//CALLED WHEN REC PUSHED IN HTML DOCUMENT
function recINIT() {
console.log("recInit()"+activetrack);
mode="Record";
document.getElementById("keystream").value = "";
//If record mode replace remove notes within boundary
if (document.getElementById("recordmode").value == "REPLACE") {
console.log("REMOVING EVENTS");
removeTrackMessages(rectrack);
}
//Remember the active track, before change to temptrack for recording
savetrack=activetrack;
//Temptrack to record is 333 and "after cleanup" move the section into the realtrack.
rectrack=333;
track[rectrack].midiMess.length=0;
buildRecTrack(); //In mixdown
//Which device should playup metronome
metToUse();
drawnlines=0;
prog=0;//?????????
midEvent = 0;
waittime = 0;
myTime=waittime;
mode = "Record";
keepGoing = true;
recordmidi = true;
recProgMess();
recCCMess();
recUIupdate();
reshed=0;schedTime=0;playPos=0;oldPassedTime=0;
jint=0;mvol=1;
stopCount=setInterval(countIn,400);
setTimeout(mainREC,4000);
}
function countIn(){
if (jint<8){
if (mvol==1 || mvol==noteval+1) { metvol=120; } else { metvol=50;}
if(SF2PLAY==false){
noteMessage = [153, 77, metvol];
outportarr[outportindex].send(noteMessage);
} else {
synth.NoteOn(153, 77, metvol);
synth.NoteOff(153,77);
}
ctT.fillStyle = "red";
ctT.fillRect(240+prog, 5, 10,10);
prog=prog+15;
jint++;
mvol++;
} else {
clearInterval(stopCount);
}
}
function mainREC(){
recScrollAnime();
browserLoadTIME=performance.now();
if(SF2PLAY==false){
stopRec=setInterval(recSomeNotes,5);
} else {
stopRec=setInterval(SF2RecSomeNotes,5);
}
}
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)