             }
         }
     }
-
-    /**
-    A Boolean value that specifies the audio-level metering on/off state for the audio player.
-    The default value for the meteringEnabled property is off (Boolean false). Before using metering for an audio player, you need to enable it by setting this property to true. If player is an audio player instance variable of your controller class, you enable metering as shown here:
-
-        let ap = C4AudioPlayer("audioTrackFileName")
-        ap.meteringEnabled = true
-
-    */
+    
+    /// A Boolean value that specifies the audio-level metering on/off state for the audio player.
+    /// The default value for the meteringEnabled property is off (Boolean false). Before using metering for an audio player, you need to enable it by setting this
+    /// property to true. If player is an audio player instance variable of your controller class, you enable metering as shown here:
+    ///
+    /// ````
+    /// let ap = C4AudioPlayer("audioTrackFileName")
+    /// ap.meteringEnabled = true
+    /// ````
     public var meteringEnabled : Bool {
         get {
             return currentPlayer.meteringEnabled

        }
    }
    
    /**
    The playback volume for the audio player, ranging from 0.0 through 1.0 on a linear scale.
    A value of 0.0 indicates silence; a value of 1.0 (the default) indicates full volume for the audio player instance.
    Use this property to control an audio player’s volume relative to other audio output.
    To provide UI in iOS for adjusting system audio playback volume, use the MPVolumeView class, which provides media playback controls that users expect and whose appearance you can customize.
    */
    public var volume : Double {
        get {
            return Double(currentPlayer.volume)

        currentPlayer.enableRate = true
    }
    
    /// Plays a sound asynchronously.
    public func play() {
        currentPlayer.play()
    }
    
    /// Pauses playback; sound remains ready to resume playback from where it left off.
    /// Calling pause leaves the audio player prepared to play; it does not release the audio hardware that was acquired upon
    /// calling play or prepareToPlay.
    public func pause() {
        currentPlayer.pause()
    }
    
    /// Stops playback and undoes the setup needed for playback.
    /// Calling this method, or allowing a sound to finish playing, undoes the setup performed upon calling the play or
    /// prepareToPlay methods.
    /// The stop method does not reset the value of the currentTime property to 0. In other words, if you call stop during
    /// playback and then call play, playback resumes at the point where it left off.
    public func stop() {
        currentPlayer.stop()
    }
    
    /// Returns the total duration, in seconds, of the sound associated with the audio player. (read-only)
    public var duration : Double {
        get {
            return Double(currentPlayer.duration)
        }
    }
    
    /// Returns true if the receiver's current playback rate > 0. Otherwise returns false.
    public var playing : Bool {
        get {
            return currentPlayer.playing
        }
    }
    
    /// The audio player’s stereo pan position.
    /// By setting this property you can position a sound in the stereo field. A value of –1.0 is full left, 0.0 is center, and
    /// 1.0 is full right.
    public var pan : Double {
        get {
            return Double(currentPlayer.pan)
