piz midi plugins (windows/linux/mac)

Official support for: thepiz.org
Post Reply New Topic
RELATED
PRODUCTS

Post

ok... tested with traktor. it works!!!!
i'm not a c programmer but the concept is ok and can be translated in c.
i connected maxmsp to traktor using maple virtual midi ports.
i can say that virtual relative encoders can e even better than hardware ones.
in traktor i can set the sensitivity to 4% while with hardware rotary enc i was using 35% to get a good movement response.

for now i used a "slider-style" relative encoder. you just click the muose button and move to the left or right(obviously you are forced to repeat that movement when the screen space ends- it is enough for scratch but not for other purposes). the speed of movement is translated in midi messages(0=left,127=right). it's a great fun with touchscreen.

now i'll try to realize a rotary-stile enc

if it all will be converted in a vst plugin, the best is to have a piz style resizable interface with horizontal sliders (the best for scratch or stripe display)

Post


Post

Do any of you XT midi gurus know of a midi plug-in that'd transmit a set of values each time it stops receiving midi from before it in the chain?

I'm thinking that it'd send out a midi values to "reset" a plug to a default set of values so that when you stop using a controller from before it in the chain (in my case, the p5 glove) it'd slip back to the values of the preset/patch that you want as the default for that song?

Post

you mean it would remember the last values of every CC that passed through it, and when it hasn't received anything for a certain period of time, it would (smoothly) change those CCs back to defaults? or would it need to reset other parameters as well, which haven't passed through it? i don't know of anything that could do that, but maybe i can make something.
runagate wrote:Image
that's pretty neat. there's something like that on the back of one of my band's cd booklets, but it was made from actual cut up pez wrappers. things are so much easier these days.
wrongtastic, baby
tucson's number one gothic rock band since 1995

Post

-PIKU- wrote:ok... tested with traktor. it works!!!!
i'm not a c programmer but the concept is ok and can be translated in c.
i connected maxmsp to traktor using maple virtual midi ports.
i can say that virtual relative encoders can e even better than hardware ones.
in traktor i can set the sensitivity to 4% while with hardware rotary enc i was using 35% to get a good movement response.

for now i used a "slider-style" relative encoder. you just click the muose button and move to the left or right(obviously you are forced to repeat that movement when the screen space ends- it is enough for scratch but not for other purposes). the speed of movement is translated in midi messages(0=left,127=right). it's a great fun with touchscreen.

now i'll try to realize a rotary-stile enc

if it all will be converted in a vst plugin, the best is to have a piz style resizable interface with horizontal sliders (the best for scratch or stripe display)
try this:
http://thepiz.org/xt/encoder.zip
wrongtastic, baby
tucson's number one gothic rock band since 1995

Post

it works...
some improvements:
- posibility to send a note on\off or cc on\off when cliking left mouse button. it's useful to activate the traktor scratch (i'm testing with it)

- the sensitivity is related to the dimension of the controller. better if it was selectable with a bar.

- in my experiments i used 1ms(i think it is the max limit for midi) as maximum frequency. as soma told me ome time ago, 1ms seems to be the limit of midiplugins. i think that this limit could be fixed as maximum freq (cause higher freq=higher detail, like in hardware enc) and a selection bar could be added to select the minimum frequency. another bar (or better a xy graph like in nicfit control curve) could be used to set the curve of conversion between speed and midi frequency.
curve and minimum frq selectors could be eliminated in the final version. they could be substituted by two or three sensitivity presets...

- you used color change to visualize the speed: deep red and deep green. i think that for a prototype plug a slider like meter is better, something similar to the pan bars in ext2 mixer.

-
the reason why mouse moving is not irectly converted in midi cc is that there is no ifference between fast and slow moving...
but one of the inconvenients of converting speed mouse moving into midi frequency is that speed is not related with the real distance.
for example: if i move slowly from the left limit of the screen to the right one, the plug generates 10 midi messages. if i do the same moving fast it sends 100 cc's or 1000 cc's... this it wrong in theory, because the distance is the same... and it's no good for a real turntable feel.

if the distance factor is too difficult oimplement into the algorithm... the problem can be solved doing precise curve conversion settings.

