PDA

View Full Version : Videonics Commanpost hack


MoRpH
9th April 2002, 03:48 PM
After having just been playing around with my new commandpost which I will review tomorrow on vjcentral I have realized that its practically useless for VJ applications as it only works of keyboard shortcuts and thats it due to its installed setup/template app :(

What I was thinking is that since the units are so cheap online @ the mo @ $32 (check the eyecandy list for the URL) I was thinking maybe a coder out there might be able to write an interface software for it to hook it directly into some of the leading VJ apps (resolume, flowmotion, SVi, VJo, etc)

Awax
9th April 2002, 05:10 PM
I have seen it so I don't know it works but I think thru DirectInput you can access it directly.

Should try something... I think that there's an app that tells you want input devices are hooked to your box/laptop (like DXSetup). If you can differenciate your real Keyboard from your CommandPost, you're the King.

MoRpH
9th April 2002, 05:21 PM
Well I'm no programmer so I dunno if I can do that :(

It seems (from the installation) to run on the HID driver..... but as for exactly what data is coming in I'm not sure... I wouldn't imagine its just button/keyboard presses from the way you map the keybaord shortcuts to the buttons/t-bar/jogwheel/joystick.... for some more data look here http://www.focusinfo.com/products/commandpost/commandpost.htm

Awax
9th April 2002, 06:40 PM
I'll send you the soft and so you will be able to tell me ... I a bit broke right now so I won't buy it for at least ... 10 years ? (I need a LOT of $$)

robotfunk
9th April 2002, 07:42 PM
hmm i said this before ... from the specs it looked like all it did was emulate keystrokes ...
probably the only way too to be able to control all existing video apps with it. It would be hard for a developer of such a control surface to convince adobe and others to implement it ...
the keyboard thing is kind of smart in one way and kind of useless in another.. it is probably cheap for a good reason.

remember a T bar is just a kind of fader .. with a bit of soldering you could knock up your own custom ultimate vj soft surface.
www.ucapps.de has a few projects you can build yourself that would be easy to customize for your needs. MIDI seems a logical route , more and more VJ Apps implement MIDI in some way and its an existing standard ( please no new ones )
plus you could control tons of other (mainly music related) things with it.

MoRpH
10th April 2002, 01:48 AM
Awax, that would be great.... if its small enough just attach it to the thread or email it to morph@vjcentral.com

Jilt yeah I know about all the others I have done a lot of research into controllers and i'm aware of the midi situation. However as I said I don't think the unit itself just sends keystrokes as you have to set them (which keystrokes are assigned to which bit of the controller) up in the controller app.

Hmmmm brilliant idea..... once we know the output of the unit, maybe we could actually do a midi-joy type program for it to let it output midi.... now that would be sweet

wellREDman
10th April 2002, 10:46 AM
I've been following the command post thread with interest, the reason being we use a perception card for our performance backbone, which has the advantage of being broadcast quality, rock solid etc, the downside is that the native gui does not allow us to have the control we would like for the features we know the card is capable of such as rev play, speed change on the fly,in and out points
also scratching, although possible is fiddly. my question is this,
we have the scripting details for the controls, but the only keyboard shortcuts are play and stop, can the commander be made to control our beloved PVR?

MoRpH
10th April 2002, 10:56 AM
Well once I get this program from Awax and we establish what is actually being output by the controller, we can take it from there or you may be able to write something yourself with this info. Keep your ears open and your input would be great :)

sleepytom
11th April 2002, 02:32 PM
All the functions you want to have on your perception can be done with VJamm Pro - it was spacificaly designed to work on the PVR as thats what the edit suite at camart was.

I know that its too expensive (thanks morph) but in this case it really is the only thing that will work - with no extra programming or development costs.

i'm sure you could come round and check it out sometime

MoRpH
12th April 2002, 04:56 AM
Hehehe.... no probs tom :)

Awax
12th April 2002, 08:45 AM
Morph :
OK, WeekEnd starts tonight and my girlfriend is away for the evening.
I'll write you the small soft that'll list the DirectInput devices available (less than 100 lines of code I think). If you can see the CommandPost, then everything is possible. If not, you're fucked up (too much hack to do).


If you want to know :
DirectInput is part of the DirectX architecture : direct access to multimedia devices. When using DirectInput, you register yourself as "listening" to a particular device and event coming from it. You can also enumerate available devices. Each device exports a list of available event and their type : bouton, axe.
According to me, the CommandPost is exporting 18 buttons (15 + 1(joy) + 2 (jog)) and 4 axes (fader, shuttle and joy x2). We'll see tonight ...

