Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #37287

Re: Canvas render to memory?

Newsgroups comp.lang.javascript
Date 2019-09-17 05:45 -0700
References <346fc78b-3d47-41b4-9439-e4b1f0e4311e@googlegroups.com> <364ba0e0-131f-4f36-88dd-44e9e43d7e9b@googlegroups.com> <27078caa-93fb-4c55-8848-25fe6c52710c@googlegroups.com> <34f750eb-16a4-4110-bf21-a285b2c62c2d@googlegroups.com>
Message-ID <6bf88263-dd58-4dd6-bc72-e17a60fc50fa@googlegroups.com> (permalink)
Subject Re: Canvas render to memory?
From Jonas Thörnvall <jonas.thornvall@gmail.com>

Show all headers | View raw


Den tisdag 17 september 2019 kl. 10:50:36 UTC+2 skrev Jonas Thörnvall:
> Den måndag 16 september 2019 kl. 23:35:33 UTC+2 skrev Julio Di Egidio:
> > On Monday, 16 September 2019 22:30:36 UTC+2, Jonas Thörnvall  wrote:
> > 
> > > Well one could think of it like a slideshow, swapping every x bars.
> > 
> > Indeed, for a simple image slideshow you can use one img and just change
> > the src attribute from JS.
> > 
> > BTW, canvas is another thing that is certainly not needed in your project...
> > 
> > HTH,
> > 
> > Julio
> 
> Proof yourself smarter then me and fix, this Julio and i gladly admit you are much much smarter then me ;)
> 
> 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;
>    //When keypressed
>    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];
>    //When keyreleased
>    } else if(track[rectrack].midiMess[midiEv].data0==NOTE_OFF && keyreleased[midiEv]==false){
>       console.log("keyreleased!");
>       for(var q=0;q<midiEv;q++){ 
>            if(track[rectrack].midiMess[q].data1==track[rectrack].midiMess[midiEv].data1) { 
> 		    keyreleased[q]=true;
> 			barLength[midiEv]=rightSide[midiEv]-leftSide; 
> 		   
> 		   }
>       }
>    keyreleased[midiEv]=true;
>    } 
> 	//After keyreleased
>     else if(track[rectrack].midiMess[midiEv].data0==NOTE_OFF && keyreleased[midiEv]==true) {
>      console.log("parallell move"); 
> 	 // if(FRONTOFFSET[midiEv]==0) {FRONTOFFSET[midiEv]=scrollBarPos;}
> 	 rightSide[midiEv]=scrollBarPos-FRONTOFFSET[midiEv];
> 	 leftSide=rightSide[midiEv]-barLength[midiEv];
> 	 ctm.fillStyle = "#000a4d";
> 	 ctm.fillRect(keylength+1,(PistartX+keyHeight*88)-(keyHeight*(track[rectrack].midiMess[midiEv].data1-8)), Mwidth,keyHeight);
> 	 ctm.fillStyle = "white";
> 	 ctm.fillRect(leftSide,(PistartX+keyHeight*88)-(keyHeight*(track[rectrack].midiMess[midiEv].data1-8)), rightSide[midiEv],keyHeight-2);
>     } 
>  nbrOfEv--; 
>  }
> }

Logical conundrum, can someone give a hint.
How can the length of rectangle vary when the barlelngth is fixed?
It is beyond my understanding.
  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];	
          leftSide=rightSide[q]-barLength[q];
	      ctm.fillStyle = "white";
	      ctm.fillRect(leftSide,(PistartX+keyHeight*88)-(keyHeight*(track[rectrack].midiMess[midiEv].data1-8)), rightSide[q],keyHeight-2);
    	  console.log("INSIDE FULL BAR MOVING Barlength "+barLength[midiEv]+" =right  "+rightSide[q]+" - left "+leftSide);
	    }
      } 
   } 

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Canvas render to memory? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-16 13:27 -0700
  Re: Canvas render to memory? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-16 13:30 -0700
    Re: Canvas render to memory? Julio Di Egidio <julio@diegidio.name> - 2019-09-16 14:35 -0700
      Re: Canvas render to memory? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-16 23:32 -0700
        Re: Canvas render to memory? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-16 23:35 -0700
        Re: Canvas render to memory? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-17 00:35 -0700
      Re: Canvas render to memory? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-17 01:50 -0700
        Re: Canvas render to memory? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-17 05:45 -0700
          Re: Canvas render to memory? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-17 05:59 -0700
            Re: Canvas render to memory? Jonas Thörnvall <jonas.thornvall@gmail.com> - 2019-09-17 06:12 -0700
  Re: Canvas render to memory? Arno Welzel <usenet@arnowelzel.de> - 2019-09-16 23:23 +0200

csiph-web