/*
* call-seq:
* stop -> self
*
* Stop the Sound. Unlike #pause, the sound must be played again from
* the beginning, it cannot be resumed from it was stopped.
*
* Returns:: The receiver (self).
*
* **NOTE**: Does nothing if the sound is not currently playing or paused.
*
*/
static VALUE rg_sound_stop( 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_HaltChannel( channel );
}
return self;
}