 //
 
 /// A timing protocol used for syncronizing different audio sources.
-@objc protocol AKTiming {
+@objc public protocol AKTiming {
 
     /// Starts playback at a specific time.
     /// - Parameter audioTime: A time in the audio render context.


    /// Initialize with a node to be used for timing info.
    /// - Parameter node: A node to be used for timing information.
    init(node: AKOutput) {
        self.node = node
    }
}

    private var baseTime: AVAudioTime?

    /// The current time in the timeline (seconds).
    open var currentTime: Double {
        get { return time(atAudioTime: nil) }
        set { setTime(newValue) }
    }

    /// Sets the current time in the timeline (seconds).
    open func setTime(_ time: Double) {
        stop()
        idleTime = time
    }
