Q

qtmidi

Platform independent MIDI module for Qt.

Name Last Update
config.tests Loading commit data...
examples Loading commit data...
include/QtMidi Loading commit data...
src Loading commit data...
tests/auto Loading commit data...
.gitignore Loading commit data...
.qmake.conf Loading commit data...
LICENSE.GPLv3 Loading commit data...
README.md Loading commit data...
build.py Loading commit data...
qtmidi.pro Loading commit data...
sync.profile Loading commit data...

Building

Read this first

To use this package you have to build the code and install it in the Qt5 repository. For an automatic install you can simply add a make install build step in the QtCreator.

Platform notes

The following sections provide additional information for specific platforms.

WinRT

The WinRT Plugin qtwinrt_midi.dll will net get deployed by the windeployqt tool. You have to provide the library in a midi plugin folder on your own. For example you can use the following code in your projects pro file:

winrt {
    CONFIG(debug, debug|release) {
        PLUGIN_DIR = $$OUT_PWD/debug
        PLUGIN_FILE=qtwinrt_midid.dll
    }
    else {
        PLUGIN_DIR = $$OUT_PWD/release
        PLUGIN_FILE=qtwinrt_midi.dll
    }

    PLUGIN_DIR ~= s,/,\\,g


    QMAKE_POST_LINK += \
        $$sprintf($$QMAKE_MKDIR_CMD, $$quote($$PLUGIN_DIR\\midi)) $$escape_expand(\\n\\t) \
        $$QMAKE_COPY $$quote($$(QTDIR)\\plugins\\midi\\$$PLUGIN_FILE) $$quote($$PLUGIN_DIR\\midi\\$$PLUGIN_FILE) $$escape_expand(\\n\\t)
}

Notes: To enable output to the default Microsoft GS Wavetable Synthesizer you need to add the following line to the AppxManifest.xml in the <Dependencies> section:

<PackageDependency Name="Microsoft.Midi.GmDls" MinVersion="1.0.0.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />

Examples/Tests

The examples are currently provided in a standalone repository: https://github.com/ChWick/qtmidi-examples

TODO

A list of thinks that have still do be done for the different implementations.

Android

  • Check multiple input devices
  • Check multiple output devices

Mac OS X (CoreMIDI/CoreAudio)

  • Implementation
  • Check multiple input devices
  • Check multiple output devices

Linux (Alsa)

  • Check multiple input devices
  • Check multiple output devices

PGMidi (iOS)

  • Implementation
  • Check multiple input devices
  • Check multiple output devices

WinMM

  • Check multiple input devices
  • Check multiple output devices

WinRT

  • Check multiple input devices
  • Check multiple output devices