wellREDman
12th April 2002, 09:49 AM
cheers tom,
trust me vjamm pro definately is on our wishlist, but we really cannot afford it at the moment,(unless u do some kinda hp:p )
would def like to come up to new england house and check it out at some point tho,
what excites me about the commander s the hardware aspect, I just am more comfortable with physical knobs and buttons than mouse etc. prolly my live musician roots showing:jump:
which is also why I'm in need of help turning scripts into usefullness, I'm in a very small minority, a vj who is not very computer savvy, my introduction to visuals followed fairly hard on the heels of my introduction to computers , so I'm on nearly the same learning curve for both( the rock world can be very insular)

Awax
12th April 2002, 10:51 AM
Here's the soft : lists available devices and shows their caps.
Written in less than 300 lines but most of it is UI. Device data collection is around 10 lines : I LOVE DirectX.
I did it this morning, from 10AM to 12PM (GMT+1), at work : most of the time was DLing and installing DirectX SDK :p

Just DL, unzip and run the prog ...

NEED : DirectX 8.x

PS : hope it'll run on your box ... ;)

(7PM GMT+1)
PPS : now I'm back home, the app runs perfectly on my own box. Shouldn't be a prob on yours as long as you have DX8.x

(Monday 9:15 GMT)
Updated the soft so it can detect "hidden" devices :
"Fictitious device created by a device driver so that it can generate keyboard and mouse events." It appears in "Device category : xxxxxxx (hidden)". It might help detect the CommandPost. Just reDL the soft.

(10:30 GMT)
Lastest version ...

MoRpH
12th April 2002, 06:09 PM
Cool, thanks a bunch :)

Just downloaded to my desktop PC tonight..... just home from a night out of schmozing for gigs and getting drunk on the promoters....

Will try on my laptop with commandpost installed first thing in the morning and get back to you :)

Awax
15th April 2002, 08:26 AM
Updated the soft. Read the post above and reDL the soft.
BTW, I should have included a "Save data" option so it could dump to file all the datas collected.

... ready in fives minutes ? :nod:

(10:30 GMT)
Done !!! The file attached above is the lastest version.
You can now save the data to a file.

Awax
16th April 2002, 10:24 AM
Morph ran the soft on his laptop and here's the output.
Let's analyse it :
Product Name : HID-compliant consumer control device
Instance Name : HID-compliant consumer control device
DevType : 0x00010011
Capabilities :
Flags : 0x00000005
DevType : 0x00010011
Axes : 5
Buttons : 16
PoV : 0
FFSamplePeriod : 0
FFMinTimeResolution : 0
FirmWare revision : 0
HardWare revision : 0
FF Driver version : 0

Product and instance name : not a mouse neither a keyboard, a rather good news :)
DevType : 0x0011 => general Device, no category ... don't mind.
Flags : 0x0001 : Attached - "The device is physically attached". (hope so :))
0x0004 : Emulated - "If this flag is set, the data is coming from a user mode device interface, such as a Human Interface Device (HID), or by some other ring 3 means. If it is not set, the data is coming directly from a kernel mode driver". (Quote from Microsoft)
What is an HID ?
Human Interface Device. A USB class representing devices that enable a human to control a computer.
Axes : 5 - great : tab, jog, shuttle, joyX, joyY
Buttons : 16 - great again : 15 buttons + joyButton
PoV : 0 - don't mind
FF : force feedback - none - don't mind (FF TBar could be fun :D)


So as a conclusion, this device is an HID, with 5 axes and 16 buttons. This device could be accessed without any prob thru DirectInput. Microsoft HID is based on official HID specification. This is a specification from USB forums for USB Humain Interface Devices. Accessing an HID could be done by writing your own driver or just simply by accessing it thru DirectInput.

