Quick Sign In:  

Forum: Old versions

Topic: HID > MIDI?

Dieses Thema ist veraltet und kann veraltete oder falsche Informationen enthalten.

locoDogPRO InfinityModeratorMember since 2013
Happy new year to all, I bought myself a Arduino Uno to make the greatest dj controller ever seen (it's all very confusing) I think I remember reading (here) that HID is better than MIDI, Is this the case?
 

geposted Thu 02 Jan 14 @ 5:41 am
not if your human.. HID has the possibility of sending more messages at once since it sends the messages for every control when it sends information but midi will never choke unless you press every button on your controller and them some.. HID is much harder to define for VDJ though, you will have to do some serious studying to get it done!

the only other benefit of HID is you can get higher resolution on controls than standard midi (128 steps) but it is seldom needed accept for jogwheels, and with 14bit midi you can get as much resolution as you need with up to 16,384 individual ticks on each CC slider/knob.
 

geposted Thu 02 Jan 14 @ 6:34 am
locoDogPRO InfinityModeratorMember since 2013
That's good to know, 33 pots or sliders 9 encoders 110 buttons, already in time for VDJ 16.
 

geposted Thu 02 Jan 14 @ 10:46 pm
locoDogPRO InfinityModeratorMember since 2013
Stumbling block 1 SELF SOLVED I had the wrong version in the mapper (700 instead of 740)

I can't get VDJ to see the HID mapper SOLVED

Here's what I see in HID trace

UnoJoy Joystick VID=10c4|PID=82c0(100)|Size=19/-1

Page: 0

0 1 2 3 4 5 6 7 8 9 A B C D E F
_________________________________________________
0| 00 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00
1| 00 00 00


01234567 89ABCDEF
__________________
0| 00000000 00000000
1| 00000000 11111111 (Slider 1 on full) {is this is byte 03?}
2| 11111111 00000000 (Slider "Vol" on full) {byte 04?}
.....
9| 00000000

This is my UnoJoy Joystick.xml in Virtual DJ/devices/UnoJoy Joystick.xml

<?xml version="1.0" encoding="UTF-8"?>
<device name="UnoJoy Joystick" type="HID" vid="0x10c4" pid="0x82c0" decks ="2" reportsize="19" outreportsize="-1">

<page type="in">
<slider byte="04" max="1000" name="Vol" />
</page>
</device>


This is my HID mapper in Virtual Dj/mappers/UnoJoy Joystick mapping.xml

<?xml version="1.0" encoding="UTF-8"?>
<mapper device="UnoJoy Joystick" description="HID device" version="700" date="18/08/2013"> {VERSION WAS WRONG}
<map value="Vol" action="volume_relative" />
</mapper>

 

geposted Fri 03 Jan 14 @ 6:52 am
locoDogPRO InfinityModeratorMember since 2013
All of the above is solved, Stumbling block 2

The analogue output is 8 bit so the maximum reading is 255, so my volume only goes from 0% to 25.ish%

How would I make VDJ scale an 8bit input to a 10bit output?

Or should I look at the firmware in my device? (as it really is a 10bit input but the firmware is a Playstation pad emulator so it drops 2 bits)


I realise I could map all 256 values to relative values eg 00000000=0% 00000001=0.4% 00000010=0.8%, but that would be silly.
 

geposted Fri 03 Jan 14 @ 7:58 am
djdadPRO InfinityDevelopment ManagerMember since 2005
So the volume slider provides 11111111 11 in 100% and 00000000 00 when 0%
In that case you could use bit="0x.." nbits="10"

When moving from 0% to top, the first value you get is 00000000 01 ?
or does it go like this ..
00000000 00
00000001 00
..
..
11111111 00
00000000 01
00000001 01
...
11111111 11
 

geposted Fri 03 Jan 14 @ 12:22 pm
locoDogPRO InfinityModeratorMember since 2013
SOLVED I had put the maximum to 1000 when it should have been at 255 (if only everything was this easy)
{this site really needs a custom MIDI/HID thread}
Anywho for curiosities sake;

The slider (pot) is truly linear on a 10 bit input 0% = 00 0000 0000, next is 00 0000 0001 upto 99%(and change) 11 1111 1110 and finally 100% = 11 1111 1111, but to make it HID compatible (Playstation style controller) it drops the 2 least significant bits to be a 8 bit output (still linear but just not as smooth)

It's all very open ended if it worked the other way 0% = 11 1111 1111 I could just switch the wiring round (5V with ground)

I'm trying to get help on the HID firmware end (elsewhere)

but thanks for the 10 bit solution
 

geposted Fri 03 Jan 14 @ 1:13 pm
locoDogPRO InfinityModeratorMember since 2013
A further question, I have just noticed that VDJ can detect serial devices, so I guessing it must listen to a com port? Where would I find info about this?

If I could bypass having to make it HID, that would save LOTS of coding work.
 

geposted Sat 04 Jan 14 @ 2:27 pm
locoDogPRO InfinityModeratorMember since 2013
This one question is probably only going to be answered by the techs

What is the input method for HID into virtual dj DirectInput (direct x) or some other method?
 

geposted Wed 08 Jan 14 @ 1:51 pm


(Alte Themen und Foren werden automatisch geschlossen)