Quick Sign In:  

Forum: VirtualDJ Plugins

Topic: Virtual dj and Open Stage Control get info from VDJ (bpm tempo etc)
Hi,

I create an interface for Traktor dj in Open Stage Control https://openstagecontrol.discourse.group/t/traktor-pro-3-interface-made-with-open-stage-control/1826

I used a hack to get bpm of the track that is loaded via qml (traktor send info in json to a webserver listening a post request.)
For other data I used midi out from traktor (ex play state, phase etc...).

I want to create the same interface for Virtual Dj but VDJ not send midi or other infos.
For exemple I need bpm because I calculate the new bpm when I change pitch %.

I know plugins of VDJ can run command and get infos like bpm , title, play state, loop etc... But I don't know how to trigger a plugin at loading track for example

I succesfully compile a plugin for vdj that get bpm and send curl post request to open stage control but I need to run at every loaded track in deck.

More generally, if a mechanism in Virtual Dj allowing to send data ?
Ex: I change the pitch with mouse and it send pitch slider info to my Open Stage Control interface.


My skills in C++ are limited the last used of the language was while my studies 15 years ago

If someone can help me.

Thanks


 

Posted Fri 29 Oct 21 @ 10:01 am
locodogPRO InfinityModeratorMember since 2013
 

Posted Fri 29 Oct 21 @ 11:03 am
Hi,

I don't see VDJ can send midi when button or slider is move to another system.

Ex: I move the volume slider for deck 1 I can't get the position of slider inside open stage control
 

Posted Fri 29 Oct 21 @ 12:34 pm
NicotuxHome userMember since 2014
Yes this is not as simple
take a look to 'freestyler custom midi mapper', this is a good start point - may need pro account or 10min eval time (enough to test)
can be found in settings -> EXTENSIONS -> Other -> Custom Mappers

The other hand you may want try network control - needs pro too eval period may be enough
can be found in settings -> EXTENSIONS -> Other -> Other
https://www.virtualdj.com/wiki/NetworkControlPlugin.html
(never be able to get an usable answer due to CORS but you may be more lucky.aware about these features)

 

Posted Fri 29 Oct 21 @ 1:01 pm
locodogPRO InfinityModeratorMember since 2013
network control is an autostart so needs prolicence.
 

Posted Fri 29 Oct 21 @ 2:56 pm
VirtualDJ can absolutely send MIDI data to "anything"
The catch is that you have to create a "device" definition so that VirtualDJ knows what data to send on what MIDI message.
Also VirtualDJ can send master BPM via MIDI clock. But that also requires a MIDI device (virtual or real device doesn't matter)

So, in a nutshell:
1) You need to create a virtual MIDI device (that VirtualDJ can then access and send/receive data from it)
2) You need to create a device definition where you will instruct VirtualDJ what MIDI messages to send
https://www.virtualdj.com/wiki/ControllerDefinitionMIDIv8.html
3) You need to create a mapper for the above device to tell VirtualDJ what data to send for each MIDI message/element
4) Finally, you need to capture that data on your app

Take a good reading of the following thread:
https://www.virtualdj.com/forums/218737/VirtualDJ_Plugins/The_Advanced_Freestyler_integration_thread.html
That's exactly what's happening there.
We setup a virtual MIDI device that is used by VirtualDJ to control Freestyler (a DMX program) via MIDI.
If you download the plug-in and open it with an XML editor, you will be able to figure out most of the work you need to do.
Just keep in mind that SENDING data from VirtualDJ to a device = LEDS, BARS e.t.c. elements.
Reading data from the other software = buttons, sliders e.t.c.
 

Posted Thu 25 Nov 21 @ 10:27 am