ComponentContainer
public protocol ComponentContainer
Collection of UIViewControllers and protocol facades which helps establish inter-controller relationships during the
application launch. Each view controller is responsible for establishing the connections in their
establishConnections
method. The goal should be to have relations between a controller and protocols / facades, and
not between controllers themselves. This is enforced here through access restrictions to known controllers.
-
The Sampler that is used to generate sounds
Declaration
Swift
var sampler: Sampler { get }
-
The collection of installed sound font files
Declaration
Swift
var soundFonts: SoundFonts { get }
-
The collection of favorite presets
Declaration
Swift
var favorites: Favorites { get }
-
The collection of user-defined tags for sound fonts
Declaration
Swift
var tags: Tags { get }
-
The manager that tracks and holds the active preset that is in use in the samplers
Declaration
Swift
var activePatchManager: ActivePatchManager { get }
-
The manager that tracks and holds the selected sound font. It is not necessarily the sound font that has the active preset.s
Declaration
Swift
var selectedSoundFontManager: SelectedSoundFontManager { get }
-
The manager for the info bar that sits below the sound font and preset table views and above the keyboard.
Declaration
Swift
var infoBar: InfoBar { get }
-
The keyboard manager if inside the application; the AUv3 component has no keyboard and so this will be nil.
Declaration
Swift
var keyboard: Keyboard? { get }
-
The manager of the preset table view
Declaration
Swift
var fontsViewManager: FontsViewManager { get }
-
The manager of the favorites collection view
Declaration
Swift
var favoritesViewManager: FavoritesViewManager { get }
-
The provider of swipe actions for the sound fonts view
Declaration
Swift
var fontEditorActionGenerator: FontEditorActionGenerator { get }
-
The reverb effect that is used if inside the application; the AUv3 component has none, so this will be nil.
Declaration
Swift
var reverbEffect: ReverbEffect? { get }
-
The delay effect that is used if inside the application; the AUv3 component has none, so this will be nil.
Declaration
Swift
var delayEffect: DelayEffect? { get }
-
Subscribe to notifications when the collection changes. The types of changes are defined in FavoritesEvent enum.
Declaration
Swift
@discardableResult func subscribe<O: AnyObject>( _ subscriber: O, notifier: @escaping (ComponentContainerEvent) -> Void ) -> SubscriberToken
Parameters
subscriber
the object doing the monitoring
notifier
the closure to invoke when a change takes place
Return Value
token that can be used to unsubscribe
-
isMainApp
Extension methodReturns true if running in the app, false when running in the AUv3 extension.
Declaration
Swift
public var isMainApp: Bool { get }