ABMIDISenderPort Class Reference

ABMIDISenderPort generates MIDI messages. More...

#import <ABMIDISenderPort.h>

Inherits ABMIDIPort.

Instance Methods

(instancetype _Nullable) - initWithName:title:
 Initialize.
 
(instancetype _Nullable) - initWithName:title:instanceConnectedBlock:instanceDisconnectedBlock:
 Initializes the MIDI Sender port as an multi instance port.
 
(BOOL) - ABMIDISenderPortIsLocalOn
 Like property localOn, but for usage in realtime context.
 

Properties

BOOL localOn
 Defines if your synth should be controlled by its own UI or only via MIDI.
 
NSString *_Nullable destinationsTitle
 A title representing the destinations the port is connected to.
 
UIImage *_Nullable destinationsIcon
 An icon representing the destinations the port is connected to.
 
- Properties inherited from ABMIDIPort
BOOL allowsMultipleInstances
 Whether this port allows multiple instance.
 
NSArray *_Nonnull destinations
 Currently-connected destinations.
 
BOOL connected
 Whether the port is connected.
 
ByteCount outPacketListMaxSize
 This is the buffer size reserved for output MIDI Packet lists.
 
- Properties inherited from ABPort
ABPeerpeer
 The peer this port is on.
 
NSString * name
 The internal port name.
 
NSString * title
 The title of the port, for display to the user.
 
UIImage * icon
 The port icon (a 64x64 image)
 
ABPortType type
 The type of the port.
 
uint8_t attributes
 The attributes of this port.
 
id context
 Use this property to associate some user defined context with the port.
 
uint32_t uniqueIdentifier
 An port identifier that is unique for the peer itself but also for other peers.
 
BOOL connected
 Whether the port is connected.
 
NSString * sourcesTitle
 A title representing the sources connected to the port.
 
UIImage * sourcesIcon
 An icon representing the sources connected to the port.
 
NSArray * sourcesRecursive
 Returns direct and indirect sources of the port in the pipeline.
 
NSString * destinationsTitle
 A title representing the destinations the port is connected to.
 
UIImage * destinationsIcon
 An icon representing the destinations the port is connected to.
 
NSArray * destinationsRecursive
 Returns direct and indirect destinations of the port in the pipeline.
 
NSArray * audioPipelineIDs
 Returns a list of id<NSCopying>.
 
NSArray * MIDIPipelineIDs
 Like audioPipelineIDs.
 

Additional Inherited Members

- Protected Member Functions inherited from ABMIDIPort
(void) - ABMIDIPortSendPacketList
 Send a MIDIPacketList.
 
(BOOL) - ABMIDIPortIsConnected
 Like property connected, but for usage in realtime context.
 

Detailed Description

ABMIDISenderPort generates MIDI messages.

This class is used to send MIDI messages.

MIDI messages sent via a MIDI Sender port are forwarded to the destinations connected via Audiobus. Apps that have MIDI Sender ports appear in the Notes section of Audiobus.

The features of ABMIDISenderPort are implemented in its base class, ABMIDIPort. See ABMIDIPort for documentation.

Method Documentation

- (instancetype _Nullable) initWithName: (NSString *_Nonnull)  name
title: (NSString *_Nonnull)  title 

Initialize.

Initializes a new MIDI Sender port. Use ABMIDIPortSendPacketList to send MIDI data.

Parameters
nameName of port, for internal use
titleTitle of port, shown to the user
- (instancetype _Nullable) initWithName: (NSString *_Nonnull)  name
title: (NSString *_Nonnull)  title
instanceConnectedBlock: (ABMIDISenderPortInstanceConnectionBlock _Nonnull)  instanceConnectedBlock
instanceDisconnectedBlock: (ABMIDISenderPortInstanceConnectionBlock _Nonnull)  instanceDisconnectedBlock 

Initializes the MIDI Sender port as an multi instance port.

Initializes a new MIDI Sender port. Use ABMIDIPortSendPacketList to send MIDI data.

Parameters
nameName of port, for internal use
titleTitle of port, shown to the user
instanceConnectedBlockThis block is called when a port instance has been connected.
instanceDisconnectedBlockThis block is called when a port instance has been disconnected.
- (BOOL) ABMIDISenderPortIsLocalOn (__unsafe_unretained ABMIDISenderPort *_Nonnull)  port

Like property localOn, but for usage in realtime context.

Property Documentation

- (BOOL) localOn
readnonatomicassign

Defines if your synth should be controlled by its own UI or only via MIDI.

If your app is also a sound generator then this property tells you if your synth should be directly controlled by your app's UI or only via MIDI.

localOn == YES means, that your apps sound generator should be directly controlled by the user interface of your app.

localOn == NO means, that your app should not create sound due to user interaction on the UI. Your interface is creating MIDI events which are sent to a MIDI filter app an routed back to your app:

*     +----------+      +-------------+      +----------+
*     | Your APP | +--> | MIDI Filter | +--> | Your APP |
*     +----------+      +-------------+      +----------+

In the case that your app is also reacting to internal MIDI events it will receive MIDI events twice, a first time directly from your app's UI and a second time from MIDI events received from the MIDI Filter. To prevent this, observe this localOn property and disable internal MIDI event processing when localOn is set to NO.

There are also other cases where localOn is set to NO, e.g. if your APP is only sitting in the MIDI input or in the MIDI filter but not in the MIDI output.

- (NSString* _Nullable) destinationsTitle
readnonatomicassign

A title representing the destinations the port is connected to.

- (UIImage* _Nullable) destinationsIcon
readnonatomicassign

An icon representing the destinations the port is connected to.


The documentation for this class was generated from the following file: