ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
Statistics: Posted by 23fx23 — 13 Sep 2010, 09:47 Statistics: Posted by gurulogic — 13 Sep 2010, 09:35 Statistics: Posted by 23fx23 — 13 Sep 2010, 08:10 Statistics: Posted by gurulogic — 13 Sep 2010, 07:30 Statistics: Posted by 23fx23 — 13 Sep 2010, 06:46 Statistics: Posted by gurulogic — 13 Sep 2010, 05:58
and reset automs.
the rest is more tricky than i thought , im stucked in reflexion mode for now..
yea the preset manager is a huge idea!!!, that seems to behave very descently for such fast speed, was impressed.
with not to huge params recall/refresh ratio this can have tons of applications! not sure the best for smooth long automs
but every kind of steped stuff could be recalled nicely that's a really powerfull idea i will explore too!
]]>
...continues banging square peg into round hole ![]()
]]>
the wich CC/Autom take over is a bit more complex than it seems but i ll get over it ![]()
yep i can arrange to check that midi out works.
sorry by same cc i meant same cc that originally assiged one, but for each, so 8CCs to get/set of course.
i was thinking about a buton input that once clic will scan the assigned vst params to get the 8 values.
then when values are received they are send to midiout, would that be ok for ya?
think it's modular, can connect some has chgd out of PGM chg or Init or else..or manual request ALL.
then i would need to reset each autom to each values so they can be swich ed on safely.
so ok cup of cofee, here we go ![]()
]]>
"pior midi" mode - I haven't thought about this a lot but shouldn't every CC value change be able to reset the decay with a has changed so short or long it shouldn't matter?
don't have feedback midi device here- Should be possible to do midi feedback internally with usine modules with midi yoke etc? Maybe you need a vst utility plug that directly accesses midi ports?
What I would like to see is that when a patch is loaded or mapped parameters change on the VST, the midi mapped values are sent to the controller. Or at very least when one control is touched, the current value immediately updates on the device. This should be possible...I don't think it would all be sent to the same CC though?
]]>
_is not possible with arrays. cause by nature array elements can't have a size of 0 wich at some point is needed in this case.
_is possible but only via physical wiring to each concerned pins of vst, or IML wireless like i did in my case, so imply scripting.
i will try to implement the features you mention as i also would like them. i was thinking of:
_ a "sel/all" swich to make operations ie reset, roll ect applied only to sel or to all.
_a "pior midi" mode that make a dectected ccin chg overide autom with a release time so that autom plays back
pb is will have to always make tiny chgs or will need a long release time, ideally should also fade between midi in and autom
values. mmm ouch to script(why don't they make real pots with 'mouse down outlet
)
_ don't have feedback midi device here but i can try to test something, basically ya need that all
CC that are assigned to lanes pick vst assigned params value on a pulse and send them to same midiCC?
]]>
yes, that's what I thought. midi cc> has changed > smooth for triggering an event flow module
]]>
Statistics: Posted by gurulogic — 13 Sep 2010, 05:53
Statistics: Posted by 23fx23 — 13 Sep 2010, 05:43
Statistics: Posted by gurulogic — 13 Sep 2010, 04:09
Statistics: Posted by 23fx23 — 13 Sep 2010, 03:43
Statistics: Posted by 23fx23 — 13 Sep 2010, 03:07
CODE:
////////////////////////////////////////////////////////////////////////////////////////////// Pass If Chg Array create an array where only values that changed in array in will pass //////////////////////////////////////////////////////////////////////////////////////////////const SIZE = 16; // nb of out wanted.const Mode = 0; // mode 0 for Array, Mode 1 for IMLconst PREFIX = 'OUT_'; // PEFIX for outputs or IML target Items, folowed by Integer;const PIN = '1'; // Target PinIn of Iml destination module.var ArrayIn: Tparameter;var OUTPUTS: Array Of Tparameter;var i,l,count:integer;var valtmp: single;var ArrayLast:Array of single;/////////////////////////////////////PROCEDURE INIT;BEGIN ArrayIn :=CreateParam('ArrayIn',PtArray); SetIsOutput(ArrayIn,False);setMin(arrayIn,-MAXINT);setMax(ArrayIn,MAXINT);SetArrayLength(OUTPUTS,SIZE); IF mode=0 then begin for i:=0 to SIZE -1 do begin OUTPUTS[i]:= CreateParam(PREFIX+IntToStr(i),PtDataField); SetIsInput(OUTPUTS[i],false); end; end;setArrayLength(ArrayLast,SIZE);setdontsave(arrayIn,false);END;//INit//////////////////////////////PROCEDURE Callback(N:integer); BEGIN if (n=arrayIn) then begin l:= getlength(ArrayIn); count:=-1; end;END;//callback//////////////////////////////PROCEDURE PROCESS;BEGINif count >= -1 then begin count:=count+1; end; if count = 0 then begin for i:=0 to l-1 do begin if ArrayLast[i]-getDataArrayValue(ArrayIn,i)<>0 then begin valtmp:= getDataArrayValue(ArrayIn,i); if mode = 0 then begin setLength(OUTPUTS[i],1); setValue(OUTPUTS[i],valtmp); end else if mode = 1 then begin SendInternalMsg('SET_TARGET_PATCH','SENDER_PATCH'); SendInternalMsg('SET_VALUE',PREFIX+IntToStr(i),PIN,floatToStr(valtmp)); end; end else begin if mode = 0 then begin setLength(OUTPUTS[i],0); end; end; end; end; if count = 1 then begin for i:=0 to L-1 do begin ArrayLast[i]:=getdataArrayValue(ArrayIn,i); if mode = 0 then begin setLength(OUTPUTS[i],0); end; end; count:=-2; end;end;Statistics: Posted by 23fx23 — 13 Sep 2010, 02:59
Statistics: Posted by gurulogic — 13 Sep 2010, 02:36
Statistics: Posted by 23fx23 — 13 Sep 2010, 01:52
Statistics: Posted by gurulogic — 13 Sep 2010, 01:19
Statistics: Posted by 23fx23 — 13 Sep 2010, 09:47
Statistics: Posted by gurulogic — 13 Sep 2010, 09:35
Statistics: Posted by 23fx23 — 13 Sep 2010, 08:10
Statistics: Posted by gurulogic — 13 Sep 2010, 07:30
Statistics: Posted by 23fx23 — 13 Sep 2010, 06:46
Statistics: Posted by gurulogic — 13 Sep 2010, 05:58
Statistics: Posted by gurulogic — 13 Sep 2010, 05:53
Statistics: Posted by 23fx23 — 13 Sep 2010, 05:43
Statistics: Posted by gurulogic — 13 Sep 2010, 04:09
Statistics: Posted by 23fx23 — 13 Sep 2010, 03:43
Statistics: Posted by 23fx23 — 13 Sep 2010, 03:07
CODE:
////////////////////////////////////////////////////////////////////////////////////////////// Pass If Chg Array create an array where only values that changed in array in will pass //////////////////////////////////////////////////////////////////////////////////////////////const SIZE = 16; // nb of out wanted.const Mode = 0; // mode 0 for Array, Mode 1 for IMLconst PREFIX = 'OUT_'; // PEFIX for outputs or IML target Items, folowed by Integer;const PIN = '1'; // Target PinIn of Iml destination module.var ArrayIn: Tparameter;var OUTPUTS: Array Of Tparameter;var i,l,count:integer;var valtmp: single;var ArrayLast:Array of single;/////////////////////////////////////PROCEDURE INIT;BEGIN ArrayIn :=CreateParam('ArrayIn',PtArray); SetIsOutput(ArrayIn,False);setMin(arrayIn,-MAXINT);setMax(ArrayIn,MAXINT);SetArrayLength(OUTPUTS,SIZE); IF mode=0 then begin for i:=0 to SIZE -1 do begin OUTPUTS[i]:= CreateParam(PREFIX+IntToStr(i),PtDataField); SetIsInput(OUTPUTS[i],false); end; end;setArrayLength(ArrayLast,SIZE);setdontsave(arrayIn,false);END;//INit//////////////////////////////PROCEDURE Callback(N:integer); BEGIN if (n=arrayIn) then begin l:= getlength(ArrayIn); count:=-1; end;END;//callback//////////////////////////////PROCEDURE PROCESS;BEGINif count >= -1 then begin count:=count+1; end; if count = 0 then begin for i:=0 to l-1 do begin if ArrayLast[i]-getDataArrayValue(ArrayIn,i)<>0 then begin valtmp:= getDataArrayValue(ArrayIn,i); if mode = 0 then begin setLength(OUTPUTS[i],1); setValue(OUTPUTS[i],valtmp); end else if mode = 1 then begin SendInternalMsg('SET_TARGET_PATCH','SENDER_PATCH'); SendInternalMsg('SET_VALUE',PREFIX+IntToStr(i),PIN,floatToStr(valtmp)); end; end else begin if mode = 0 then begin setLength(OUTPUTS[i],0); end; end; end; end; if count = 1 then begin for i:=0 to L-1 do begin ArrayLast[i]:=getdataArrayValue(ArrayIn,i); if mode = 0 then begin setLength(OUTPUTS[i],0); end; end; count:=-2; end;end;Statistics: Posted by 23fx23 — 13 Sep 2010, 02:59
Statistics: Posted by gurulogic — 13 Sep 2010, 02:36
Statistics: Posted by 23fx23 — 13 Sep 2010, 01:52
Statistics: Posted by gurulogic — 13 Sep 2010, 01:19