Old 10-06-2010, 11:12 AM   #1
Bernstraw
Human being with feelings
 
Join Date: Sep 2010
Posts: 388
Default JS MIDI plugin : CC vectorpad

This is a X-Y pad sending CC values via the mouse and/or a path of 4 vectors .

https://stash.reaper.fm/v/6684/CC_vectorpad

See video :


Howto :
1) Drag the red point with left button pressed (or right click).
2) "Speed" : when transport is playing, the yellow point follows the white path (based on the beat).
3) "Attraction" : red point's attraction to the yellow point.
4) Press Ctrl to drag all points.
5) Press Shift + left click + righ click to reset the path.
6) Automation : click X-Y sliders and select "param" -> "show track envelope" to record values.
To read recorded envelopes, first set speed and attraction to 0 (only sliders will move).
When CC is not supported, I guess one can use parameter modulation linked to X-Y.

This is my first plugin, so perhaps buggy (I don't fully understand the midi part), so please let me know if anything goes wrong.


Question : is it possible to record an envelope for the plugin parameter that is controlled by the CC coming from vectorpad ?
For now I simply copy paste the vectorpad envelope to the plugin envelope, but I find it frustrating to watch the faders move but no envelope is recorded.
EDIT : the answer is to use Jeffo's MIDItoReaControlPath after vectorpad, to route CC to Reaper's control path so that you can use midi learn and record your plugin's envelopes.
[IMG]http://img838.**************/img838/1240/padtosynth.th.gif[/IMG]
First download MIDItoReaControlPath : http://reaper.mj-s.com/MIDItoReaControlPath_v0.2.zip
Extract and put the dll in your VST folder.

1) Create a track with (in this order) :
Vectorpad --> MIDItoReaControlPath --> VST to be controlled
You can leave the default settings for MIDItoReaControlPath or select Control Change for his second slider.

2) In your VST, tweak a knob you wish to link to X, select param -> learn.
In the learn window, the CC for Y (not X) will appear (Y-CC are sent all the time from vectorpad, a bug to be corrected).
Just change the Y-CC in vectorpad to the desired number for X (CC-20 by default) and close the learn window.
Repeat with another knob for Y : tweak knob, select param learn, change Y-CC back to its default value 21 (or any other), close learn window.

3) Record envelopes :
* right-click the envelope button of your track, select "write" mode.
* Hit record or play on the transport and use vectorpad to control the VST.

The parameter envelopes of your VST should be recorded (as well as envelopes for vectorpad X-Y that you can bypass or delete), if not you may have to record-arm them before you play (like in the video).


Anyway have fun with it !

Update : Press Shift + left click + righ click to reset the path.
Direct link : https://stash.reaper.fm/6684/CC_vectorpad

Last edited by Bernstraw; 10-08-2010 at 10:05 AM.
Bernstraw is offline   Reply With Quote
Old 10-06-2010, 12:31 PM   #2
sly
Human being with feelings
 
Join Date: Feb 2009
Location: Denmark
Posts: 111
Default

Wow what a great Plugin!

Have been sitting all day trying to figure out a way to convert my trackpad to a MIDI controller - tried all sorts of complicated solutions before coming to the JS forum for some other reason - and there it is right in front of me :-D

I almost cried from joy when I discovered that right clicking on the red dot links the mouse to the dot = instant x/y-pad!

Thank you very much. Is there a way to reset the 1,2,3,4-points btw?
sly is offline   Reply With Quote
Old 10-06-2010, 01:07 PM   #3
Bernstraw
Human being with feelings
 
Join Date: Sep 2010
Posts: 388
Default

I'm glad you like it !
Download it again, I updated the file : you can reset the dots with Shift + left click + righ click (but you can always click "edit" -> "Full recompile/reset").
If you have other requests, please don't hesitate.
Bernstraw is offline   Reply With Quote
Old 10-06-2010, 01:08 PM   #4
Jeffos
Mortal
 
Jeffos's Avatar
 
Join Date: Dec 2008
Location: France
Posts: 1,969
Default

