What is the preferred technical way to transport your vdj skin to a diy midi controller with one usb connection (like the denon and Pioneer controllers)?
Gr Marcel
Gr Marcel
Posted 6 days ago @ 5:05 pm
There's no preferred way.
The "easiest" way would be for that controller to contain a screen that's shown as a display under windows/mac os.
Now the way AlphaTheta (Pioneer) and InMusic (Numark, Denon, Rane e.t.c.) does it is different:
They have a microcontroller that draws graphics on the screen based on the MIDI data they receive.
So, for instance, they "read" the value of let's say MIDI note 0x30 at channel 0 that can take up to 128 values (o to 127) and then, based on that value they set the JOG Rotation Disc at an angle.
They follow pretty much the same logic for all the elements they show up on screen.
For more complex displays, they follow exactly the same logic, but they use HID protocol instead which has some advantages over MIDI at sending big chunks of data / complex data.
The "easiest" way would be for that controller to contain a screen that's shown as a display under windows/mac os.
Now the way AlphaTheta (Pioneer) and InMusic (Numark, Denon, Rane e.t.c.) does it is different:
They have a microcontroller that draws graphics on the screen based on the MIDI data they receive.
So, for instance, they "read" the value of let's say MIDI note 0x30 at channel 0 that can take up to 128 values (o to 127) and then, based on that value they set the JOG Rotation Disc at an angle.
They follow pretty much the same logic for all the elements they show up on screen.
For more complex displays, they follow exactly the same logic, but they use HID protocol instead which has some advantages over MIDI at sending big chunks of data / complex data.
Posted 4 days ago @ 9:02 am
Hi thnx for your reply.
For instance how does the main computer, where vdj is running, see the screen of a Denon Prime, as its only have an usb connection.
I have seen vdj had a skin for this controller. Is this transported via HID?
Mvg Marcel
For instance how does the main computer, where vdj is running, see the screen of a Denon Prime, as its only have an usb connection.
I have seen vdj had a skin for this controller. Is this transported via HID?
Mvg Marcel
Posted 4 days ago @ 11:01 am
Denon Prime is one of the few exceptions where the screen does not have a predefined layout and is not controlled via predefined messages. Instead VirtualDJ uses an API provided by Denon to draw graphics in the display. The API is made by Denon and it's proprietary. VirtualDJ only knows what data to send (and how) in order for the API to draw pixels on screen. Of course the data structure for this case is the one the API requires, and it's not up to VirtualDJ to decide how to do it.
So, VirtualDJ makes some API calls to the drivers of Prime and sends the data for the screen.
Then the drivers of the device transfer those data on the screen, and the firmware of the device transforms the data to pixels on the screen.
Somewhere among this process (on the driver, or on the firmware of the device, or on both) a transformation is done so that the data corresponds to an image.
So, VirtualDJ makes some API calls to the drivers of Prime and sends the data for the screen.
Then the drivers of the device transfer those data on the screen, and the firmware of the device transforms the data to pixels on the screen.
Somewhere among this process (on the driver, or on the firmware of the device, or on both) a transformation is done so that the data corresponds to an image.
Posted 3 days ago @ 10:55 am
A,h, i see. So it`s i some sort of closed protocol not availble for the public. Also in the case of the Traktor Kontrol S8?
Is there an option to minimize the main window when opening a second window inside the main. Just like the floating browser from the Blocks Skin. This way it can be easy to switch between multiple floating windows on a second (remote) display.
Of course this remote screen have to be connected to your display adapter port, but the laptop display can be closed during the virtual dj sesion and still use the floating windows.
I found that switching between skins is to slow for live performance.
gr. Marcel
gr .Marcel
Is there an option to minimize the main window when opening a second window inside the main. Just like the floating browser from the Blocks Skin. This way it can be easy to switch between multiple floating windows on a second (remote) display.
Of course this remote screen have to be connected to your display adapter port, but the laptop display can be closed during the virtual dj sesion and still use the floating windows.
I found that switching between skins is to slow for live performance.
gr. Marcel
gr .Marcel

Posted 2 days ago @ 6:02 pm
Marcel mdg wrote :
A,h, i see. So it`s i some sort of closed protocol not availble for the public.
No, it's not. If it was you wouldn't know /be told about it.
It's just that there's no much need for it that it fall into obscurity.
Marcel mdg wrote :
Also in the case of the Traktor Kontrol S8?
Traktor screens follow the same approach as Denon Prime screens. They are not understood as displays by the OS as the screen on Reloop Touch mentioned above.
Traktor screens require VirtualDJ to send data to an API and the API does the rest.
As I mentioned above, those APIs are proprietary and closed.
Marcel mdg wrote :
Is there an option to minimize the main window when opening a second window inside the main. Just like the floating browser from the Blocks Skin. This way it can be easy to switch between multiple floating windows on a second (remote) display.
Depending on what you're after there's the minimize action, but also you can hide windows by the same action you used to show them.
So you can use show_window 'alpha' & show_window 'beta' and if let's say window 'alpha' is visible, it will hide it, while showing window 'beta'
Marcel mdg wrote :
I found that switching between skins is to slow for live performance.
Yes, because you shouldn't have to.
BUT (and that's a big but)
What you're after is not common nor consisted "average" user case.
The tools to do it exist. But your' looking at the wrong tools IMHO.
You don't change skins/windows in order to change "views"
You change panels.
This means that eventually you need to get your hands dirty and design your own skin / skin window.
Even if you just have to "copy" elements from others and other skins and put all this together in one package.
Posted 2 days ago @ 6:40 am