Vector Joystick Assignment | Using the RackAFX GUI Designer | Forum


Please consider registering

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —

— Match —

— Forum Options —

Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
Vector Joystick Assignment
October 10, 2015 - 4:15 pm
Member Since: September 27, 2015
Forum Posts: 10
sp_UserOfflineSmall Offline

Hi Guys!

I'm putting the finishing touches on an experimental plugin and was just wondering how I can assign the Vector Joystick to manipulate parameters already in the plugin.

For example, if I wanted to assign the X - Axis (or ACMix as it's listed) to control the Pan parameter (which has values from -1 to +1), how would I link them up? I've read that the Mix parts of the function spit out a value of 0 ---> 1, I'm just not sure how to make use of that info.

Help! SmileSmileSmile


October 10, 2015 - 5:38 pm
Member Since: January 29, 2017
Forum Posts: 690
sp_UserOfflineSmall Offline

Hi Z

The joystick is one of the only controls that does not link directly to an underlying variable in your plugin (the only other controls that behave the same way are the assignable buttons, B1 - B3).

The joystick delivers its control change information to:

joystickControlChange(float fControlA, float fControlB, float fControlC, float fControlD, float fACMix, float fBDMix);

And, yes the AC and BD mix variables are 0 --> 1; in order to map them to a variable, you need to convert the unipolar value to the range of values you need for your control. The easiest way to do this is to call the built-in helper function (from pluginconstants.h)

inline float calcDisplayVariable(float fMin, float fMax, float fVar)

This function converts a normalized (0 -> 1) value in fVar to a mapped value for your control, You supply the fMin and fMax values for your particular control, in this case it would be fMin = -1 and fMax = +1

Perhaps a simpler option would be to use the Trackpad (aka XYPad) in the GUI Designer. You can select the two variables to map to X and Y and the conversion is all done automatically for you.

The Vector Joystick is really there for synthesis plugins that want to incorporate vector mixing from the Korg Wavestation and Sequential Circuits Prophet VS family of synths.

- Will

October 10, 2015 - 5:45 pm
Member Since: September 27, 2015
Forum Posts: 10
sp_UserOfflineSmall Offline


Awesome answer, as always!

I was actually intending on using the XY-Pad, but I wasn't sure if that and the Joystick were one and the same since their properties look similar.

I'll give this a go right now and let you know what happens. Thanks so much! Smile


October 10, 2015 - 5:54 pm
Member Since: September 27, 2015
Forum Posts: 10
sp_UserOfflineSmall Offline

I'm an idiot for not trying that in the first place, worked like a charm. Thanks Will!

I have one final question while we're on the subject. Is it possible to import a custom image for the XY Pad, or to change the Background and Puck to images outside RackAFX? I've rendered a custom grid and would really like to use it instead of the current scheme that's in place.


Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
3 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Chaes: 56

Skyler: 48

StevieD: 46

Derek: 46

Frodson: 45

Peter: 43

TheSmile: 43

Nickolai: 43

clau_ste: 39

jeanlecode: 37

Member Stats:

Guest Posters: 1

Members: 775

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 846

Posts: 3353

Moderators: W Pirkle: 690