ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
Statistics: Posted by 23fx23 — 18 Apr 2013, 21:44 Statistics: Posted by Fléau — 18 Apr 2013, 12:21 Statistics: Posted by 23fx23 — 15 Apr 2013, 23:48 Statistics: Posted by Fléau — 14 Apr 2013, 11:52 Statistics: Posted by 23fx23 — 31 Jan 2012, 01:55
]]>
//setvalue(value,getDataArrayValue(Arrayin,memIDs[m]));
setvalue(value,memVals[m]);
by
setvalue(value,getDataArrayValue(Arrayin,memIDs[m]));
//setvalue(value,memVals[m]);
now working on my patch.
]]>
]]>
]]>
]]>
Statistics: Posted by 23fx23 — 10 Dec 2010, 21:30
Statistics: Posted by ethnix73 — 09 Dec 2010, 23:03
CODE:
////////////////////////////////////////////////////////////////////////////var ArrayIn, index, value, send, NB_BLOCS: Tparameter;var i,j,l,k,m,BLOCS: integer;var ArrayLast, memVals: array of single;var memIDs : array of integer;//////////////////////////////////PROCEDURE INIT;BEGIN ArrayIn :=CreateParam('ArrayIn',PtArray); SetIsOutput(ArrayIn,False);setmin (arrayin,-MAXINT); setMAX(arrayin,MAXINT);NB_BLOCS:=CreateParam('NB_BLOCS',Ptdatafield);SetIsOUTput(NB_BLOCS,False);SetValue(NB_BLOCS,1);//send :=CreateParam('send', PtLed) ;SetIsINput(send,False);index :=CreateParam('index',Ptdatafield);SetIsINput(index,False);value :=CreateParam('value',Ptdatafield);SetIsINput(value,False);k:=-2; //reset unpack counterj:=0;BLOCS:=1;setArrayLength(arrayLast,1);setArrayLength(memIds,1);setArrayLength(memVals,1);end;//////////////////////////////////////PROCEDURE CALLBACK(N:integer); begin if (n=NB_BLOCS) then Begin BLOCS:= MaxI(1,round(getvalue(NB_BLOCS))); end; if (n = ArrayIn) AND (k=-2)then begin L:= getlength(ArrayIn); setArraylength(arrayLast,L); j:=0; k:=-1; for i:=0 to L-1 do begin if getdataArrayValue(ArrayIn,i) - arrayLast[i] <> 0 then begin setvalue(send,1); j:= j+1; setArrayLength(memVals,j); setArrayLength(memIDs,j); memIDs[j-1]:= i; memVals[j-1]:= getDataArrayValue(ArrayIn,i); end; end; end;END;//Callback//////////////////////////////PROCEDURE PROCESS;BEGIN if k >=-1 then begin k := k+1; m := k div BLOCS; setValue(index,memIDs[m]); //setvalue(value,getDataArrayValue(Arrayin,memIDs[m])); setvalue(value,memVals[m]); setvalue(send,1); end else begin setvalue(send,0); end; if m = 1 then begin for i:= 0 to L-1 do begin arrayLast[i]:= getDataArrayValue(ArrayIn,i); end; end; if m > (j-2) then begin k:=-2; end;END;//Process/////////////////////////////Statistics: Posted by 23fx23 — 09 Dec 2010, 22:34
Statistics: Posted by ethnix73 — 08 Dec 2010, 13:19
Statistics: Posted by 23fx23 — 08 Dec 2010, 12:45
Statistics: Posted by ethnix73 — 08 Dec 2010, 02:09
Statistics: Posted by 23fx23 — 08 Dec 2010, 01:51
Statistics: Posted by ethnix73 — 07 Dec 2010, 22:55
Statistics: Posted by 23fx23 — 19 Nov 2010, 18:11
Statistics: Posted by ethnix73 — 19 Nov 2010, 18:08
Statistics: Posted by ethnix73 — 19 Nov 2010, 12:51
CODE:
/////////////////////////////////////////////////////////////// Unpack array 23fx_14/10/2K10//////////////////////////////////////////////////////////////// Unpack simultaneous array changes bloc after bloc.// useful to convert polyphonic messages to slightly delayed// monophonic flows for ie midi mess or osc,dispatchers/setarrayelmt..////////////////////////////////////////////////////////////////////////////var ArrayIn, index, value, send: Tparameter;var i,j,l,k,m: integer;var ArrayLast: array of single;var memIDs : array of integer;//////////////////////////////////PROCEDURE INIT;BEGIN ArrayIn :=CreateParam('ArrayIn',PtArray); SetIsOutput(ArrayIn,False);setmin (arrayin,-MAXINT); setMAX(arrayin,MAXINT);//send :=CreateParam('send', PtLed) ;SetIsINput(send,False);index :=CreateParam('index',Ptdatafield);SetIsINput(index,False);value :=CreateParam('value',Ptdatafield);SetIsINput(value,False);k:=-2; //reset unpack counterj:=0;setArrayLength(arrayLast,1);setArrayLength(memIds,1);end;//////////////////////////////////////PROCEDURE CALLBACK(N:integer); begin if (n = 0) then begin L:= getlength(ArrayIn); setArraylength(arrayLast,L); j:=0; k:=-1; for i:=0 to L-1 do begin if getdataArrayValue(ArrayIn,i) - arrayLast[i] <> 0 then begin setvalue(send,1); j:= j+1; setArrayLength(memIDs,j); memIDs[j-1]:= i; end; end; end;END;//Callback//////////////////////////////PROCEDURE PROCESS;BEGIN if k >=-1 then begin k := k+1; setValue(index,memIDs[k]); setvalue(value,getDataArrayValue(Arrayin,memIDs[k])); setvalue(send,1); end else begin setvalue(send,0); end; if k = 1 then begin for i:= 0 to L-1 do begin arrayLast[i]:= getDataArrayValue(ArrayIn,i); end; end; if k > (j-2) then begin k:=-2; end;END;//Process////////////////////////////Statistics: Posted by 23fx23 — 19 Nov 2010, 02:34
Statistics: Posted by 23fx23 — 18 Nov 2010, 19:35
Statistics: Posted by ethnix73 — 18 Nov 2010, 13:38
Statistics: Posted by 23fx23 — 16 Oct 2010, 19:45
Statistics: Posted by 23fx23 — 15 Oct 2010, 19:06
Statistics: Posted by 23fx23 — 18 Apr 2013, 21:44
Statistics: Posted by Fléau — 18 Apr 2013, 12:21
Statistics: Posted by 23fx23 — 15 Apr 2013, 23:48
Statistics: Posted by Fléau — 14 Apr 2013, 11:52
Statistics: Posted by 23fx23 — 31 Jan 2012, 01:55
Statistics: Posted by 23fx23 — 10 Dec 2010, 21:30
Statistics: Posted by ethnix73 — 09 Dec 2010, 23:03
CODE:
////////////////////////////////////////////////////////////////////////////var ArrayIn, index, value, send, NB_BLOCS: Tparameter;var i,j,l,k,m,BLOCS: integer;var ArrayLast, memVals: array of single;var memIDs : array of integer;//////////////////////////////////PROCEDURE INIT;BEGIN ArrayIn :=CreateParam('ArrayIn',PtArray); SetIsOutput(ArrayIn,False);setmin (arrayin,-MAXINT); setMAX(arrayin,MAXINT);NB_BLOCS:=CreateParam('NB_BLOCS',Ptdatafield);SetIsOUTput(NB_BLOCS,False);SetValue(NB_BLOCS,1);//send :=CreateParam('send', PtLed) ;SetIsINput(send,False);index :=CreateParam('index',Ptdatafield);SetIsINput(index,False);value :=CreateParam('value',Ptdatafield);SetIsINput(value,False);k:=-2; //reset unpack counterj:=0;BLOCS:=1;setArrayLength(arrayLast,1);setArrayLength(memIds,1);setArrayLength(memVals,1);end;//////////////////////////////////////PROCEDURE CALLBACK(N:integer); begin if (n=NB_BLOCS) then Begin BLOCS:= MaxI(1,round(getvalue(NB_BLOCS))); end; if (n = ArrayIn) AND (k=-2)then begin L:= getlength(ArrayIn); setArraylength(arrayLast,L); j:=0; k:=-1; for i:=0 to L-1 do begin if getdataArrayValue(ArrayIn,i) - arrayLast[i] <> 0 then begin setvalue(send,1); j:= j+1; setArrayLength(memVals,j); setArrayLength(memIDs,j); memIDs[j-1]:= i; memVals[j-1]:= getDataArrayValue(ArrayIn,i); end; end; end;END;//Callback//////////////////////////////PROCEDURE PROCESS;BEGIN if k >=-1 then begin k := k+1; m := k div BLOCS; setValue(index,memIDs[m]); //setvalue(value,getDataArrayValue(Arrayin,memIDs[m])); setvalue(value,memVals[m]); setvalue(send,1); end else begin setvalue(send,0); end; if m = 1 then begin for i:= 0 to L-1 do begin arrayLast[i]:= getDataArrayValue(ArrayIn,i); end; end; if m > (j-2) then begin k:=-2; end;END;//Process/////////////////////////////Statistics: Posted by 23fx23 — 09 Dec 2010, 22:34
Statistics: Posted by ethnix73 — 08 Dec 2010, 13:19
Statistics: Posted by 23fx23 — 08 Dec 2010, 12:45
Statistics: Posted by ethnix73 — 08 Dec 2010, 02:09
Statistics: Posted by 23fx23 — 08 Dec 2010, 01:51
Statistics: Posted by ethnix73 — 07 Dec 2010, 22:55
Statistics: Posted by 23fx23 — 19 Nov 2010, 18:11
Statistics: Posted by ethnix73 — 19 Nov 2010, 18:08
Statistics: Posted by ethnix73 — 19 Nov 2010, 12:51
CODE:
/////////////////////////////////////////////////////////////// Unpack array 23fx_14/10/2K10//////////////////////////////////////////////////////////////// Unpack simultaneous array changes bloc after bloc.// useful to convert polyphonic messages to slightly delayed// monophonic flows for ie midi mess or osc,dispatchers/setarrayelmt..////////////////////////////////////////////////////////////////////////////var ArrayIn, index, value, send: Tparameter;var i,j,l,k,m: integer;var ArrayLast: array of single;var memIDs : array of integer;//////////////////////////////////PROCEDURE INIT;BEGIN ArrayIn :=CreateParam('ArrayIn',PtArray); SetIsOutput(ArrayIn,False);setmin (arrayin,-MAXINT); setMAX(arrayin,MAXINT);//send :=CreateParam('send', PtLed) ;SetIsINput(send,False);index :=CreateParam('index',Ptdatafield);SetIsINput(index,False);value :=CreateParam('value',Ptdatafield);SetIsINput(value,False);k:=-2; //reset unpack counterj:=0;setArrayLength(arrayLast,1);setArrayLength(memIds,1);end;//////////////////////////////////////PROCEDURE CALLBACK(N:integer); begin if (n = 0) then begin L:= getlength(ArrayIn); setArraylength(arrayLast,L); j:=0; k:=-1; for i:=0 to L-1 do begin if getdataArrayValue(ArrayIn,i) - arrayLast[i] <> 0 then begin setvalue(send,1); j:= j+1; setArrayLength(memIDs,j); memIDs[j-1]:= i; end; end; end;END;//Callback//////////////////////////////PROCEDURE PROCESS;BEGIN if k >=-1 then begin k := k+1; setValue(index,memIDs[k]); setvalue(value,getDataArrayValue(Arrayin,memIDs[k])); setvalue(send,1); end else begin setvalue(send,0); end; if k = 1 then begin for i:= 0 to L-1 do begin arrayLast[i]:= getDataArrayValue(ArrayIn,i); end; end; if k > (j-2) then begin k:=-2; end;END;//Process////////////////////////////Statistics: Posted by 23fx23 — 19 Nov 2010, 02:34
Statistics: Posted by 23fx23 — 18 Nov 2010, 19:35
Statistics: Posted by ethnix73 — 18 Nov 2010, 13:38
Statistics: Posted by 23fx23 — 16 Oct 2010, 19:45
Statistics: Posted by 23fx23 — 15 Oct 2010, 19:06