     }
 
     /// Add a MIDI note to the track
+    /// - Parameters:
+    ///   - noteNumber: MIDI Note number to add
+    ///   - velocity: Velocity of the note
+    ///   - channel: Channel to place the note on
+    ///   - position: Location in beats of the new note
+    ///   - duration: Duration in beats of the new note
+    ///   - trackIndex: Which track to add the note to
     open func add(noteNumber: MIDINoteNumber,
                   velocity: MIDIVelocity = 127,
                   channel: MIDIChannel = 0,

        }
    }

    public convenience init(fromURL fileURL: URL, targetNodes: [AKNode]) {
        self.init(targetNodes: targetNodes)
        load(midiFileURL: fileURL)


    /// Initialize with a single node or with no node at all
    /// You must provide a target node for the sequencer to drive or it will not run at all
    /// - Parameter targetNode: Required node
    public convenience init(targetNode: AKNode) {
        self.init(targetNodes: [targetNode])
    }

    /// Initialize with target nodes. This will create a track for each node
    /// - Parameter targetNodes: Array of nodes to target for each track
    public required init(targetNodes: [AKNode]? = nil) {
        if let targetNodes = targetNodes {
            tracks = targetNodes.enumerated().map({ AKSequencerTrack(targetNode: $0.element) })