Writing your own driver might be useful if you want to had full CommandPost support to an already existing software. I think (but I'm not sure) that the best you can do is translate messages from the CommandPost (like axe mouvement or buttons action) into keyboard action or mouse action, like bind a button to a click to a specific location (like the UI start/stop effect button). I think it's a bit heavy cos it's very low level and each app needs its driver and only fonction accessible thru GUI are available.

The other approch is thru DirectInput. But your software should include DirectInput support and a binding between DirectInput event (axe mouvement or button action) to an internal event (select movie, activate effect, ...). I don't know if such an app already exists but the only thing I can say is that I already thought of it for mine. So, be patient or/and ask other VJ software developer to incorporate DirectInput support.

MoRpH
1st May 2002, 04:07 PM
Awax would it be possible to tape this controller data stream with PD???? or maybe convert it to assignable midi like the toaster (http://www.spacetaxi.de/sf/toaster.html) software that basically just takes joystick data and converts it to midi.

See I wanna use the commandpost with PD with this other thread...... have a look there http://www.vjforums.com/showthread.php?s=&threadid=143

Awax
1st May 2002, 05:33 PM
2 ways :
- write a PD DirectInput plug in : easy if the MIDI input plug in is open source
- write a DirectInput to MIDI wrapper : rather hard but interesting on a computing approch. It needs a virtual MIDI input device and a wrapper to map DirectInput event to MIDI channels and pass them thru the virtual MIDI input device.

but the toaster software should work cos the command post is just a rather strange joystick (in a DirectInput approch, a keyboard is a joystick with a bunch of buttons and no axes).

MoRpH
1st May 2002, 05:41 PM
Well you you be willing to have a go @ either?? or even both??? so for the midi one something like the toaster soft would be right.... then hook that up with midiyoke or Hubi's into your software :)

Awax
2nd May 2002, 09:47 PM
I'm a bit busy right now (and for the next few months ...) but maybe later. But if some one want to do it, I can help explaining him what he'll have to do ...

wellREDman
7th June 2002, 10:15 AM
hey morph,
do you have a copy of vjamm, if so does the command post work with it?
yes we finally bought vjamm pro for our pvr and it rocks ....scratchable broadcast video waheyy
:nod:
now i just need a knob to control it

infopocalypse
10th June 2002, 08:52 AM
I've got a project merge in a few days with the guy that I'm currently writing my software with, and one of the things that we'll be talking about is using that device. GUI handling is going a little bit quicker than we expected, so adding the extra device might be possible. My perusal of the device was that part of the three wheels moved the mouse around X and Y and did a left click. One of the tests we'll be performing is whether or not the T-bar is actually a mouse wheel. If it's a mouse wheel the process will become a helluva lot easier. If not, one of the things we're aiming for is support for a lot of inputs with input reprogramming on the fly (i.e. map a range of settings for a filter to a range on a MIDI keyboard or a range on a computer keyboard). Using DirectInput we could do that, but I'm not sure if we're going to want to go that route yet. I would really like to provide support for this as we're going to be able to software-duplicate an MX-1, and it would be really cool if we could duplicate some of the hardware feel of it too.

MoRpH
10th June 2002, 09:03 AM
Sounds wikkid info, keep us updated.... I presume this is going into heyVJ???? any chance of just a commandpost/HID to Midi quick software hack first???

Linus
10th June 2002, 09:54 AM
hi

sounds like my dreams come true :)
now getting vj software and hardware working together is a good idea !
but i have only an other mixer but seems that i have to look more often to ebay for an mx-1:D

great job !!

Linus

infopocalypse
10th June 2002, 06:31 PM
AS we're treating MIDI one way, Keyboard and mouse totally different, mainly because we're going a lot lower than directInput to get stuff, mainly because, in a very backwards way, using as little DirectX as possible will make the program easier to port.

P.S. DirectX tends to be really inefficient and slow, especially its filters.

James

infopocalypse
10th June 2002, 06:33 PM
And if any programmers want to shell out fhe $150 to Focus for their tech specs on the matter, be my guest.

MoRpH
11th June 2002, 04:23 AM
:sad: I didn't think it would be that hard I mean things like the toaster and midijoy ain't that complex.

WTF I thought they had stopped making the unit or @ least weren't promoting it anymore, why would they charge that much for some tech docs on somehting there not making anymore (BTW ppl there are still MORE than plenty around to buy esp. online...... )

infopocalypse
11th June 2002, 05:07 AM
MIDI itself isnt hard... i can be done in various ways, DirectInput being one of them. Like anything else, it's doing it right that tends to be the problem.

mist
25th January 2008, 08:29 AM
i couldn't find how to DL this soft =( and i need it badly =)
can anyoine email me a commandpost midi software at info(at)mist(dot)org(dot)ru ?

sleepytom
25th January 2008, 08:35 AM
the command post midi software never existed!

i'm really properly amazed if you have a command post which isn't broken - it's the worst piece of hardware i've ever had the misfortune of spending money on - plastic shite that breaks as soon as you look at it.

mist
25th January 2008, 08:41 AM
ok, than i misunderstood smth :)
just thought i could use this hardware.

FractalStar
25th January 2008, 07:31 PM
i used joystick driver in vjo to connect wiimote might be usefull for you see vjo forum

DrEskaton
3rd February 2008, 05:48 PM
Leopard Quartz Composer has a HID input node, should be very easy to make a qc patch which listens for the HID inputs and outputs midi instead.

I imagine it would be very easy for someone in the pc land to make a max/msp applet which just listens for the HID signals and outputs midi.

MoRpH
4th February 2008, 12:51 AM
the command post midi software never existed!

i'm really properly amazed if you have a command post which isn't broken - it's the worst piece of hardware i've ever had the misfortune of spending money on - plastic shite that breaks as soon as you look at it.

Mine still works, mind you its been sitting in the cupboard since not long after this thread died the first time.