User Forum††† :: Powered by YaBB
¬ę MIDI-OX User Forum - Class Compliant MIDI Devices ¬Ľ
Welcome, Guest. Please Login or Register.
Aug 17th, 2018, 8:40am


Home Home Help Help Search Search Members Members Login Login Register Register


   MIDI-OX User Forum
   MIDI-OX
   Questions and Discussion
(Moderator: Jamie OConnell)
   Class Compliant MIDI Devices
« Previous topic | Next topic »
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: Class Compliant MIDI Devices  (Read 328 times)
jonrmorgan
New Member
*



MIDI-OX Rules!

   


Posts: 2
Class Compliant MIDI Devices
« on: Jun 11th, 2018, 6:03am »
Quote Quote Modify Modify

Hi All,
 
Many of the cheap MIDI devices sold on E-Bay and Amazon rely on the Windows driver for PC communication with your gear. They handle simple data transfers, ie short MIDI messages, OK and with a bit of playing around with buffer sizes MIDI-OX can handle incoming sysex as well.
 
The problem I have though is using one of these devices to send bulk dump requests to a synth. For example, sending F0,43,20,09,F7 to a MK2 Yamaha DX7 requests a bulk dump of a voice bank.
 
If I use a Roland device (eg UM1) to send this request the synth responds with the dump and the message "Completed" appears in the DX7's LCD.
 
Using a generic device, although I can see the dump request is sent to the driver because its Output light flashes, nothing happens at the synth.
 
Is this a known bug in the Windows Class Compliant driver or is there a workaround ? I've tried the procedure under both Win10 64bit and Win7 32bit with no difference in the result.
 
Thanks for your advice.
 
Jon
 
IP Logged
Sonus
Member
**



MIDI-OX Rules!

   


Posts: 51
Re: Class Compliant MIDI Devices
« Reply #1 on: Jun 12th, 2018, 3:50am »
Quote Quote Modify Modify

Hi Jon,
 
Requesting and transmitting data with a class compliant m-audio usb uno is working perfectly.  
To verify if a request is received, create a loop by connecting midi thru instead of midi out.  
Apparently these poorly designed usb midi cables are missing essential components...
 
Cheap USB MIDI cable: some self assembly may be required
 
... so it's hardware troubleshooting.
 
You're welcome!
« Last Edit: Jun 12th, 2018, 5:20am by Sonus » IP Logged
Breath
Administrator
*****





   
WWW

Gender: male
Posts: 661
Re: Class Compliant MIDI Devices
« Reply #2 on: Jun 12th, 2018, 4:06am »
Quote Quote Modify Modify

Microsoft's Class compliant driver is faulty as it limits the size of sysex messages to 255bytes.
This has never (over 30 years) been part of the Midi spec. and as such MS driver is faulty.
 
Many older synths have sysex message blocks greater than 255 bytes.
 
It is a well known problem and many manufactures of Midi interfaces have their own correct drivers and some even allow you to use the MS driver, which is OK for a lot of simple things, but fails particularly for vintage things and then the poor uses is baffled.
 
Roland, Yamaha, M-Audio, Behringer etc all take this introduced limitation on board and you will be safe with these interfaces. The silver Chinese interfaces are at best troublesome.
 
Sadly current manufactures seem to feel they have to comply with MS's redefinition (dumbing down) of the Midi spec. and break their sysex into blocks less than 255 bytes. MS also says that you can't use Midi running status on PCs.
 
MidiOx started life as a MS example of how to write Midi programs in C (then C++).  
It never functioned AT ALL and every time a new version of their C compiler came out it was always a disappointment to find the same example of code that never worked.
 
I will now get down from my soapbox and try and calm down  Cool
 
All the best
Royce
IP Logged
jonrmorgan
New Member
*



MIDI-OX Rules!

   


Posts: 2
Re: Class Compliant MIDI Devices
« Reply #3 on: Jun 12th, 2018, 5:09am »
Quote Quote Modify Modify

Sonus/Royce,
 
Thanks for the quick and comprehensive replies guys.
 
Royce, I fully understand your frustration on the driver issue. I've been writing MIDI software since the 80's and the commonest gripe I get is "why won't my apps work with this Chinese junk".  
 
At last I have a full understanding of the problem. Thank you.
 
Jon
IP Logged
Breath
Administrator
*****





   
WWW

Gender: male
Posts: 661
Re: Class Compliant MIDI Devices
« Reply #4 on: Jun 13th, 2018, 1:09am »
Quote Quote Modify Modify

Hi Jon
I should add that the MS class compliant driver was not Multi-Client until Win10.
That is, more than one application can connect and use the one Midi  port,  something available in the 1990's and on virtually all manufacturers Midi drivers since.
 
What a software leader MS is.
 
Here is a quote from a MS  blog
"One great feature of the new API is that it is multi-client. As long as all apps with the port open are using the Windows 10 UWP MIDI API and not the older Win32 MME or DirectMusic APIs, they can share the same device. This is something the older APIs donít handle without custom drivers and was a common request from our partners and customers."
 
So from Win 10 it is now multi-client, BUT only for new software that uses the new UWP API. Is you DAW up to date - doesn't mean they have adopted the new API because it won't run pre Win10 - how about all those synth editors that manufactures no longer service?
 
 (note that the smoke you see is not your machine but coming from my ears).
 
Fortunately you can connect a class compliant driver to a couple of MidiYoke Ports and suddenly it is Multi-Client  for the older API (thanks Jamie).  
 
All the best
Royce
IP Logged
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« Previous topic | Next topic »


MIDI-OX User Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.