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 ) -> SubscriberTokenParameters
subscriberthe object doing the monitoring
notifierthe closure to invoke when a change takes place
Return Value
token that can be used to unsubscribe
-
isMainAppExtension methodReturns true if running in the app, false when running in the AUv3 extension.
Declaration
Swift
public var isMainApp: Bool { get }
View on GitHub
ComponentContainer Protocol Reference