- if i move rapidly laft and right it works well with large movements but if i make small mouse movements, many direction changes are ignored. you ould make the plug "reset the counter" (i don't know your algorithm) for every direction change, so the first cc is sent. this could be added as an option.

Post

everything you mentioned could be adjustable. this is just as far as i got last night, and i stopped when it seemed to work. the next step will be to make a version with lots of settings for the sensitivity, maximum speed, etc so we can find the best default settings. if i make it less sensitive to speed, then it'll be relying more on distance, which might work better since the edges of the screen aren't in the way. i'll also look into the possibility of a conversion curve.

good idea about using a bar to show the speed.
wrongtastic, baby
tucson's number one gothic rock band since 1995

Post

a completely different concetp that incudes distance couldf be this:

cosidering the minimum refresh rate for mouse-like pointers, a lateny time of (example) 40ms is added.
in the time interval from a mouse movement to the next, a number of midi cc corresponding to the pixels in the space interval (a lower resolution than the display one can be choosen, the pixels represent the "contacts"of a real encoder) is sent.
so, if the mouse has been moved of 10 pixels, 10 cc messages will be sent in a time interval of 40ms...

note: if the max freq limit is 1ms we can send a maximum of 40 cc's in 40ms...

in a possible virtual rotary enc we can onsider that a complete turn contains 360 contacts\pixels or more and do the same of the horizontal enc...

tis conceps can lead to a muh more realistic reprouction of a real enoder, but introduces the latency problem. the bes would be to compare the two alorithms and choose the better one

note: if rotary enc is used and we set a number of 360 "contacts", the cc's that has to be played in an interval must NOT be calculated this way: 360\interval distance. it could lead to inexact values (if we intend to make a good enconder reproduction)
the contacts must be considered as fixed in theyr position.
even in the slider version... we must consider how may contacts are "touched" by the line that goes from two mouse positions.

Post

i could say that the first concept is better for sliders or xy relative pads, and the second is better for rotary enc.

encoder bug: if i move continuously to a direction (out of the screen limit), sometimes the plug keeps moing even if i stop. is it cause of my optical mouse??? i'll try with trackball

Post

could you add the possibility to activate the plugin clicking mid button or sending a certain note to the plug, even if the mouse pointer is out of the plug window?

midipads: could you add TOGGLE mode for note\cc on\off?

Post

ok ok... no encoder bug... it works ok with the trackball!

Image

Post

insertpizhere wrote:you mean it would remember the last values of every CC that passed through it, and when it hasn't received anything for a certain period of time, it would (smoothly) change those CCs back to defaults?
That sounds about right. Rather odd that I haven't asked before, as I've been thinking about it forever.

I mean, how many times have you been using something, say a VSTi synth, that you went to all the trouble to design the patch for (or I guess more likely someone else designed the preset, when thinking of the average user) and you want to fiddle with some parameters live, but want it to return to the sound it was doing in the first place when you're done fiddling?

I hope you enjoy that font :) I kept trying to think of something to give you in thanks for revolutionizing the way I make music, and that's as good as I've come up with thus far. I'll put on my thinking cap.

That site has lots of nice, free fonts by the way.

Post

i really like the simple lfo... its great and i think i wont even need a more complex one....

just one detail that i miss a lot, so i can delete all the other lfo plugs:

-there should be more triggering modes (that dont depend on midi notes) .... it could be triggered / synced to bar start (like the lfo in z3ta+ or psp nitro) .... then using the phase knob you could sync any lfo phase to the bar start :D

another important thing are the synced freqs... 2 Bars is not enough....sometimes really slow modulations are required..... 8 bars ?... 16 would be nicer though... eheh

ive also found a problem while using ext1 .... when i open the simplelfo gui in ext the plug stops sending cc msgs... maybe this is related to the fact that ext1 has problems with vst plugs which are guiless... (the problems ive found in most guiless vsts is that the native gui is not refreshed when you load presets or automate the plugs parameters)

edit : the above testing was done in the vsti version of ext... i dont know if it behaves the same in the standalone version....ill have to check

also...it would be nice if the phase values were shown in degrees

Post

-PIKU- wrote:could you add the possibility to activate the plugin clicking mid button or sending a certain note to the plug, even if the mouse pointer is out of the plug window?

using a note would be easy. good idea.
midipads: could you add TOGGLE mode for note\cc on\off?
yes, i'm planning on something like that.
wrongtastic, baby
tucson's number one gothic rock band since 1995

Post

runagate wrote:I mean, how many times have you been using something, say a VSTi synth, that you went to all the trouble to design the patch for (or I guess more likely someone else designed the preset, when thinking of the average user) and you want to fiddle with some parameters live, but want it to return to the sound it was doing in the first place when you're done fiddling?
i've experienced that many times. that's why i'm definitely going to make this plugin.
wrongtastic, baby
tucson's number one gothic rock band since 1995

Post Reply

Return to “Insert Piz Here”