Components

public final class Components<T: UIViewController>: SubscriptionManager<ComponentContainerEvent>,
  ComponentContainer
where T: ControllerConfiguration

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 configuration file that defines what fonts are installed and customizations

    Declaration

    Swift

    public let consolidatedConfigFile: ConsolidatedConfigFile
  • Manager that controls when to ask for a review from the customer

    Declaration

    Swift

    public let askForReview: AskForReview
  • The manager for the collection of sound fonts

    Declaration

    Swift

    public let soundFonts: SoundFonts
  • The manager for the collection of favorites

    Declaration

    Swift

    public let favorites: Favorites
  • The manager for the collection of sound font tags

    Declaration

    Swift

    public let tags: Tags
  • The manager of the active preset

    Declaration

    Swift

    public let activePatchManager: ActivePatchManager
  • The manager of the selected sound font

    Declaration

    Swift

    public let selectedSoundFontManager: SelectedSoundFontManager
  • True if running in the app; false when running in the AUv3 app extension

    Declaration

    Swift

    public let inApp: Bool
  • The main view controller of the app

    Declaration

    Swift

    public private(set) var mainViewController: T! { get set }
  • The controller for the info bar

    Declaration

    Swift

    public var infoBar: InfoBar { get }
  • The controller for the keyboard (nil when running in the AUv3 app extension)

    Declaration

    Swift

    public var keyboard: Keyboard? { get }
  • The manager of the fonts/presets view

    Declaration

    Swift

    public var fontsViewManager: FontsViewManager { get }
  • The manager of the favorites view

    Declaration

    Swift

    public var favoritesViewManager: FavoritesViewManager { get }
  • Swipe actions generator for sound font rows

    Declaration

    Swift

    public var fontEditorActionGenerator: FontEditorActionGenerator { get }
  • The manager for posting alerts

    Declaration

    Swift

    public var alertManager: AlertManager { get }
  • The sampler engine that generates audio from sound font files

    Declaration

    Swift

    public var sampler: Sampler { get }
  • The delay effect available for audio processing (app only)

    Declaration

    Swift

    public var delayEffect: DelayEffect? { get }
  • The reverb effect available for audio processing (app only)

    Declaration

    Swift

    public var reverbEffect: ReverbEffect? { get }
  • Create a new instance

    Declaration

    Swift

    public init(inApp: Bool)

    Parameters

    inApp

    true if running in the app

  • Install the main view controller

    Declaration

    Swift

    public func setMainViewController(_ mvc: T)

    Parameters

    mvc

    the main view controller to use

  • Invoke establishConnections on each tracked view controller.

    Declaration

    Swift

    public func establishConnections()