rtmidi mit mehreren output devices

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
Mockel
User
Beiträge: 5
Registriert: Dienstag 18. Februar 2020, 16:23

Hallo Leute,

Ich schreibe an einer Python-Anwendung, welche u.a. MIDI-Kommandos an mehrere per USB angeschlossene MIDI-Geräte sendet.
Ich verwende einen Raspberry Pi mit Raspbian buster, Python 3.7.3, python-rtmidi 1.40
Das geht alles prima bei Verwendung von einem output Device/output port.
Ich möchte jedoch, dass eine MIDI message parallel an alle angeschlossenen MIDI Geräte rausgeht.
Vielleicht kann mir jemand hier ein paar Fragen beantworten, die ich mir auch nach dem Studium der rtmidi Doku nicht sicher beantworten konnte:
Ist es richtig, dass rtmidi nur genau einen input port und einen output port öffnen kann (Ich bekomme Fehler wenn ich versuche mehr als einen zu öffnen)?
Geht das Vorhaben mit rtmidi allein oder brauche ich eine connect/route Funktion à la aconnect oder jack?
Oder kurz: Wie mach ich's am besten :)

An dieser Stelle schon mal vielen Dank für Eure Hilfe
Mockel
User
Beiträge: 5
Registriert: Dienstag 18. Februar 2020, 16:23

Nachtrag:
Die Raspbian version ist Buster light, es gibt keine grafische Oberfläche und keine Bedienmöglichkeit.
Der Plan ist, per rtmidi die Messages an alle erkannten angeschlossenen USB MIDI Devices zu senden.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich arbeite beruflich mit RtMidi, und finde das eine ziemliche Katastrophe. Das Ding hat eine Menge Luecken. Wenn ich mir die C++-API anschaue (und python macht ja nicht mehr), dann kann der halt nur einen Port. Bestenfalls kannst du mehrerer RtMidi-Objekte anlegen, fuer jeden Port eines.

Vielleicht findest du direkte ALSA-Bindings. Oder Projekte wie http://das.nasophon.de/mididings/ koennen wert sein, betrachten zu werden.
Antworten