Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

MIDI Output Device with low-level and MCI commands

Posted on 1997-02-12
1
Medium Priority
?
832 Views
Last Modified: 2013-12-04
I need to be able to open a MIDI Output Device, and then access that device with the MCI commands as well as the low level commands, like midiOutShortMsg.

The problem is that MCI doesn't have any way to send MIDI Channel Messages, so I can't use it to control the volume of individual MIDI Channels, for example.  It would be easy enough to do this with midiOutShortMsg, but this requires the hMidiOut handle that is normally assigned using midiOutOpen.  But I can't use midiOutOpen on a device that is already opened (by MCI_OPEN).

So, the question is: Having opened a device using MCI_OPEN, is there a way to use its hMidiOut handle (that I assume had to be assigned somewhere) to  send a midiOutShortMsg to the same device.

I'm writing in Pascal (Delphi 1.0), for Win 3.1.
0
Comment
Question by:jwholahan
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 1

Accepted Solution

by:
winmeister earned 400 total points
ID: 1298859
Regret to say, no. You need multi-instance drivers (such those provided with Cakewalk for MPU401, etc) because you need to open the MCI device with MCI_OPEN for MCI commands, and you also need to use midiOutOpen to send low level commands.

I have successfully used this tecnique on those multi-instance MIDI drivers. There is no other way.
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes a technique for converting RTF (Rich Text Format) data to HTML and provides C++ source that does it all in just a few lines of code. Although RTF is coming to be considered a "legacy" format, it is still in common use... po…
This article surveys and compares options for encoding and decoding base64 data.  It includes source code in C++ as well as examples of how to use standard Windows API functions for these tasks. We'll look at the algorithms — how encoding and decodi…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question