             if isAVSequencer {
                 return Double(avSequencer.rate)
             } else {
+                print("AVSequencer ERROR ! rate only work if isAVSequencer ")
                 return nil
             }
         }
         set {
             if isAVSequencer {
                 avSequencer.rate = Float(newValue!)
+            } else {
+                print("AVSequencer ERROR ! rate only work if isAVSequencer ")
             }
         }
     }

    ///   - duration: Length of time after the start position to clear
    ///
    public func clearRange(start start: AKDuration, duration: AKDuration) {
        if isAVSequencer { return }

        for track in tracks {
            track.clearRange(start: start, duration: duration)


    /// Get a new track
    public func newTrack(name: String = "Unnamed") -> AKMusicTrack? {
        if isAVSequencer {
            print("AVSequencer ERROR ! newTrack only work if not isAVSequencer ")
            return nil }

        var newMusicTrack: MusicTrack = nil
        MusicSequenceNewTrack(sequence, &newMusicTrack)
