Audiobus Controller. More...
#import <ABAudiobusController.h>
Inherits NSObject.
Instance Methods | |
(id) | - initWithApiKey: |
Initializer. | |
(void) | - startNetworkCommunications |
Explicitly enable networking, to communicate with Audiobus. | |
Triggers | |
(void) | - addTrigger: |
Add a trigger. | |
(void) | - addLocalOnlyTrigger: |
Same as addTrigger whith the difference that the trigger is not shown in AB Remote. | |
(void) | - addRemoteTrigger: |
Add a trigger which is only shown in Audiobus Remote. | |
(void) | - addRemoteTriggerMatrix:rows:cols:transposable: |
Add a grid matrix of triggers for Audiobus Remote. | |
(void) | - addRemoteTriggerMatrix:rows:cols: |
(void) | - removeTrigger: |
Remove a trigger. | |
(ABPort *) | - portWithUniqueID: |
Returns the port with a given unique ID or Nil when not found. | |
(ABPort *) | - portWithName: |
Returns the port with a given name or Nil when not found. | |
(NSArray *) | - allPorts |
Returns an array of objects of type ABPort*. | |
Class Methods | |
(void) | + resetAllPeeredConnections |
Reset all peered Audiobus controllers. | |
Audio ports | |
NSArray * | audioSenderPorts |
Currently defined sender ports. | |
NSArray * | audioFilterPorts |
Currently defined filter ports. | |
NSArray * | audioReceiverPorts |
Currently defined receiver ports. | |
NSArray * | MIDISenderPorts |
Currently defined MIDI ports. | |
NSArray * | MIDIFilterPorts |
Currently defined MIDI Filter ports. | |
NSArray * | MIDIReceiverPorts |
Currently defined MIDI Receiver ports. | |
(void) | - addAudioSenderPort: |
Add a sender port. | |
(void) | - addSenderPort: |
Deprecated. | |
(ABAudioSenderPort *) | - audioSenderPortNamed: |
Access a sender port. | |
(ABAudioSenderPort *) | - senderPortNamed: |
Deprecated. | |
(void) | - removeAudioSenderPort: |
Remove a sender port. | |
(void) | - removeSenderPort: |
Deprecated. | |
(void) | - sortAudioSenderPortsUsingComparitor: |
Sort the sender ports. | |
(void) | - sortSenderPortsUsingComparitor: |
Deprecated. | |
(NSArray *senderPorts) | - __deprecated_msg |
Deprecated. | |
(void) | - addAudioFilterPort: |
Add a filter port. | |
(void) | - addFilterPort: |
Deprecated. | |
(ABAudioFilterPort *) | - audioFilterPortNamed: |
Get the filter port. | |
(ABAudioFilterPort *) | - filterPortNamed: |
Deprecated. | |
(void) | - removeAudioFilterPort: |
Remove a filter port. | |
(void) | - removeFilterPort: |
Deprecated. | |
(void) | - sortAudioFilterPortsUsingComparitor: |
Sort the filter ports. | |
(void) | - sortFilterPortsUsingComparitor: |
Deprecated. | |
(NSArray *filterPorts) | - __deprecated_msg |
Deprecated. | |
(void) | - addAudioReceiverPort: |
Add a receiver port. | |
(void) | - addReceiverPort: |
Deprecated. | |
(ABAudioReceiverPort *) | - audioReceiverPortNamed: |
Access a receiver port. | |
(ABAudioReceiverPort *) | - receiverPortNamed: |
Deprecated. | |
(void) | - removeAudioReceiverPort: |
Remove a receiver port. | |
(void) | - removeReceiverPort: |
Deprecated. | |
(void) | - sortAudioReceiverPortsUsingComparitor: |
Sort the receiver ports. | |
(void) | - sortReceiverPortsUsingComparitor: |
Deprecated. | |
(NSArray *receiverPorts) | - __deprecated_msg |
Deprecated. | |
(void) | - addMIDISenderPort: |
Add a MIDI port. | |
(void) | - removeMIDISenderPort: |
Remove a MIDI port. | |
(void) | - sortMIDISenderPortsUsingComparitor: |
Sort the MIDI ports. | |
(ABMIDISenderPort *) | - MIDISenderPortNamed: |
Get the MIDI Port. | |
(void) | - addMIDIFilterPort: |
Add a MIDI Filter port. | |
(void) | - removeMIDIFilterPort: |
Remove a MIDI Filter port. | |
(void) | - sortMIDIFilterPortsUsingComparitor: |
Sort the MIDI Filter ports. | |
(ABMIDIFilterPort *) | - MIDIFilterPortNamed: |
Get the MIDI Filter port. | |
(void) | - addMIDIReceiverPort: |
Add a MIDI Receiver port. | |
(void) | - removeMIDIReceiverPort: |
Remove a MIDI Receiver port. | |
(void) | - sortMIDIReceiverPortsUsingComparitor: |
Sort the MIDI Receiver ports. | |
(ABMIDIReceiverPort *) | - MIDIReceiverPortNamed: |
Get the MIDI Receiver port. | |
Properties | |
BOOL | allowsConnectionsToSelf |
Whether to allow this app to connect its input to its own output. | |
ABConnectionPanelPosition | connectionPanelPosition |
Connection panel position. | |
BOOL | connectionPanelVisible |
Whether connection panel is visible. | |
CGRect | connectionPanelFrame |
The current connection panel frame (in window coordinates) | |
NSSet * | peers |
All available peers . | |
NSSet * | connectedPeers |
All peers that are connected as part of the current session. | |
NSSet * | connectedPorts |
All ports that are connected as part of the current session. | |
BOOL | connected |
Whether the app is connected to anything via Audiobus or Inter-App Audio. | |
BOOL | audiobusConnected |
Whether the app is connected to anything via Audiobus specifically (not Inter-App Audio) | |
BOOL | audiobus2Connected |
Whether your app is connected to anything via Audiobus 2 specifically (not Inter-App Audio) | |
BOOL | audiobus3AndHigherConnected |
Whether your app is connected to anything via Audiobus 3 specifically (not Inter-App Audio) | |
BOOL | interAppAudioConnected |
Whether the port is connected via Inter-App Audio. | |
BOOL | audiobusMIDIPortConnected |
Whether the MIDI port is connected to Audiobus. | |
BOOL | audiobusAppRunning |
Whether the Audiobus app is running on this device. | |
id < ABAudiobusControllerStateIODelegate > | stateIODelegate |
State input/output delegate. | |
void(^ | prepareForNetworkCommunicationsBlock )(void(^continueBlock)(void)) |
Prepare to enable network communications. | |
void(^ | showInterAppAudioTransportPanelBlock )(BOOL showPanel) |
Set this block to be informed wether your app should show or hide its Inter-App audio transport panel. | |
void(^ | enableReceivingCoreMIDIBlock )(BOOL receivingEnabled) |
For apps with MIDI Receiver ports: Set this block to prevent receiving Core MIDI events twice. | |
void(^ | enableSendingCoreMIDIBlock )(BOOL sendingEnabled) |
For Apps with MIDI sender ports: Set this block to prevent double MIDI routings. | |
(BOOL memberOfActiveAudiobusSession) | - __deprecated_msg |
Whether the app is part of an active Audiobus session. | |
(void) | - setNeedsStatusBarAppearanceUpdate |
In some cases the status bar is managed by Audiobus. | |
Audiobus Controller.
The main Audiobus class. Create an instance of this then create and add receiver, sender and/or filter ports as required.
+ (void) resetAllPeeredConnections |
Reset all peered Audiobus controllers.
Call this to forget all established connections with instances of the Audiobus app.
The first time there is an incoming connection from the Audiobus app, the Audiobus library will prompt the user for permission to allow the connection. Calling this method will forgot all granted permissions, so that the next incoming Audiobus connection will cause another prompt to accept or deny the connection.
- (id) initWithApiKey: | (NSString *) | apiKey |
Initializer.
apiKey | Your app's API key (find this at the bottom of your app's details screen accessible from https://developer.audiob.us/apps) |
- (void) startNetworkCommunications |
Explicitly enable networking, to communicate with Audiobus.
If your app provides an audio receiver port, you should call this method from your app delegate's application:openURL:sourceApplication:annotation: method if the URL given ends with ".audiobus", like so:
Then, tell the Audiobus SDK that it is safe to defer network start by adding to your Info.plist the key "ABShouldDeferNetworkStart" with boolean value YES.
Neither of these steps are required if you do not provide an audio receiver port.
Further discussion:
On iOS 14, users are prompted to allow local networking when the Audiobus SDK first opens network communications, required for Audiobus to function. To improve user experience, the Audiobus SDK defers starting networking on iOS 14 until the app is hosted within Audiobus. This is handled automatically for sender and filter ports, but if your app has an audio receiver port, you must perform the above steps to allow the Audiobus SDK to act when the app is opened from Audiobus via its ".audiobus" URL.
See also: prepareForNetworkCommunicationsBlock property.
- (void) addTrigger: | (ABTrigger *) | trigger |
Add a trigger.
This method allows you to define and add triggers that the user can invoke from outside your app, in order to make your app perform some function, such as toggling recording.
Calling this method more than once with the same trigger will have no effect the subsequent times.
trigger | The trigger |
- (void) addLocalOnlyTrigger: | (ABTrigger *) | trigger |
Same as addTrigger whith the difference that the trigger is not shown in AB Remote.
- (void) addRemoteTrigger: | (ABTrigger *) | trigger |
Add a trigger which is only shown in Audiobus Remote.
Triggers added by this method are only shown within Audiobus Remote. Use this method and addRemoteTriggerMatrix:rows:cols: to provide extended functionality for your app which can be used from within Audiobus Remote.
trigger | The trigger |
- (void) addRemoteTriggerMatrix: | (NSArray *) | triggers | |
rows: | (NSUInteger) | rows | |
cols: | (NSUInteger) | cols | |
transposable: | (BOOL) | transposable | |
Add a grid matrix of triggers for Audiobus Remote.
Triggers added by this method appear within Audiobus Remote as a grid of buttons. We recommend using this facility when a matrix layout is important to the user experience, such as with drum sample pads.
Please use this facility only if your button layout needs an explicit grid order. Otherwise, use addRemoteTrigger:, which allows Audiobus Remote to make better use of screen space.
triggers | An array of triggers. Size of the array must be rows * cols. |
rows | Number of rows; limited to 6 rows maximum. |
cols | Number of columns; limited to 6 cols maximum. |
transposable | If transposable is true the matrix is transposed if space can be saved. |
- (void) addRemoteTriggerMatrix: | (NSArray *) | triggers | |
rows: | (NSUInteger) | rows | |
- (void) removeTrigger: | (ABTrigger *) | trigger |
Remove a trigger.
Calling this method more than once with the same trigger will have no effect the subsequent times.
trigger | Trigger to remove |
- (ABPort*) portWithUniqueID: | (uint32_t) | uniqueID |
Returns the port with a given unique ID or Nil when not found.
- (ABPort*) portWithName: | (NSString *) | name |
Returns the port with a given name or Nil when not found.
- (NSArray*) allPorts |
Returns an array of objects of type ABPort*.
- (void) addAudioSenderPort: | (ABAudioSenderPort *) | port |
Add a sender port.
Sender ports let your app send audio to other apps.
You can create several sender ports to offer several separate audio streams. For example, a multi-track recorder could define additional sender ports for each track, so each track can be routed to a different place.
Ideally, the first port you create should perform some sensible default behaviour: This will be the port that is selected by default when the user taps your app in the Audiobus port picker.
port | The port to add |
- (void) addSenderPort: | ("Use addAudioSenderPort instead") | __deprecated_msg |
Deprecated.
Use addAudioSenderPort instead.
- (ABAudioSenderPort*) audioSenderPortNamed: | (NSString *) | name |
Access a sender port.
If you are sending audio from a Core Audio thread, then you should not use this method from within the thread. Instead, obtain a reference to the sender object ahead of time, on the main thread, then store the pointer in a context directly accessible in the Core Audio thread, to avoid making any Objective-C calls from within the thread.
name | Name of port |
- (ABAudioSenderPort*) senderPortNamed: | ("Use audioSenderPortNamed instead") | __deprecated_msg |
Deprecated.
Use addAudioSenderPort instead.
- (void) removeAudioSenderPort: | (ABAudioSenderPort *) | port |
Remove a sender port.
It is your responsibility to make sure you stop accessing the port prior to calling this method.
port | The port to remove |
- (void) removeSenderPort: | ("Use removeAudioSenderPort instead") | __deprecated_msg |
Deprecated.
Use addAudioSenderPort instead.
- (void) sortAudioSenderPortsUsingComparitor: | (NSComparator) | cmptr |
Sort the sender ports.
This method allows you to assign an order to the sender ports. This is the order in which the ports will appear within Audiobus.
cmptr | Comparitor block used to provide the order |
- (void) sortSenderPortsUsingComparitor: | ("Use sortAudioSenderPortsUsingComparitor instead") | __deprecated_msg |
Deprecated.
Use sortAudioSenderPortsUsingComparitor instead.
- (NSArray* senderPorts) __deprecated_msg | ("Use audioSenderPorts instead!") |
Deprecated.
Use audioSenderPorts instead.
- (void) addAudioFilterPort: | (ABAudioFilterPort *) | port |
Add a filter port.
Filter ports expose audio processing functionality to the Audiobus ecosystem, allowing users to use your app as an audio filtering node.
When you create a filter port, you pass in a block to be used to process the audio as it comes in.
port | The filter port |
- (void) addFilterPort: | ("Use addAudioFilterPort instead") | __deprecated_msg |
Deprecated.
Use addAudioFilterPort instead.
- (ABAudioFilterPort*) audioFilterPortNamed: | (NSString *) | name |
Get the filter port.
This is used to access the attributes of the connected ports. Note that the actual process of receiving and sending audio is handled automatically.
name | The name of the filter port |
- (ABAudioFilterPort*) filterPortNamed: | ("Use audioFilterPortNamed instead") | __deprecated_msg |
Deprecated.
Use audioFilterPortNamed instead.
- (void) removeAudioFilterPort: | (ABAudioFilterPort *) | port |
Remove a filter port.
port | The port to remove |
- (void) removeFilterPort: | ("Use removeAudioFilterPort instead") | __deprecated_msg |
Deprecated.
Use removeAudioFilterPort instead.
- (void) sortAudioFilterPortsUsingComparitor: | (NSComparator) | cmptr |
Sort the filter ports.
This method allows you to assign an order to the fiter ports. This is the order in which the ports will appear within Audiobus.
cmptr | Comparitor block used to provide the order |
- (void) sortFilterPortsUsingComparitor: | ("Use sortAudioFilterPortsUsingComparitor instead") | __deprecated_msg |
Deprecated.
Use sortAudioFilterPortsUsingComparitor instead.
- (NSArray* filterPorts) __deprecated_msg | ("Use audioFilterPorts instead!") |
Deprecated.
Use audioFilterPorts instead.
- (void) addAudioReceiverPort: | (ABAudioReceiverPort *) | port |
Add a receiver port.
Receiver ports allow your app to receive audio from other apps.
MIDI that any receiver port can receive inputs from any number of sources. You do not need to create additional receiver ports to receive audio from multiple sources.
Ideally, the first port you create should perform some sensible default behaviour: This will be the port that is selected by default when the user taps your app icon in the Audiobus port picker.
port | The receiver port |
- (void) addReceiverPort: | ("Use addAudioReceiverPort instead") | __deprecated_msg |
Deprecated.
Use addAudioReceiverPort instead.
- (ABAudioReceiverPort*) audioReceiverPortNamed: | (NSString *) | name |
Access a receiver port.
If you are receiving audio from a Core Audio thread, then you should not use this method from within the thread. Instead, obtain a reference to the receiver object ahead of time, on the main thread, then store the pointer in a context directly accessible in the Core Audio thread, to avoid making any Objective-C calls from within the thread.
name | Name of port. |
- (ABAudioReceiverPort*) receiverPortNamed: | ("Use audioReceiverPortNamed instead") | __deprecated_msg |
Deprecated.
Use audioReceiverPortNamed instead.
- (void) removeAudioReceiverPort: | (ABAudioReceiverPort *) | port |
Remove a receiver port.
It is your responsibility to make sure you stop accessing the port prior to calling this method.
port | The port to remove |
- (void) removeReceiverPort: | ("Use removeAudioReceiverPort instead") | __deprecated_msg |
Deprecated.
Use removeAudioReceiverPort instead.
- (void) sortAudioReceiverPortsUsingComparitor: | (NSComparator) | cmptr |
Sort the receiver ports.
This method allows you to assign an order to the receiver ports. This is the order in which the ports will appear within Audiobus.
cmptr | Comparitor block used to provide the order |
- (void) sortReceiverPortsUsingComparitor: | ("Use sortAudioReceiverPortsUsingComparitor instead") | __deprecated_msg |
Deprecated.
Use sortAudioReceiverPortsUsingComparitor instead.
- (NSArray* receiverPorts) __deprecated_msg | ("Use audioReceiverPorts instead!") |
Deprecated.
Use audioReceiverPorts instead.
- (void) addMIDISenderPort: | (ABMIDISenderPort *) | port |
Add a MIDI port.
Sender ports let your app send MIDI to other apps.
You can create several MIDI ports to offer several separate MIDI streams. For example, a multi-track MIDI sequencer could define additional MIDI ports for each track, so each track can be routed to a different place.
port | The port to add |
- (void) removeMIDISenderPort: | (ABMIDISenderPort *) | port |
Remove a MIDI port.
It is your responsibility to make sure you stop accessing the port prior to calling this method.
port | The port to remove |
- (void) sortMIDISenderPortsUsingComparitor: | (NSComparator) | cmptr |
Sort the MIDI ports.
This method allows you to assign an order to the sender ports. This is the order in which the MIDI ports will appear within Audiobus.
cmptr | Comparitor block used to provide the order |
- (ABMIDISenderPort *) MIDISenderPortNamed: | (NSString *) | name |
Get the MIDI Port.
This is used to access the attributes of the connected ports.
name | The name of the MIDI port |
- (void) addMIDIFilterPort: | (ABMIDIFilterPort *) | port |
Add a MIDI Filter port.
Filter ports let your app transform MIDI received from other apps.
You can create several MIDI Filter ports to process several separate MIDI streams. For example, a multi-track MIDI arpeggiator could define additional MIDI Filter ports for each track, so each track can be routed to a different place.
port | The port to add |
- (void) removeMIDIFilterPort: | (ABMIDIFilterPort *) | port |
Remove a MIDI Filter port.
It is your responsibility to make sure you stop accessing the port prior to calling this method.
port | The port to remove |
- (void) sortMIDIFilterPortsUsingComparitor: | (NSComparator) | cmptr |
Sort the MIDI Filter ports.
This method allows you to assign an order to the filter ports. This is the order in which the MIDI ports will appear within Audiobus.
cmptr | Comparitor block used to provide the order |
- (ABMIDIFilterPort *) MIDIFilterPortNamed: | (NSString *) | name |
Get the MIDI Filter port.
This is used to access the attributes of the connected ports.
name | The name of the MIDI Filter port |
- (void) addMIDIReceiverPort: | (ABMIDIReceiverPort *) | port |
Add a MIDI Receiver port.
Filter ports let your app receive MIDI from other apps.
You can create several MIDI Receiver ports to process several separate MIDI streams. For example, a multi-track MIDI recorder could define additional MIDI Filter ports for each track, so each track can be routed to a different place.
port | The port to add |
- (void) removeMIDIReceiverPort: | (ABMIDIReceiverPort *) | port |
Remove a MIDI Receiver port.
It is your responsibility to make sure you stop accessing the port prior to calling this method.
port | The port to remove |
- (void) sortMIDIReceiverPortsUsingComparitor: | (NSComparator) | cmptr |
Sort the MIDI Receiver ports.
This method allows you to assign an order to the filter ports. This is the order in which the MIDI ports will appear within Audiobus.
cmptr | Comparitor block used to provide the order |
- (ABMIDIReceiverPort *) MIDIReceiverPortNamed: | (NSString *) | name |
Get the MIDI Receiver port.
This is used to access the attributes of the connected ports.
name | The name of the MIDI Receiver port |
- (BOOL memberOfActiveAudiobusSession) __deprecated_msg | ("You should now ignore this) | property | |
(and shut down your audio engine once) | disconnected | ||
(regardless of Audiobus session state.") | |||
Whether the app is part of an active Audiobus session.
This now-deprecated property reflected whether your app is currently part of an active Audiobus session, which means the app has been used with Audiobus before, and the Audiobus app is still running.
We once requested that you observe this property in order to manage your app's lifecycle, and remain active in the background if an Audiobus session was still in progress (this property value was YES). Under Audiobus 3 later, we now prefer you shut down your app's audio engine once it becomes disconnected, so you should now ignore this property.
- (void) setNeedsStatusBarAppearanceUpdate |
In some cases the status bar is managed by Audiobus.
Call this function when the status bar needs an update.
|
readnonatomicassign |
Currently defined sender ports.
The sender ports you have registered with addSenderPort:, as an array of ABAudioSenderPort.
|
readnonatomicassign |
Currently defined filter ports.
The filter ports you have registered with addFilterPort:, as an array of ABAudioFilterPort.
|
readnonatomicassign |
Currently defined receiver ports.
The receiver ports you have registered with addReceiverPort:, as an array of ABAudioReceiverPort.
|
readnonatomicassign |
Currently defined MIDI ports.
The sender ports you have registered with addMIDISenderPort:, as an array of ABMIDISenderPorts.
|
readnonatomicassign |
Currently defined MIDI Filter ports.
The filter ports you have registered with addMIDIFilterPort:, as an array of ABMIDIFilterPorts.
|
readnonatomicassign |
Currently defined MIDI Receiver ports.
The filter ports you have registered with addMIDIReceiverPort:, as an array of ABMIDIReceiverPorts.
|
readwritenonatomicassign |
Whether to allow this app to connect its input to its own output.
If you set this to YES, then Audiobus will allow users to add your app in the input and output positions simultaneously, allowing the app's output to be piped back into its input.
If you wish to support this functionality, you must either (a) pass NULL for the audioUnit parameter of ABAudioSenderPort's initialiser, which will cause the port to create its own separate audio unit for the connection, and explicitly use ABAudioSenderPortSend to send audio, or (b) ensure the audioUnit parameter is distinct from your app's main audio unit (the one from which you call ABAudioReceiverPortReceive.
If you do not do this, your app's audio system will stop running once a connection to self is established, due to a loop in the audio unit connections. Note that this requirement has been newly introduced with Audiobus 3, for technical reasons. See the AB Receiver sample app for a demonstration of this functionality.
By default, this is disabled, as some apps may not function properly if their audio pipeline is traversed multiple times in the same time step.
|
readwritenonatomicassign |
Connection panel position.
This defines where the connection panel appears within your app, when necessary.
You can set this at any time, and the panel, if visible, will animate to the new location.
|
readnonatomicassign |
Whether connection panel is visible.
This property supports key-value observing.
|
readnonatomicassign |
The current connection panel frame (in window coordinates)
This property supports key-value observing. When the connection panel is hidden, this property will have the value CGRectZero.
|
readnonatomicstrong |
All available peers .
|
readnonatomicstrong |
All peers that are connected as part of the current session.
|
readnonatomicstrong |
All ports that are connected as part of the current session.
|
readnonatomicassign |
Whether the app is connected to anything via Audiobus or Inter-App Audio.
Note that due to the asynchronous nature of Inter-App Audio connections within Audiobus when connected to peers using the 2.1 Audiobus SDK or above, you may see this property change to YES before the audiobusConnected and interAppAudioConnected are both YES.
|
readnonatomicassign |
Whether the app is connected to anything via Audiobus specifically (not Inter-App Audio)
Note that due to the asynchronous nature of Inter-App Audio connections within Audiobus when connected to peers using the 2.1 Audiobus SDK or above, you may see this property change to YES before the interAppAudioConnected property changes to YES, or vice versa.
|
readnonatomicassign |
Whether your app is connected to anything via Audiobus 2 specifically (not Inter-App Audio)
Same as audiobusConnected but with the difference that the property becomes only true when your app is connected to Audiobus 2.
|
readnonatomicassign |
Whether your app is connected to anything via Audiobus 3 specifically (not Inter-App Audio)
Same as audiobusConnected but with the difference that the property becomes only true when your app is connected to Audiobus 3.
|
readnonatomicassign |
Whether the port is connected via Inter-App Audio.
Note that this property will also return YES when connected to Audiobus peers using the 2.1 SDK.
Note that due to the asynchronous nature of Inter-App Audio connections within Audiobus when connected to peers using the 2.1 Audiobus SDK or above, you may see this property change to YES before the audiobusConnected property changes to YES, or vice versa.
|
readnonatomicassign |
Whether the MIDI port is connected to Audiobus.
When your app provides at least one MIDI port this property reflects wether this port is connected to some other inter app audio instrument.
|
readnonatomicassign |
Whether the Audiobus app is running on this device.
|
readwritenonatomicassign |
State input/output delegate.
This delegate provides methods to save and load state specific to your app, in response to preset save and load operations from within Audiobus.
This feature is optional but recommended, as it allows your users to save and restore the state of your app as part of their workspace.
|
readwritenonatomiccopy |
Prepare to enable network communications.
This block will be called when the SDK needs to enable networking to communicate with Audiobus. This will happen when your app detects an incoming Inter-App Audio connection while Audiobus is installed, or when the app is launched using your ".audiobus" launch URL.
You may use this opportunity to prepare the user to receive a network permission prompt. If you provide a block via this property, you should call the 'continueBlock' provided when ready, which will cause the Audiobus SDK to request network access and begin communicating with Audiobus.
See also: startNetworkCommunications
|
readwritenonatomiccopy |
Set this block to be informed wether your app should show or hide its Inter-App audio transport panel.
When your app is connected to Audiobus the Inter-App audio transport panel needs to be hidden. Set a block here which shows / hides the panel depending on the parameter "hidePanel".
|
readwritenonatomiccopy |
For apps with MIDI Receiver ports: Set this block to prevent receiving Core MIDI events twice.
Audiobus will collect Core MIDI events and route it to your synth app. Thus your app might not want to receive these Core MIDI events directly from Core MIDI sources. Assign a block to this property which enables or disables Core MIDI receiving depending on the parameter "receivingEnabled".
|
readwritenonatomiccopy |
For Apps with MIDI sender ports: Set this block to prevent double MIDI routings.
Assign a block to this property which enables or disables Core MIDI receiving depending on the parameter "sendingEnabled". Audiobus will call this block if it starts and stops receiving MIDI from your app. Thus we will prevent that apps connected to Audiobus receive MIDI twice from your MIDI controller: One time from via Audiobus and a second time directly.