Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #37296
| Newsgroups | comp.lang.javascript |
|---|---|
| Date | 2019-09-18 18:17 -0700 |
| References | <d9319dae-f5c1-4023-9d26-a240dbfe8251@googlegroups.com> |
| Message-ID | <910a51bb-98a4-44b3-bd72-9ea40bcbfdeb@googlegroups.com> (permalink) |
| Subject | Re: Advanced logic "measure a bar" |
| From | Jonas Thörnvall <jonas.thornvall@gmail.com> |
Den torsdag 19 september 2019 kl. 03:15:02 UTC+2 skrev Jonas Thörnvall:
> You probably need a midiinterface.
> https://midisequenser.000webhostapp.com/
>
> 1. Check RT NOTE RENDER
> 2. Press "REC"
> 3. USE VIRTUAL PIANO / OR MIDI PIANO "PRESS NOTE"
> 4. "RELEASE NOTE" watch what happen
> 5. Read the values of canvas rectangles in console log
>
>
> This logic escape me.
>
> Now i blank out full key after each render which of course not right, but beyond point about what goes wrong. In console log i can clearly see that rightSide and leftSide keep paste "move parallell" that is not howerver what is going on at the screen. A hint please....
>
>
> var midiEv=0;
> var rightSide=[];
> var FRONTOFFSET=[];
> var barLength=[];
> var keyreleased=[];
> leftSide=50;
> for (var p=0;p<3000;p++) {rightSide[p]=0;FRONTOFFSET[p]=0;keyreleased[p]=false;}
>
> function pianoSCROLL(){
> nbrOfEv = track[rectrack].midiMess.length;
> while (nbrOfEv>0){
> midiEv=nbrOfEv-1;
> //INSIDE WHEN KEY PRESSED
> if(track[rectrack].midiMess[midiEv].data0==NOTE_ON && keyreleased[midiEv]==false){
> console.log("Pressed Key");
> ctm.fillStyle = "magenta";
> ctm.fillRect(leftSide,(PistartX+keyHeight*88)-(keyHeight*(track[rectrack].midiMess[midiEv].data1-8)), rightSide[midiEv],keyHeight-2);
> //When ***A NEW*** key pressed a startpoint relative the scrollbar created ***FRONTOFFSET***
> if(FRONTOFFSET[midiEv]==0) {FRONTOFFSET[midiEv]=scrollBarPos;}
> rightSide[midiEv]=scrollBarPos-FRONTOFFSET[midiEv];
> barLength[midiEv]=rightSide[midiEv]-leftSide;
> console.log("INSIDE HOLDKEY Barlength "+barLength[midiEv]+" =right "+rightSide[midiEv]+" - left "+leftSide);
> }
> //INSIDE KEY RELEADED
> else if(track[rectrack].midiMess[midiEv].data0==NOTE_OFF && keyreleased[midiEv]==false){
> for(var q=0;q<midiEv;q++){
> if(track[rectrack].midiMess[q].data1==track[rectrack].midiMess[midiEv].data1) {
> console.log("midiEV data1"+track[rectrack].midiMess[midiEv].data1);
> ctm.fillStyle = "red";
> ctm.fillRect(leftSide,(PistartX+keyHeight*88)-(keyHeight*(track[rectrack].midiMess[midiEv].data1-8)), rightSide[q],keyHeight-2);
> keyreleased[q]=true;
>
> }
>
> console.log("INSIDE RELEASE Barlength "+barLength[q]+" =right "+rightSide[q]+" - left "+leftSide);
> keyreleased[midiEv]=true;
> }
> }
> //INSIDE FULL BAR MOVING
>
> else if(track[rectrack].midiMess[midiEv].data0==NOTE_OFF && keyreleased[midiEv]==true) {
> ctm.fillStyle = "black";
> ctm.fillRect(keylength+1,(PistartX+keyHeight*88)-(keyHeight*(track[rectrack].midiMess[midiEv].data1-8)), Mwidth,keyHeight);
> for(var q=0;q<midiEv;q++){
> if(track[rectrack].midiMess[q].data1==track[rectrack].midiMess[midiEv].data1) {
> //rightSide[q]=scrollBarPos-FRONTOFFSET[q];
> rightSide=scrollBarPos-FRONTOFFSET[q];
> leftSide=rightSide-barLength[q];
> ctm.fillStyle = "white";
> console.log("INSIDE FULL BAR MOVING Leftside "+leftSide+" =Rightside "+rightSide+" - Barlength "+barLength[q]);
> ctm.fillRect(leftSide,(PistartX+keyHeight*88)-(keyHeight*(track[rectrack].midiMess[midiEv].data1-8)), rightSide,keyHeight-2);
> }
> }
> }
> nbrOfEv--;
> }
> }
This problem seems old like real oldschool.
https://www.youtube.com/watch?v=mnTX2p22CWs
I don't think i ever solved it.
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-18 18:14 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-18 18:17 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-18 18:28 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-18 18:36 -0700
Re: Advanced logic "measure a bar" "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2019-09-18 19:38 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-18 19:59 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-18 20:11 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-18 20:42 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-18 21:00 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-18 21:02 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-19 08:18 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-19 08:19 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-19 08:23 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-20 14:38 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-21 02:14 -0700
Re: Advanced logic "measure a bar" John G Harris <niam@jghnorth.org.uk.invalid> - 2019-09-21 10:35 +0100
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-21 05:17 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-21 05:29 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-22 04:52 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-22 12:32 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-23 00:38 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-24 05:17 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-24 05:18 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-24 05:21 -0700
Re: Advanced logic "measure a bar" Martin Leese <please@see.Web.for.e-mail.INVALID> - 2019-09-24 13:14 -0600
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-24 12:30 -0700
Re: Advanced logic "measure a bar" Martin Leese <please@see.Web.for.e-mail.INVALID> - 2019-09-24 13:53 -0600
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-24 22:13 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-25 02:54 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-25 22:32 -0700
Re: Advanced logic "measure a bar" Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-30 02:05 -0700
csiph-web