I would have like my first JS did that (rather than exploding my speakers )
Quote:
Originally Posted by Bernstraw View Post
Question : is it possible to record an envelope for the plugin parameter that is controlled by the CC coming from vectorpad ?
This might help: http://forum.cockos.com/showthread.php?t=53383, different but also a very cool XY JS ("FoXY controller" by zorn).
Jeffos is offline   Reply With Quote
Old 10-06-2010, 01:16 PM   #5
Reflected
Human being with feelings
 
Reflected's Avatar
 
Join Date: Jul 2009
Posts: 3,294
Default

cool!

keep up
i love those xy pads
if you can make something like the metasurface in audio mulch, that would be super.

it morph between states unlike the standard xy
Reflected is offline   Reply With Quote
Old 10-06-2010, 01:39 PM   #6
Klinke
Human being with feelings
 
Klinke's Avatar
 
Join Date: Jul 2008
Location: Berlin / Germany
Posts: 832
Default

Wow, that's an amazing script. And it works great in combination with my touch screen ;-) Thanks a lot.
Klinke is offline   Reply With Quote
Old 10-06-2010, 02:37 PM   #7
Bernstraw
Human being with feelings
 
Join Date: Sep 2010
Posts: 388
Default

Quote:
Originally Posted by Jeffos View Post
This might help: http://forum.cockos.com/showthread.php?t=53383, different but also a very cool XY JS ("FoXY controller" by zorn).
Thanks Jeffos, I've just tried your MIDItoReaControlPath and I'm a happy man works great, you made my day !
I'm going to answer myself with this in the other thread, for the sake of future users search.


Quote:
Originally Posted by Reflected View Post
cool!
if you can make something like the metasurface in audio mulch, that would be super.
it morph between states unlike the standard xy
Wow, I just looked at the video demo of that, it's great !
Tell me if I'm right : the current "patch" point of parameters is the average of each patch points, the ratio being the distance to the point, correct ? And this would be send via a bunch of CCs too I guess ?
Bernstraw is offline   Reply With Quote
Old 10-07-2010, 08:13 AM   #8
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,677
Default

Good work

I've added it to the Third-Party JS FX Library (MIDI Controllers)
http://forum.cockos.com/showthread.php?t=33795
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 10-07-2010, 09:30 AM   #9
Reflected
Human being with feelings
 
Reflected's Avatar
 
Join Date: Jul 2009
Posts: 3,294
Default

Quote:
Originally Posted by Bernstraw View Post

Wow, I just looked at the video demo of that, it's great !
Tell me if I'm right : the current "patch" point of parameters is the average of each patch points, the ratio being the distance to the point, correct ? And this would be send via a bunch of CCs too I guess ?
seems logical to me.

