 //
 
 #if !os(tvOS)
-import CoreAudioKit
+    import CoreAudioKit
 #endif
 
 #if !os(macOS)
-import UIKit
+    import UIKit
 #endif
 import Dispatch
 


    /// Disconnect all inputs
    @objc public static func disconnectAllInputs() {
        engine.disconnectNodeInput(finalMixer.avAudioNode)
    }
}

        didSet {
            do {
                try updateSessionCategoryAndOptions()

                // if the assigned output is already a mixer, avoid creating an additional mixer and just use
                // that input as the finalMixer
                if let mixerInput = output as? AKMixer {
                    finalMixer = mixerInput
                } else {
                    // otherwise at this point create the finalMixer and add the input to it
                    let mixer = AKMixer()
                    output?.connect(to: mixer)
                    finalMixer = mixer
                }
                guard let finalMixer = finalMixer else { return }
                engine.connect(finalMixer.avAudioNode, to: engine.outputNode, format: AKSettings.audioFormat)

            } catch {
                AKLog("Could not set output: \(error)")
            }
        }
    }

    #if os(macOS)
        /// Enumerate the list of available devices.
        @objc public static var devices: [AKDevice]? {
            EZAudioUtilities.setShouldExitOnCheckResultFail(false)
            return EZAudioDevice.devices().map { AKDevice(ezAudioDevice: $0 as! EZAudioDevice) }
        }
    #endif

    /// Enumerate the list of available input devices.
