AudioBus Icon

December 9, 2017 ยท View on GitHub

// ********************************************************** // MARK: - AudioBus Host Icon // **********************************************************

private func startObservingInterAppAudioConnections() {
    audioUnitPropertyListener = AudioUnitPropertyListener { (audioUnit, property) in
        self.hostAppIcon.image = AudioOutputUnitGetHostIcon(AudioKit.engine.outputNode.audioUnit!, 44)
    }
    
    AudioKit.engine.outputNode.audioUnit!.add(listener: audioUnitPropertyListener, toProperty: kAudioUnitProperty_IsInterAppConnected)
}

@IBAction func openHostApp(_ sender: AnyObject) {
    
    var url: CFURL = CFURLCreateWithString(nil, "" as CFString!, nil)
    var size = UInt32(MemoryLayout<CFURL>.size)
    let result = AudioUnitGetProperty(
        AudioKit.engine.outputNode.audioUnit!,
        AudioUnitPropertyID(kAudioUnitProperty_PeerURL),
        AudioUnitScope(kAudioUnitScope_Global),
        0,
        &url,
        &size)
    
    if result == noErr {
        UIApplication.shared.open(url as URL)
    }
}