I created a 4 states morph controller in SynthMaker (modular program, since I don't know programming...)

Reflected Morph 2.02 - https://www.youtube.com/watch?v=tcJJHdElOtw

the formula for few (4-8) states is a bit different..
it is really nothing compare to the flixability of metasurface which offers unlimited points and super easy/fast to use and yet super stable...the only downside of audiomulch is that it doesn't have a vst version :X

if you have enough programming skills to make something like Metasurface, I would love to be a tester...via msn or whatever..

here is a raw presantation I made for metasurface https://www.youtube.com/watch?v=ZNozpJAW9dQ
Reflected is offline   Reply With Quote
Old 10-07-2010, 02:21 PM   #10
Bernstraw
Human being with feelings
 
Join Date: Sep 2010
Posts: 388
Default

Quote:
Originally Posted by DarkStar View Post
Good work
I've added it to the Third-Party JS FX Library (MIDI Controllers)
http://forum.cockos.com/showthread.php?t=33795
Thanks, great thread, I downloaded a lot of JS that will help !


Quote:
Originally Posted by Reflected View Post
I created a 4 states morph controller in SynthMaker (modular program, since I don't know programming...)

Reflected Morph 2.02 - https://www.youtube.com/watch?v=tcJJHdElOtw

the formula for few (4-8) states is a bit different..
it is really nothing compare to the flixability of metasurface which offers unlimited points and super easy/fast to use and yet super stable...the only downside of audiomulch is that it doesn't have a vst version :X

if you have enough programming skills to make something like Metasurface, I would love to be a tester...via msn or whatever..

here is a raw presantation I made for metasurface https://www.youtube.com/watch?v=ZNozpJAW9dQ
This "Reflected Morph" of yours seems to do the job ! Where can I dowload ?

After seeing your presentation of metasurphace I guess the formula surely is this :

V = current parameter value (patch/point P)
V1 ... Vn = parameter value for patch/point P1 ... Pn
D1 ... Dn = distance sqrt(dx^2+dy^2) P-P1 .... P-Pn
V = (V1/D1 + ... + Vn/Dn) / (1/D1 + ... + 1/Dn)

In short each Pi's ratio is : 1 / (Di*(1/D1 + ... + 1/Dn))
When P is extremly close to Pi, this ratio tends towards 1/(Di/Di) = 1 (and others points towards 0).

I've just began to look into JS, so it seems it could be handled via CC messages but I'm afraid this would be far from hassle-free for the user to setup a connexion with a vst (midi learn for each parameter).
The other thing is, it has to go both ways : when you tweak a VST's knob, the value should be read by the JS and then the JS should be able to control the knob back to the VST.
This could be done with parameter modulation linked to parameter if it could go both ways (slave and master) but it can't AFAIK.

The rest of the code should be fairly "easy", the pb really is the ability to link the JS and VST both ways.
But again, I'm a bit new to Reaper and I don't know all the possibilities...
Bernstraw is offline   Reply With Quote
Old 10-08-2010, 06:21 AM   #11
sly
Human being with feelings
 
Join Date: Feb 2009
Location: Denmark
Posts: 111
Default

Quote:
Originally Posted by Bernstraw View Post
EDIT : the answer is to use Jeffo's MIDItoReaControlPath after vectorpad, to route CC to Reaper's control path so that you can use midi learn and record your plugin's envelopes.


Sorry, could you describe in more detail how to do this? I am trying to record a melody on my keyboard while controlling two CCs with my mouse that is linked to the pad.
sly is offline   Reply With Quote
Old 10-08-2010, 09:49 AM   #12
Bernstraw
Human being with feelings
 
Join Date: Sep 2010
Posts: 388
Default

I made a quick video :

[IMG]http://img838.**************/img838/1240/padtosynth.th.gif[/IMG]


First download MIDItoReaControlPath :
http://reaper.mj-s.com/MIDItoReaControlPath_v0.2.zip
Extract and put the dll in your VST folder.

1) Create a track with (in this order) :
Vectorpad --> MIDItoReaControlPath --> your VSTI

You can leave the default settings for MIDItoReaControlPath or select Control Change for his second slider.
If your VSTI is already linked to vectorpad via CC learn, skip to 3) :

2) In your synth, tweak a knob you wish to link to X, select param -> learn.
In the learn window, the CC for Y (not X) will appear (Y-CC are sent all the time from vectorpad, a bug to be corrected).
Just change the Y-CC in vectorpad to the desired number for X (CC-20 by default) and close the learn window.
Repeat with another knob for Y : tweak knob, select param learn, change Y-CC back to its default value 21 (or any other), close learn window.

3) Record :
* record-arm your track + select midi input + monitor.
* right-click the envelope button of your track, select "write" mode.
* Hit record on the transport and play your keyboard and/or vectorpad.

The parameter envelopes of your VSTI should be recorded (as well as envelopes for vectorpad X-Y that you can bypass or delete), if not you may have to record-arm them before you play (like in the video).

Last edited by Bernstraw; 10-08-2010 at 09:57 AM.
Bernstraw is offline   Reply With Quote
Old 10-09-2010, 12:57 AM   #13
sly
Human being with feelings
 
Join Date: Feb 2009
Location: Denmark
Posts: 111
Default

Thanks!
sly is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:07 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.