Quick Sign In:  

Forum: VirtualDJ Skins

Topic: VDJ Custom Skin Implementation on Midi/HID Devices
Hello All!
I am trying to add 2 screens to a DIY midi controller through 2 methods:

External HDMI port

This should be easy, as it a lot of different options are detailed in a thread here: https://www.virtualdj.com/forums/235093/General_Discussion/Undocking_a_Panel___.html


Arduino controlled LCD/OLED display

This is the real question: I want to have a small screen displayed on the platter of the controller I am creating (like the ddj-1000 etc), and while I say arduino, I am open to any and all suggestions or recommendations of hardware to drive this (raspberry pi, teensy, etc)

I am very curious how controllers like the Denon Dj prime go and Numark mixstream are getting what looks like custom panels on their screens, given that the connection is only USB 2.0.

I understand that these are probably read as HID devices and not midi controllers alone, although it does seem like the prime go might boot into a different firmware when you put it into controller mode, which might communicate using midi. Is there any information on this in the SDK?

I understand it would be much easier (and potentially more cost-effective) to purchase either of these controllers, but I want to do this more for the learning experience : )

Thanks in advance for any guidance you can give!
 

geposted Sun 12 Feb 23 @ 2:06 am
Since most of this inforrmation is considered "confidential" we can only say this:

Most Numark/Denon/Rane units show data on screen via MIDI.
The software for the most part sends "special" SYSEX messages that get decoded from the firmware in a specific way in order to turn on/off elements/leds of the screen.

On the other hand most Pioneer units use HID. However the principle is the same.
The unit expects packages encoded in a specific way, that the firmware decodes and handles the display.

Only 2 units exist that don't follow the MIDI/HID way.
Pioneer DDJ-RZX and Reloop Touch.
Reloop Touch utilizes a native display over USB.
Pioneer DDJ- RZX utilizes a media server via network over USB
We cannot really provide much more information about those 2 devices.

So, your best bet would be to go for a display that you could control over MIDI or HID.
Start simple (like drawing track progress, track times and possibly jog needle) before going crazy about album art e.t.c.
Even some recent controllers (like DDJ-1000SRT) display only that basic information and yet they are still popular and no-one is complaining about not being able to see album art or other shenanigans.
As for how to proceed, start with defining a simple SYSEX message that will send time elapsed info.
Then write your firmware so that it can read that sysex and display the time on screen.
Once you have done that, it's fairly easy to add more stuff. You can even add "conditional" stuff (stuff that appears only under certain conditions, like if a loop is active) that you can also control via MIDI/HID
 

geposted Mon 13 Feb 23 @ 9:26 am
PhantomDeejay wrote :
Since most of this inforrmation is considered "confidential" we can only say this:

Most Numark/Denon/Rane units show data on screen via MIDI.
The software for the most part sends "special" SYSEX messages that get decoded from the firmware in a specific way in order to turn on/off elements/leds of the screen.

On the other hand most Pioneer units use HID. However the principle is the same.
The unit expects packages encoded in a specific way, that the firmware decodes and handles the display.

Only 2 units exist that don't follow the MIDI/HID way.
Pioneer DDJ-RZX and Reloop Touch.
Reloop Touch utilizes a native display over USB.
Pioneer DDJ- RZX utilizes a media server via network over USB
We cannot really provide much more information about those 2 devices.

So, your best bet would be to go for a display that you could control over MIDI or HID.
Start simple (like drawing track progress, track times and possibly jog needle) before going crazy about album art e.t.c.
Even some recent controllers (like DDJ-1000SRT) display only that basic information and yet they are still popular and no-one is complaining about not being able to see album art or other shenanigans.
As for how to proceed, start with defining a simple SYSEX message that will send time elapsed info.
Then write your firmware so that it can read that sysex and display the time on screen.
Once you have done that, it's fairly easy to add more stuff. You can even add "conditional" stuff (stuff that appears only under certain conditions, like if a loop is active) that you can also control via MIDI/HID


Thank you so much! This was very informative and helpful :)
 

geposted Tue 14 Feb 23 @ 5:17 am