         if fade.inTime == 0 && fade.outTime == 0 {
             return
         }
-        AKLog("fadeBuffer() inTime: \(fade.inTime) outTime: \(fade.outTime)")
+        //AKLog("fadeBuffer() inTime: \(fade.inTime) outTime: \(fade.outTime)")
 
         guard isBuffered,
             let buffer = self.buffer,

                                       frameCount: frameCount,
                                       at: audioTime,
                                       completionCallbackType: .dataPlayedBack,
                                       completionHandler: handleCallbackComplete)
        } else {
            // Fallback on earlier version
            playerNode.scheduleSegment(audioFile,


        let bufferOptions: AVAudioPlayerNodeBufferOptions = isLooping ? [.loops, .interrupts] : [.interrupts]

        // AKLog("Scheduling buffer...\(startTime) to \(endTime)")
        if #available(iOS 11, macOS 10.13, tvOS 11, *) {
            playerNode.scheduleBuffer(buffer,
                                      at: audioTime,
                                      options: bufferOptions,
                                      completionCallbackType: .dataPlayedBack,
                                      completionHandler: completionHandler != nil ? handleCallbackComplete : nil)
        } else {
            // Fallback on earlier version
            playerNode.scheduleBuffer(buffer,
