Ingresar:     


Forum: General Discussion

Tópico: VDJscript Questions

Este tópico es antiguo y puede contener información incorrecta para la nueva versión.

I'm doing a project at my school for my usability class were I'm trying to create a program that lets you control virtual DJ with a kinect and a GUI that works well with the kinect. I want to use vdjscript for the project because of how robust it is and because it's the only way to really interact with the program. However, there seems to be no way to directly interface with VirtualDJ so that I can call commands from my program(I'm writing this in C#). That leaves me with 3 options.

1: Use only keyboard commands (I wouldn't be able to get info from virtual dj to put in GUI and would severely limit scope)

2: Create a driver for my program, then write a mapping and definition for Virtual DJ\

3. Use a virtual HID to act as a middleman between the program and virtual DJ

All of these option are severely out of my scope, and the latter 2 I don't have enough time to research and set up. Is there anything I've overlooked, any sort of plugin/program/developer console that I can use to achieve the effect of communication between the programs? Anything that can help would be appreciated.
 

Mensajes Tue 18 Oct 11 @ 11:08 pm
 

So the only way would be through plugins? Should I make my entire program a plugin or add a plugin component to it? And how would I set up the plugin to let me call vdjscript actions on the program?
 

I don't know exactly what you want to do, but the only way to interact with VDJ through VDJ script is the plug-ins. You can code a plugin for VDJ that will also call external functions on your main app. Just read the SDK to see how you can send commands on VDJ.
 

I'm trying to do things like pause/play with a gesture, scratch with left or right arm palm down depending on which deck you want, and use effects, samples, or cues with gestures as well. That's all easy enough to set keyboard commands for and have my program press the keyboard button, but then there are things like loading up the song I've selected in my kinect GUI to the right deck that can't be predefined. And if I want to get data to populate the GUI, I need to be able to call actions like "get volume" or "get pitch value" I also can't use the keyboard. So I'm looking for or need to make something that I can send command for vdj to execute and can grab data from that it got from vdj.
 

Alright so the plugins do look perfect for this. After talking to my teammates, we've decided to write it in c++ because we can just make calls to the .dll from the c# project and because it would be the easier option. The only problem is we're not very familiar with c++, I've personally only had one class using it. I'm looking at the basic plugin header file and have almost no idea how to implement it; I'm not even sure how exactly you make calls with VDJscript using it, only that there's a struct for declaring what type of variable you're trying to get. I just wanna get the plugin to the point that I can write functions for different vdjscript commands and macros, is there any tutorial or example code for this you could maybe link me to?
 

Hello! I did this very thing! It was a lot of fun to figure out.
Here's the link to the video I made - http://www.youtube.com/watch?v=qm3cYeTgwFw&a.

I've copied the details from the comment here, hopefully it'll help you get started. Once you know VDJscript you'll be able to extend it much more I am sure!!

----

Using the OpenNI framework and the FAAST toolkit I used my Kinect to map gestures to keypresses in the Numark Cue (Virtual DJ) software.

I mapped left arm forwards and right arm forwards to play, left arm out to cue, left arm up to swap active deck, right arm up to sync (auto beatmatch). The lean forward triggers the beatgrid effect module and the side to side leans control the crossfader. To make it easy for the demo I preloaded tracks and set a second cue point to mix from, triggered by the right arm across the body.

The tracks are Armin van Buuren "Drowning (Avicii Mix)" and Kyau and Albert - "On The Way (Original)".

If you want to try yourself, download the Virtual DJ home free edition from VirtualDJ.com or the Numark Cue 5 20 day trial (what I used). You'll need to adjust the default key mappings to match what you set up in FAAST. Get FAAST from http://projects.ict.usc.edu/mxr/faast/. I used one standard Kinect (Xbox 360 add on).

Here are my mappings:

left_arm_up 20 key_press tab
left_arm_forwards 20 key_hold shift
right_arm_forwards 20 key_press p
right_arm_up 20 key_press q
left_arm_out 20 key_press c
lean_forwards 20 key_press e
lean_left 20 key_press z
lean_right 20 key_press x
right_arm_across 20 key_press j

Have fun!
 



(Los tópicos y foros antiguos son automáticamente cerrados)