 /// played from disk. If you want seamless looping then buffer it. You can still loop from disk, but the
 /// loop will not be totally seamless.
 
-public class AudioPlayer: Node, HasInternalConnections {
+public class AudioPlayer: Node {
 
     /// Nodes providing input to this node.
     public var connections: [Node] { [] }

            play()
            return
        }
    }

    // called in the connection chain to attach the playerNode
    public func makeInternalConnections() {
        guard let engine = mixerNode.engine else {
            Log("Engine is nil", type: .error)
            return
        }
        engine.attach(playerNode)
        engine.connect(playerNode, to: mixerNode, format: file?.processingFormat)
    }
    
    // MARK: - Init

        self.buffer = buffer
    }
}

extension AudioPlayer: HasInternalConnections {

    // called in the connection chain to attach the playerNode
    public func makeInternalConnections() {
        guard let engine = mixerNode.engine else {
            Log("Engine is nil", type: .error)
            return
        }
        engine.attach(playerNode)
        engine.connect(playerNode, to: mixerNode, format: file?.processingFormat)
    }

}
