Gamepad control for resolume

FFGL, OSC, GLSL. If you like abbreviations, this is the forum for you
Post Reply
xangadix
Met Resolume in a bar the other day
Posts: 1
Joined: Thu Mar 07, 2013 01:44

Gamepad control for resolume

Post by xangadix »

Years ago I was building joystick controls for veejaying with visual jockey, now as (almost) nobody uses that anymore, I ran across a program called oscJoy, which maps a joystick to osc. Very fast too. Faster then you're usual midi conversion. So I thought, heck, why not plug the 'ol gamepad into Resolume instead. so i set out to start a nice little openframeworks project to 'map' the output of oscJoy to Resolume, allowing control with a gamepad.

But after I got it to work, I wanted to do something useful with it, otherwise this would have been another "See! I got this to work"-thread, and I am aiming a little higher. Now, after a month of tinkering I think I got it to a point that I can share it with my fellow veejays, so I packed a little rar-file, with the necessary files for you all to play with at http://xangadix.net/oscRemapper/oscRemapper.rar

Download and unpack anywhere you like and click on one of the two .bat files (sorry mac users, we're working on a mac version)
This should open a few dos boxes, that show listings of joystick input. Now switch on your osc in Resolume (on the default port 7000) and you should have input, try moving your right pad around.

the basic controls, on a firestorm dual analog 3, which I am using should be as follows;

right pad allows you to 'scroll' through your deck, left right to switch clips, up down to switch layers, click on the right pad (it's a button too) selects a clip in the layer. Right pad and hat should do a basic x/y fade (x for layer 2, y for layer 1).

front buttons should allow for forward/backward switch, random jumping, reset video (goto time 0) and pause video on the active layer

But wait, there is more; pressing the top left button (one of the blue ones on the top side on a firestorm) should allow for control of either active-layer (default), active-clip or the whole composition. That is to say, the front buttons will either forward/backward, pause, random jump on specific clips, layers or the whole composition at once.

Pressing the bottom left button on top (also one of the blue ones on top) switches between 'mix modes', the default is, as said, an x/y fader, but I've also worked out a '4 mix clip', which fades and switches 4 clips while rotating the left pad or hat, and a 'linkage' which assigns the left pad or hat to the first two dashboard links. One of the dos boxes should give you a bit of feedback on this.

The buttons on the bottom of the gamepad either empty the active-layer (I might switch to bypass) or set the active-layer to solo.

PS2/3 controllers should work fine, but I haven't test them (yet). But I like the firestorm better and it should be available under 20 bucks :p

How does this all work?
Well, oscjoy sends out osc (open sound control signals) signals like "/oscjoy.0.button.4", etc. I've 'remapped' those to resolume addresses like "/activelayer/video/position/values >> 0", so you are starting up oscJoy, which reads the joystick-data and sends those signals to the reMapper on port 6666, the reMapper then relays the signals in a Resolume-friendly-format on port 7000 (default port).

hence the name, "reMapper".

Theoretically this would allow for multiple joysticks and for hooking up your joystick to another computer to control your Resolume on your first. Also the reMapper would work with other devices that allow for osc output, so you can combine a phone (control!), joystick and midicontroller if you like.

I'm still tinkering with better interfaces, but this one works pretty fine, if i say so myself, but your comments and ideas are much appreciated.

if you want to tinker along, get the ofs code at github,
https://github.com/xangadix/oscRemapper

working on a release file here: http://xangadix.net/oscRemapper/

Post Reply