/*
 *  call-seq:
 *    pause  ->  self
 *
 *  Pause the Sound. Unlike #stop, it can be unpaused later to resume
 *  from where it was paused. See also #unpause and #paused?.
 *
 *  Returns::     The receiver (self).
 *
 *  **NOTE**: Does nothing if the sound is not currently playing.
 *
 */
static VALUE rg_sound_pause( VALUE self )
{
        RG_Sound *sound;
        Data_Get_Struct(self,  RG_Sound, sound);

        int channel = sound->channel;

        /* Make sure the sound actually belongs to the channel */
        if( _rg_sound_channel_check(sound) )
        {
                Mix_Pause( channel );
        }

        return self;
}