/kdmapi

KDMAPI (Keppy's Direct MIDI API) wrapper for Python

Primary LanguagePython

kdmapi

PyPi version Codacy Badge

KDMAPI (Keppy's Direct MIDI API) wrapper for Python

kdmapi provides both C bindings for OmniMIDI.dll and a Python-friendly wrapper for them

A Mido backend is also provided, instructions on how to use it are below

Requires Python 3.8 or greater

Installation

pip3 install kdmapi

You will also need to have OmniMIDI installed

Instructions

from kdmapi import KDMAPI

# Initialize the device
KDMAPI.InitializeKDMAPIStream()

# Send a short 32-bit MIDI message data
KDMAPI.SendDirectData(0x0)

# Close the device
KDMAPI.TerminateKDMAPIStream()

Mido backend

You can use KDMAPI as a Mido output backend

import mido

# Set KDMAPI as MIDO backend
mido.set_backend("kdmapi.mido_backend")

# Open MIDI file
midi_file = mido.MidiFile("your_file.mid")

with mido.open_output() as out:
    for msg in midi_file.play():
        out.send(msg)

License

#
# Copyright (C) 2022 Sebastiano Barezzi
#
# SPDX-License-Identifier: LGPL-3.0-or-later
#