ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
Statistics: Posted by antwan — 30 Nov 2007, 20:07 CODE: Statistics: Posted by senso — 29 Nov 2007, 09:08
thanks guys, worked like a charm.
antwan
]]>//////////////////////////////// main proc////////////////////////////////--------------------var Need_Reset : boolean;//--------------------begin if Need_Reset then begin need_reset := false; for i := 0 to 11 do SetValue(trigs[i], 0); end; nbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin for i := 0 to nbOfMidi - 1 do begin GetMidiArrayValue(input, i, Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2); if ((MidiTmp.msg = 144) or (MidiTmp.msg = 128)) and (MidiTmp.data1 >= 60) and (MidiTmp.data1 <= 71) then begin index := MidiTmp.data1 - 60; if (MidiTmp.msg = 128) or((MidiTmp.data2 = 0) and (MidiTmp.msg = 144)) then // NoteOff SetValue(trigs[index], 0) else begin SetValue(trigs[index], 1); need_reset := true; end; end; end; end;end.
]]>
Statistics: Posted by antwan — 28 Nov 2007, 21:41
Statistics: Posted by bsork — 22 Nov 2007, 14:54
Statistics: Posted by moody33 — 22 Nov 2007, 11:07
Statistics: Posted by senso — 21 Nov 2007, 21:27
Statistics: Posted by bsork — 21 Nov 2007, 21:02
Statistics: Posted by moody33 — 21 Nov 2007, 20:21
CODE:
//////////////////////////////// main proc//////////////////////////////begin nbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin for i := 0 to nbOfMidi - 1 do begin GetMidiArrayValue(input, i, Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2); if ((MidiTmp.msg = 144) or (MidiTmp.msg = 128)) and (MidiTmp.data1 >= 60) and (MidiTmp.data1 <= 71) then begin index := MidiTmp.data1 - 60; if (MidiTmp.msg = 128) or((MidiTmp.data2 = 0) and (MidiTmp.msg = 144)) then // NoteOff SetValue(trigs[index], 0) else SetValue(trigs[index], 1); end; end; end;end.Statistics: Posted by senso — 21 Nov 2007, 19:43
CODE:
//////////////////////////// Remaps each midi note from range 60-71 to triggers/////////////////////////// parameters declarationvar input : Tparameter;var msg : Tparameter;var data1 : Tparameter;var data2 : Tparameter;var trigs : array of Tparameter;// initialisation : create parametersprocedure init;var i : integer;begin Input := CreateParam('In',ptMidi); msg := CreateParam('msg', ptdataField); data1 := CreateParam('data1', ptdataField); data2 := CreateParam('msg', ptdataField); SetIsOutPut(Input,false); SetIsInput(msg, false); SetIsInput(data1, false); SetIsInput(data2, false); setarraylength(trigs,12); for i := 0 to 11 do begin trigs[i] := CreateParam('trig'+inttostr(i+1), ptSwitch); setisInput(trigs[i], false); end;end;// Global variablesvar nbOfMidi : integer;var Miditmp : TMidi;var i : integer;var index : integer;//////////////////////////////// main proc//////////////////////////////begin nbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin for i := 0 to nbOfMidi - 1 do begin GetMidiArrayValue(input, i, Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2); if ((MidiTmp.msg = 144 or MidiTmp.msg = 128) and MidiTmp.data1 >= 60 and MidiTmp.data1 <= 71) then begin index := MidiTmp.data1 - 60; if ((MidiTmp.msg = 144 and MidiTmp.data2 = 0) or MidiTmp.msg = 128) then // NoteOff SetDataArrayValue(trigs, index, 0); else SetDataArrayValue(trigs, index, 1); end; end; end;end.Statistics: Posted by antwan — 21 Nov 2007, 18:59
Statistics: Posted by antwan — 21 Nov 2007, 08:22
Statistics: Posted by bsork — 20 Nov 2007, 21:18
CODE:
var trigs : array of Tparameter;procedure init;var i : integer;begin ... // create other params here setarraylength(trigs,12); for i := 0 to 11 do begin trigs[i] := CreateParam('trig'+inttostr(i+1), ptSwitch); setisInput(trigs[i], false); end;....Statistics: Posted by senso — 20 Nov 2007, 19:06
CODE:
// initialisation : create parametersprocedure init;begin Input := CreateParam('In',ptMidi); msg := CreateParam('msg', ptdataField); data1 := CreateParam('data1', ptdataField); data2 := CreateParam('msg', ptdataField); trigArr := CreateParam('triggers', ptDataArray); SetLength(trigArr, 12); SetIsOutPut(Input,false); SetIsInput(msg, false); SetIsInput(data1, false); SetIsInput(data2, false); SetIsInput(trigArr, false);end;// Global variablesvar nbOfMidi : integer;var Miditmp : TMidi;var i : integer;var index : integer;//////////////////////////////// main proc//////////////////////////////beginnbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin for i := 0 to nbOfMidi - 1 do begin GetMidiArrayValue(input, i, Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2); if ((MidiTmp.msg = 144 or MidiTmp.msg = 128) and MidiTmp.data1 >= 60 and MidiTmp.data1 <= 71) then begin index := MidiTmp.data1 - 60; if ((MidiTmp.msg = 144 and MidiTmp.data2 = 0) or MidiTmp.msg = 128) then // NoteOff SetDataArrayValue(trigArr, index, 0); else SetDataArrayValue(trigArr, index, 1); end; end; end;end.Statistics: Posted by bsork — 20 Nov 2007, 09:31
CODE:
//////////////////////////// Remaps each midi note from range 60-71 to triggers/////////////////////////// parameters declarationvar input : Tparameter;var msg : Tparameter;var data1 : Tparameter;var data2 : Tparameter;var trig1 : Tparameter;var trig2 : Tparameter;var trig3 : Tparameter;var trig4 : Tparameter;var trig5 : Tparameter;var trig6 : Tparameter;var trig7 : Tparameter;var trig8 : Tparameter;var trig9 : Tparameter;var trig10 : Tparameter;var trig11 : Tparameter;var trig12 : Tparameter;// initialisation : create parametersprocedure init;begin Input := CreateParam('In',ptMidi); msg := CreateParam('msg', ptdataField); data1 := CreateParam('data1', ptdataField); data2 := CreateParam('msg', ptdataField); trig1 := CreateParam('trig1', ptSwitch); trig2 := CreateParam('trig2', ptSwitch); trig3 := CreateParam('trig3', ptSwitch); trig4 := CreateParam('trig4', ptSwitch); trig5 := CreateParam('trig5', ptSwitch); trig6 := CreateParam('trig6', ptSwitch); trig7 := CreateParam('trig7', ptSwitch); trig8 := CreateParam('trig8', ptSwitch); trig9 := CreateParam('trig9', ptSwitch); trig10 := CreateParam('trig10', ptSwitch); trig11 := CreateParam('trig11', ptSwitch); trig12 := CreateParam('trig12', ptSwitch); SetIsOutPut(Input,false); SetIsInput(msg, false); SetIsInput(data1, false); SetIsInput(data2, false); SetIsInput(trig1, false); SetIsInput(trig2, false); SetIsInput(trig3, false); SetIsInput(trig4, false); SetIsInput(trig5, false); SetIsInput(trig6, false); SetIsInput(trig7, false); SetIsInput(trig8, false); SetIsInput(trig9, false); SetIsInput(trig10, false); SetIsInput(trig11, false); SetIsInput(trig12, false); end;// Global variablesvar nbOfMidi : integer;var Miditmp : TMidi;var trigger1 : integer;var trigger2 : integer;var trigger3 : integer;var trigger4 : integer;var trigger5 : integer;var trigger6 : integer;var trigger7 : integer;var trigger8 : integer;var trigger9 : integer;var trigger10 : integer;var trigger11 : integer;var trigger12 : integer;//////////////////////////////// main proc//////////////////////////////beginnbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin GetMidiArrayValue(input,0,Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2);if (MidiTmp.msg = 144) and (MidiTmp.data1 = 60) then begin trigger1 := 1; SetValue(trig1, trigger1);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 60) then begintrigger1 := 0;SetValue(trig1, trigger1);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 61) then begin trigger2 := 1; SetValue(trig2, trigger2);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 61) then begintrigger2 := 0;SetValue(trig2, trigger2);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 62) then begin trigger3 := 1; SetValue(trig3, trigger3);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 62) then begintrigger3 := 0;SetValue(trig3, trigger3);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 63) then begin trigger4 := 1; SetValue(trig4, trigger4);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 63) then begintrigger4 := 0;SetValue(trig4, trigger4);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 64) then begin trigger5 := 1; SetValue(trig5, trigger5);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 64) then begintrigger5 := 0;SetValue(trig5, trigger5);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 65) then begin trigger6 := 1; SetValue(trig6, trigger6);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 65) then begintrigger6 := 0;SetValue(trig6, trigger6);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 66) then begin trigger7 := 1; SetValue(trig7, trigger7);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 66) then begintrigger7 := 0;SetValue(trig7, trigger7);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 67) then begin trigger8 := 1; SetValue(trig8, trigger8);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 67) then begintrigger8 := 0;SetValue(trig8, trigger8);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 68) then begin trigger9 := 1; SetValue(trig9, trigger9);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 68) then begintrigger9 := 0;SetValue(trig9, trigger9);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 69) then begin trigger10 := 1; SetValue(trig10, trigger10);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 69) then begintrigger10 := 0;SetValue(trig10, trigger10);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 70) then begin trigger11 := 1; SetValue(trig11, trigger11);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 70) then begintrigger11 := 0;SetValue(trig11, trigger11);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 71) then begin trigger12 := 1; SetValue(trig12, trigger12);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 71) then begintrigger12 := 0;SetValue(trig12, trigger12);endendend.Statistics: Posted by antwan — 19 Nov 2007, 21:49
Statistics: Posted by antwan — 30 Nov 2007, 20:07
CODE:
//////////////////////////////// main proc////////////////////////////////--------------------var Need_Reset : boolean;//--------------------begin if Need_Reset then begin need_reset := false; for i := 0 to 11 do SetValue(trigs[i], 0); end; nbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin for i := 0 to nbOfMidi - 1 do begin GetMidiArrayValue(input, i, Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2); if ((MidiTmp.msg = 144) or (MidiTmp.msg = 128)) and (MidiTmp.data1 >= 60) and (MidiTmp.data1 <= 71) then begin index := MidiTmp.data1 - 60; if (MidiTmp.msg = 128) or((MidiTmp.data2 = 0) and (MidiTmp.msg = 144)) then // NoteOff SetValue(trigs[index], 0) else begin SetValue(trigs[index], 1); need_reset := true; end; end; end; end;end.Statistics: Posted by senso — 29 Nov 2007, 09:08
Statistics: Posted by antwan — 28 Nov 2007, 21:41
Statistics: Posted by bsork — 22 Nov 2007, 14:54
Statistics: Posted by moody33 — 22 Nov 2007, 11:07
Statistics: Posted by senso — 21 Nov 2007, 21:27
Statistics: Posted by bsork — 21 Nov 2007, 21:02
Statistics: Posted by moody33 — 21 Nov 2007, 20:21
CODE:
//////////////////////////////// main proc//////////////////////////////begin nbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin for i := 0 to nbOfMidi - 1 do begin GetMidiArrayValue(input, i, Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2); if ((MidiTmp.msg = 144) or (MidiTmp.msg = 128)) and (MidiTmp.data1 >= 60) and (MidiTmp.data1 <= 71) then begin index := MidiTmp.data1 - 60; if (MidiTmp.msg = 128) or((MidiTmp.data2 = 0) and (MidiTmp.msg = 144)) then // NoteOff SetValue(trigs[index], 0) else SetValue(trigs[index], 1); end; end; end;end.Statistics: Posted by senso — 21 Nov 2007, 19:43
CODE:
//////////////////////////// Remaps each midi note from range 60-71 to triggers/////////////////////////// parameters declarationvar input : Tparameter;var msg : Tparameter;var data1 : Tparameter;var data2 : Tparameter;var trigs : array of Tparameter;// initialisation : create parametersprocedure init;var i : integer;begin Input := CreateParam('In',ptMidi); msg := CreateParam('msg', ptdataField); data1 := CreateParam('data1', ptdataField); data2 := CreateParam('msg', ptdataField); SetIsOutPut(Input,false); SetIsInput(msg, false); SetIsInput(data1, false); SetIsInput(data2, false); setarraylength(trigs,12); for i := 0 to 11 do begin trigs[i] := CreateParam('trig'+inttostr(i+1), ptSwitch); setisInput(trigs[i], false); end;end;// Global variablesvar nbOfMidi : integer;var Miditmp : TMidi;var i : integer;var index : integer;//////////////////////////////// main proc//////////////////////////////begin nbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin for i := 0 to nbOfMidi - 1 do begin GetMidiArrayValue(input, i, Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2); if ((MidiTmp.msg = 144 or MidiTmp.msg = 128) and MidiTmp.data1 >= 60 and MidiTmp.data1 <= 71) then begin index := MidiTmp.data1 - 60; if ((MidiTmp.msg = 144 and MidiTmp.data2 = 0) or MidiTmp.msg = 128) then // NoteOff SetDataArrayValue(trigs, index, 0); else SetDataArrayValue(trigs, index, 1); end; end; end;end.Statistics: Posted by antwan — 21 Nov 2007, 18:59
Statistics: Posted by antwan — 21 Nov 2007, 08:22
Statistics: Posted by bsork — 20 Nov 2007, 21:18
CODE:
var trigs : array of Tparameter;procedure init;var i : integer;begin ... // create other params here setarraylength(trigs,12); for i := 0 to 11 do begin trigs[i] := CreateParam('trig'+inttostr(i+1), ptSwitch); setisInput(trigs[i], false); end;....Statistics: Posted by senso — 20 Nov 2007, 19:06
CODE:
// initialisation : create parametersprocedure init;begin Input := CreateParam('In',ptMidi); msg := CreateParam('msg', ptdataField); data1 := CreateParam('data1', ptdataField); data2 := CreateParam('msg', ptdataField); trigArr := CreateParam('triggers', ptDataArray); SetLength(trigArr, 12); SetIsOutPut(Input,false); SetIsInput(msg, false); SetIsInput(data1, false); SetIsInput(data2, false); SetIsInput(trigArr, false);end;// Global variablesvar nbOfMidi : integer;var Miditmp : TMidi;var i : integer;var index : integer;//////////////////////////////// main proc//////////////////////////////beginnbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin for i := 0 to nbOfMidi - 1 do begin GetMidiArrayValue(input, i, Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2); if ((MidiTmp.msg = 144 or MidiTmp.msg = 128) and MidiTmp.data1 >= 60 and MidiTmp.data1 <= 71) then begin index := MidiTmp.data1 - 60; if ((MidiTmp.msg = 144 and MidiTmp.data2 = 0) or MidiTmp.msg = 128) then // NoteOff SetDataArrayValue(trigArr, index, 0); else SetDataArrayValue(trigArr, index, 1); end; end; end;end.Statistics: Posted by bsork — 20 Nov 2007, 09:31
CODE:
//////////////////////////// Remaps each midi note from range 60-71 to triggers/////////////////////////// parameters declarationvar input : Tparameter;var msg : Tparameter;var data1 : Tparameter;var data2 : Tparameter;var trig1 : Tparameter;var trig2 : Tparameter;var trig3 : Tparameter;var trig4 : Tparameter;var trig5 : Tparameter;var trig6 : Tparameter;var trig7 : Tparameter;var trig8 : Tparameter;var trig9 : Tparameter;var trig10 : Tparameter;var trig11 : Tparameter;var trig12 : Tparameter;// initialisation : create parametersprocedure init;begin Input := CreateParam('In',ptMidi); msg := CreateParam('msg', ptdataField); data1 := CreateParam('data1', ptdataField); data2 := CreateParam('msg', ptdataField); trig1 := CreateParam('trig1', ptSwitch); trig2 := CreateParam('trig2', ptSwitch); trig3 := CreateParam('trig3', ptSwitch); trig4 := CreateParam('trig4', ptSwitch); trig5 := CreateParam('trig5', ptSwitch); trig6 := CreateParam('trig6', ptSwitch); trig7 := CreateParam('trig7', ptSwitch); trig8 := CreateParam('trig8', ptSwitch); trig9 := CreateParam('trig9', ptSwitch); trig10 := CreateParam('trig10', ptSwitch); trig11 := CreateParam('trig11', ptSwitch); trig12 := CreateParam('trig12', ptSwitch); SetIsOutPut(Input,false); SetIsInput(msg, false); SetIsInput(data1, false); SetIsInput(data2, false); SetIsInput(trig1, false); SetIsInput(trig2, false); SetIsInput(trig3, false); SetIsInput(trig4, false); SetIsInput(trig5, false); SetIsInput(trig6, false); SetIsInput(trig7, false); SetIsInput(trig8, false); SetIsInput(trig9, false); SetIsInput(trig10, false); SetIsInput(trig11, false); SetIsInput(trig12, false); end;// Global variablesvar nbOfMidi : integer;var Miditmp : TMidi;var trigger1 : integer;var trigger2 : integer;var trigger3 : integer;var trigger4 : integer;var trigger5 : integer;var trigger6 : integer;var trigger7 : integer;var trigger8 : integer;var trigger9 : integer;var trigger10 : integer;var trigger11 : integer;var trigger12 : integer;//////////////////////////////// main proc//////////////////////////////beginnbOfMidi := GetLength(input); // get the number of incoming midi codes if nbOfMidi > 0 then begin GetMidiArrayValue(input,0,Miditmp); setValue(msg,MidiTmp.msg); setValue(data1,MidiTmp.data1); setValue(data2,MidiTmp.data2);if (MidiTmp.msg = 144) and (MidiTmp.data1 = 60) then begin trigger1 := 1; SetValue(trig1, trigger1);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 60) then begintrigger1 := 0;SetValue(trig1, trigger1);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 61) then begin trigger2 := 1; SetValue(trig2, trigger2);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 61) then begintrigger2 := 0;SetValue(trig2, trigger2);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 62) then begin trigger3 := 1; SetValue(trig3, trigger3);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 62) then begintrigger3 := 0;SetValue(trig3, trigger3);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 63) then begin trigger4 := 1; SetValue(trig4, trigger4);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 63) then begintrigger4 := 0;SetValue(trig4, trigger4);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 64) then begin trigger5 := 1; SetValue(trig5, trigger5);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 64) then begintrigger5 := 0;SetValue(trig5, trigger5);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 65) then begin trigger6 := 1; SetValue(trig6, trigger6);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 65) then begintrigger6 := 0;SetValue(trig6, trigger6);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 66) then begin trigger7 := 1; SetValue(trig7, trigger7);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 66) then begintrigger7 := 0;SetValue(trig7, trigger7);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 67) then begin trigger8 := 1; SetValue(trig8, trigger8);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 67) then begintrigger8 := 0;SetValue(trig8, trigger8);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 68) then begin trigger9 := 1; SetValue(trig9, trigger9);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 68) then begintrigger9 := 0;SetValue(trig9, trigger9);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 69) then begin trigger10 := 1; SetValue(trig10, trigger10);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 69) then begintrigger10 := 0;SetValue(trig10, trigger10);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 70) then begin trigger11 := 1; SetValue(trig11, trigger11);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 70) then begintrigger11 := 0;SetValue(trig11, trigger11);endif (MidiTmp.msg = 144) and (MidiTmp.data1 = 71) then begin trigger12 := 1; SetValue(trig12, trigger12);endif (MidiTmp.msg = 128) and (MidiTmp.data1 = 71) then begintrigger12 := 0;SetValue(trig12, trigger12);endendend.Statistics: Posted by antwan — 19 Nov 2007, 21:49