IreneStella
IreneStella

Reputation: 31

RtMidi - MidiInDummy: This class provides no functionality

I want to use Rtmidi to get input from launchpad. However, despite connecting the launchpad, 0 pods are available. "MidiInDummy: This class providers no functionality." There's also this phrase, so something seems to be wrong.

Source:

//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;
}

Output:

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.

How can I solve this problem?

Upvotes: 2

Views: 619

Answers (1)

IreneStella
IreneStella

Reputation: 31

Oh, I solved it.

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

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

keyword : __WINDOWS_MM__, winmm.lib

Upvotes: 1

Related Questions