Lass uns tiefer eintauchen, um mehr ueber die an deinen Mac angeschlossenen MIDI-Geraete herauszufinden, indem wir Audio MIDI Setup (auch MIDI Studio genannt) oeffnen.
So sieht es auf meinem Rechner aus:

Jedes Kaestchen im Bild stellt ein MIDI-Geraet dar - es kann ein physisches Geraet sein, wie ein Controller, oder eine Software-Schnittstelle, wie die Netzwerk- oder Bluetooth-Schnittstellen. Geraete haben Entities, die Quellen und Ziele logisch gruppieren. Quellen und Ziele, auch Endpoints genannt, sind deine MIDI-In- und Out-Ports, egal ob 5-Pin-Stecker oder USB.
All diese MIDI-Objekte haben Eigenschaften. Eigenschaften fuegen den Objekten Informationen hinzu und werden vom Hersteller, deinem System oder sogar dir selbst bereitgestellt.
Die MIDI Services Reference repraesentiert diese Hierarchie mit dem Typ MIDIObjectRef und seinen Untertypen MIDIDeviceRef, MIDIEntityRef und MIDIEndpointRef.
Ich habe derzeit zwei externe Geraete angeschlossen: einen Roland A-88 MIDI-Controller und ein Roland Duo-Capture EX Audio-Interface.
Die Quellen und Ziele werden durch die kleinen Dreiecke im obigen Bild dargestellt. Der A-88 hat zwei Entities: eine mit einer Quelle und einem Ziel, und eine weitere nur mit einer Quelle. Das Duo-Capture hat eine Entity mit sowohl einer Quelle als auch einem Ziel.
Die Rueckseite des Roland A-88 sieht so aus:

Er hat einen MIDI Out und andere Anschluesse fuer Pedale, USB und Strom. Im letzten Beitrag haben wir Code geschrieben, um alle Eigenschaften unserer Geraete auszugeben. Wenn wir uns die des Roland A-88 ansehen, ist alles klar.
{% gist 48649bba91d1d7cac31e roland-a88.txt %}
Da sind wieder die zwei Entities, eine mit einer Quelle und einem Ziel (der USB-Port), und der MIDI Out Port als die Entity mit nur einem Endpoint.
Lass uns auch das Duo-Capture EX ueberpruefen:

Alles klar: eine Entity mit einer Quelle (MIDI Out) und einem Ziel (MIDI In). Das erscheint auch in der Eigenschaften-Ausgabe:
{% gist 48649bba91d1d7cac31e roland-duo-capture-ex.txt %}
Jetzt werden wir tiefer graben, um herauszufinden, wie wir auf diese Endpoints zugreifen koennen, besonders auf die Quellen.
Als ich MIDI Aid fuer Mac und fuer iPad, iPhone und iPod touch entwickelte, wollte ich alles von MIDI Out erfassen und in meine App einspeisen, um diese Ausgabe anzuzeigen.
Das ist einfach: Frage das System nach allen Quellen ab. In diesem Beispiel zeige ich auch, wie man zwei Eigenschaften von den Quellen erhaelt: den Namen und die eindeutige ID.
{% gist 48649bba91d1d7cac31e example-2.swift %}
Das Ausfuehren mit allen eingeschalteten Geraeten erzeugte folgende Ausgabe auf meinem Mac:
Number of sources: 3
Session 1: 1652107473
Keyboard: 2124965650
DUO-CAPTURE EX: -904633270
Wir sind einen Schritt weiter in der Nutzung von CoreMIDI und verstehen, wie dein Mac MIDI-Geraete sieht und strukturiert - und wir wissen, wie wir auf die Informationen aller dieser Geraete zugreifen koennen.
Fertig fuer heute!

