True Vector Pad

Post any examples or modules that you want to share here
Post Reply
tulamide
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

True Vector Pad

Post by tulamide »

This one was in my head for quite some time now, but I never found the time to build it.

There are some x-y-pads out there, allowing to control 2 axes at once. What I didn't see (but may already exist) is a vector pad. A vector is a mathematical construct that does not have a certain position. Instead it is defined by its length and its angle against a [0,0] center point.

In this control, I offer today, you move a spot over a disc and the control reports the length and angle of the vector (against the center of the disc) in normalized values. That means 0 to 1.

Some examples:
If you move the spot along the x-axis to the right, you'll get length = 1, angle = 0
If you move the spot along the y-axis to the bottom, you'll get length = 1, angle = 0.25
If you move the spot along the x-axis half way to the left, you'll get length = 0.5, angle = 0.5
etc.

What is it good for?
Besides everything you can do with a x-y-pad, it also allows for things like a velocity-sensitive endless dial, or if you have a couple of mono outputs you can use it to define a sound's 3D-position (for example halfway backwards to the left or full forward right). But I'm sure you will find many more applications for it!

EDIT: Forgot to mention that you can set properties like colors and you don't need to re-calculate the control size. Just resize the view and the control will grow or shrink accordingly (what would a true vector pad be without vector graphics? A joke.)
Attachments
true_vector_pad_r2.fsm
newest version
(9.12 KiB) Downloaded 1280 times
true_vector_pad_r1.fsm
obsolete
(4.62 KiB) Downloaded 1315 times
Last edited by tulamide on Mon Dec 28, 2015 6:52 pm, edited 1 time in total.
"There lies the dog buried" (German saying translated literally)
User avatar
Spogg
Posts: 3368
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England
Contact:

Re: True Vector Pad

Post by Spogg »

I love it!
Straight into my toolbox.

Could I please make some requests? Hope so.

I would like the module to support preset parameters, like a regular knob. Load a preset and it goes to the stored vector.
Would it be possible to define the angle for the zero value so I could, for instance, have 0 degrees at the top. I realise this could be done with maths prims but it would be nice to have it incorporated.
Again, this could be done with maths prims, but it would be nice to be able to define the max and min values for the vector in the Properties view.
I would also like to have a default specified so maybe a mouse right-click would go to the default.

I realise that I'm probably asking a lot and I can't help due to no Ruby skills, but I do think users like me would appreciate these extra features.

Many thanks for sharing this and even if there's no more changes to come it's a great module.

Cheers

Spogg
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: True Vector Pad

Post by martinvicanek »

I was going to suggest the same features and had even thought of adding them myself, but now I am sure tulamide will post it way before me.
tulamide
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: True Vector Pad

Post by tulamide »

Guys, thanks a lot for the feedback. I wish there would be even more.

I hope I made all changes you suggested, Spogg, and I also hope that I didn't create bugs on the way ;)

r2:
- added options to set a min and max value for the vector length
- added option to set a default value for the vector length (ctrl-lmb)
- added option to set a maximum number of digits for the length value (this also rounds)
- added options to set a min and max value for the vector angle
- added option to set a default value for the vector angle(ctrl-lmb)
- added option to set a maximum number of digits for the angle value (this also rounds)
- added option to select from 4 different starting points for the vector angle (top, left, right, bottom)
- added preset management
- added behavior: double click with lmb sets the vector to the center

Enjoy!

I want other people to give feedback as well (that means issues, bugs, ideas for improvement; no thank-yous needed), I have a few more ideas, but it is a lot of work, and I am not willing to invest the time for a control that only 2 people will really use!
"There lies the dog buried" (German saying translated literally)
Post Reply