RtMidi - MidiInDummy:此类不提供任何功能

RtMidi - MidiInDummy: This class provides no functionality

本文关键字:任何 功能 MidiInDummy RtMidi      更新时间:2023-10-16

我想使用 Rtmidi 从启动板获取输入。 但是,尽管连接了启动板,但仍有 0 个 pod 可用。 ">MidiInDummy:这个类不提供任何功能。还有这句话,所以似乎有些不对劲。

源:

//Source : http://www.music.mcgill.ca/~gary/rtmidi/index.html#probing
#define __WINDOWS_MM__
#include <iostream>
#include <cstdlib>
#include "RtMidi.h"
int main()
{
RtMidiIn* midiin = 0;
RtMidiOut* midiout = 0;
// RtMidiIn constructor
try {
midiin = new RtMidiIn();
}
catch (RtMidiError& error) {
error.printMessage();
exit(EXIT_FAILURE);
}
// Check inputs.
unsigned int nPorts = midiin->getPortCount();
std::cout << "nThere are " << nPorts << " MIDI input sources available.n";
std::string portName;
for (unsigned int i = 0; i < nPorts; i++) {
try {
portName = midiin->getPortName(i);
}
catch (RtMidiError& error) {
error.printMessage();
goto cleanup;
}
std::cout << "  Input Port #" << i + 1 << ": " << portName << 'n';
}
// RtMidiOut constructor
try {
midiout = new RtMidiOut();
}
catch (RtMidiError& error) {
error.printMessage();
exit(EXIT_FAILURE);
}
// Check outputs.
nPorts = midiout->getPortCount();
std::cout << "nThere are " << nPorts << " MIDI output ports available.n";
for (unsigned int i = 0; i < nPorts; i++) {
try {
portName = midiout->getPortName(i);
}
catch (RtMidiError& error) {
error.printMessage();
goto cleanup;
}
std::cout << "  Output Port #" << i + 1 << ": " << portName << 'n';
}
std::cout << 'n';
// Clean up
cleanup:
delete midiin;
delete midiout;
return 0;
}

输出:

MidiInDummy: This class provides no functionality.
There are 0 MIDI input sources available.
MidiOutDummy: This class provides no functionality.
There are 0 MIDI output ports available.

如何解决这个问题?

哦,我解决了。

https://www.music.mcgill.ca/~gary/rtmidi/#compiling

https://github.com/thestk/rtmidi/issues/85

关键字 :__WINDOWS_MM__winmm.lib