Author Topic: MIDI testbed program  (Read 11538 times)

dedndave

  • Member
  • *****
  • Posts: 8828
  • Still using Abacus 2.0
    • DednDave
Re: MIDI testbed program
« Reply #15 on: July 20, 2012, 06:14:34 AM »
i think MPU-401 is really just a driver that provides support for legacy sound
i seem to recall an MPU-401 chip being used on SoundBlaster cards in days of old
likely that it uses the same hardware device
i am wondering if the device you select by this method must be the one selected in the control panel
meaning that - whatever device (i.e. driver) the user selects is the only one that the mixer sees

it would make sense because it would mean the MPU-401 driver
that everyone seems to have installed actually works   :P

sinsi

  • Guest
Re: MIDI testbed program
« Reply #16 on: July 20, 2012, 11:27:26 AM »
Wasn't MPU-401 a port to connect an external midi device to? From what I remember, if you had a keyboard (musical, not typing) you would plug it into the
game port on a Soundblaster and the computer could send MIDI messages to it and control it.

Nowadays your new musical instrument will have a USB port, that's why the MPU-401 is obsolete. Even your old one will get by with a MIDI-USB adapter.

dedndave

  • Member
  • *****
  • Posts: 8828
  • Still using Abacus 2.0
    • DednDave
Re: MIDI testbed program
« Reply #17 on: July 20, 2012, 12:10:59 PM »
Quote
Wasn't MPU-401 a port to connect an external midi device to?

i knew it was old stuff   :P

Zen

  • Member
  • ****
  • Posts: 962
  • slightly red-shifted
Re: MIDI testbed program
« Reply #18 on: July 21, 2012, 03:19:35 AM »
NO C FOR ME:
Very impressive initial attempt,...

A number of MIDI capable devices (especially those provided in commercial audio editing programs) are implemented as Direct Show plug-ins,...in older versions of DirectX. These are registered on your system as COM DLLs,...which means they can be enumerated by DirectX.
I know,...this concept sounds wrong,...I am referring not to audio hardware,...but, to software audio drivers (catagorized as DirectShow filters).
This accounts for the difference in enumerated MIDI devices returned from midiOutGetNumDevs,...and the actual number of MIDI capable devices that exist on your system. The vast majority of Direct Show filters are not audio devices,...and, it's a complete pain in the ass to enumerate them all,...and, then check their individual properties to locate the MIDI capable components.
In all honesty,...it's confusing as hell (especially if you are not familiar with COM activation).
Here are a number of MSDN references:
DirectShow Filters
The Filter Graph and Its Components
Alphabetical List of DirectShow Interfaces
Zen

NoCforMe

  • Guest
Re: MIDI testbed program
« Reply #19 on: July 21, 2012, 04:48:03 AM »
i am wondering if the device you select by this method must be the one selected in the control panel
meaning that - whatever device (i.e. driver) the user selects is the only one that the mixer sees

Don't think so. On my computah (Win2K Pro), you can select the "preferred" device for MIDI playback (i.e., a MIDI-out device) in Control Panel--> Sounds and Multimedia--> Audio tab. However, this has no effect on which devices you can select with my program (and presumably any other software that uses a similar selection method).

However, there is a checkbox titled "Use only preferred devices" (unchecked on my system), which may be able to limit the devices seen by external software to only the selected device; don't know.