First post, by Dominus
- Rank
- DOSBox Moderator
Referencing the problem at Munt Mac OSX version discussion that the Munt driver is only being used when the real hardware is not plugged in.
I wonder whether one can adapt https://ccrma.stanford.edu/~craig/articles/li … midi/testout2.c to DOSBox' Coremidi driver.
The relevant part is that this code seems to send to *all* ports
//////////////////////////////
//
// playPacketOnAllDevices -- play the list of MIDI packets
// on all MIDI output devices which the computer knows about.
// (Send the MIDI message(s) to all MIDI out ports).
//
void playPacketListOnAllDevices(MIDIPortRef midiout,
const MIDIPacketList* pktlist) {
// send MIDI message to all MIDI output devices connected to computer:
ItemCount nDests = MIDIGetNumberOfDestinations();
ItemCount iDest;
OSStatus status;
MIDIEndpointRef dest;
for(iDest=0; iDest<nDests; iDest++) {
dest = MIDIGetDestination(iDest);
if (status = MIDISend(midiout, dest, pktlist)) {
printf("Problem sendint MIDI data on port %d\n", iDest);
printf("%s\n", GetMacOSStatusErrorString(status));
exit(status);
}
}
}
While DOSBox sends to a specific one (I think)...
https://sourceforge.net/p/dosbox/code-0/HEAD/ … midi_coremidi.h
But I'm not very good at programming and easily get confused 😀