Platforms to show: All Mac Windows Linux Cross-Platform
Back to MidiClientMBS class.
MidiClientMBS.Available as boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
There is no need to call this method except you want to free all resources of this object now without waiting for Xojo to do it for you.
MidiClientMBS.CreateDestination(name as CFStringMBS, TargetEndpointObject as MidiEndpointMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.4 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Clients may use this to create virtual destinations.
Lasterror is set.
You must pass a valid new MidiEndpointMBS for TargetEndpointObject. Best is if you make a subclass from MidiEndpointMBS and fill the event. You can add there additional methods and properties. CreateDestination will than fill the handle property on success.
Some examples using this method:
MidiClientMBS.CreateInputPort(name as CFStringMBS, targetportobject as MidiPortMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
After creating a port, use MIDIPortConnectSource to establish an input connection from any number of sources to your port.
Lasterror is set.
As you can subclass the MidiPortMBS class you must pass to this function a valid MidiPortMBS object so it can be filled.
Some examples using this method:
MidiClientMBS.CreateOutputPort(name as CFStringMBS, targetportobject as MidiPortMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Output ports provide a mechanism for MIDI merging. The system assumes that each output port will be responsible for sending only a single MIDI stream to each destination, although a single port may address all of the destinations in the system.
Lasterror is set.
As you can subclass the MidiPortMBS class you must pass to this function a valid MidiPortMBS object so it can be filled.
Some examples using this method:
MidiClientMBS.CreateSource(name as CFStringMBS) as MidiEndpointMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.3 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Lasterror is set.
Returns nil on any error.
Clients may use this to create virtual sources.
After creating a virtual source, use Received to transmit MIDI messages from your virtual source to any clients connected to the virtual source.
Some examples using this method:
MidiClientMBS.FindObjectByUniqueID(id as Integer) as MidiObjectMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.3 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
New for CoreMIDI 1.3.
You may cast the returned object to MidiEndpointMBS, MidiEntityMBS or MidiDeviceMBS. RB's "isa" command may help you.
Returns nil on any error. Lasterror is set.
Some examples using this method:
MidiClientMBS.GetDestination(index as Integer) as MidiEndpointMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
The index goes from 0 to NumberOfDestinations-1.
Lasterror is set.
Returns nil on any error.
MidiClientMBS.GetDevice(index as Integer) as MidiDeviceMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
To enumerate the entities in the system, you can walk through the devices, then walk through the devices' entities.
Note: If a client iterates through the devices and entities in the system, it will not ever visit any virtual sources and destinations created by other clients. Also, a device iteration will return devices which are "offline" (were present in the past but are not currently present), while iterations through the system's sources and destinations will not include the endpoints of offline devices.
Thus clients should usually prefer NumberOfSources, GetSource, NumberOfDestinations and GetDestination to iterating through devices and entities to locate endpoints.
Lasterror is set.
Returns nil on any error.
Some examples using this method:
MidiClientMBS.GetExternalDevice(index as Integer) as MidiDeviceMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
The index goes from 0 to NumberOfDevices-1.
Lasterror is set.
Returns nil on any error.
Some examples using this method:
MidiClientMBS.GetSource(index as Integer) as MidiEndpointMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
The index goes from 0 to NumberOfSources-1.
Lasterror is set.
Returns nil on any error.
MidiClientMBS.Init(name as CFStringMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Lasterror is set.
MidiClientMBS.NumberOfDestinations as Integer
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Returns 0 on any error.
Lasterror is set.
MidiClientMBS.NumberOfDevices as Integer
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Returns 0 on any error.
Lasterror is set.
Some examples using this method:
MidiClientMBS.NumberOfExternalDevices as Integer
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
External MIDI devices are MIDI devices connected to endpoints via a standard MIDI cable. Their presence is completely optional, only when a UI somewhere adds them.
New for CoreMIDI 1.1.
Returns 0 on any error.
Lasterror is set.
Some examples using this method:
MidiClientMBS.NumberOfSources as Integer
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.1 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Returns 0 on any error.
Lasterror is set.
MidiClientMBS.Send(port as MidiPortMBS, endpoint as MidiEndpointMBS, packets as MidiPacketListMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
method | MIDI | MBS MacCF Plugin | 3.3 | ✅ Yes | ❌ No | ❌ No | ✅ Yes | All |
Events with future timestamps are scheduled for future delivery. The system performs any needed MIDI merging.
Lasterror is set.
The items on this page are in the following plugins: MBS MacCF Plugin.