/*  call-seq:
 *     fading?( direction = nil )  ->  true or false
 *
 *  True if the music is fading in or out (or either). You can
 *  specify +direction+ as :in/:out to check only fading in/out;
 *  otherwise, it will return true if it's fading either way.
 *
 *  direction::  :in, :out, or nil if you don't care which.
 *  Returns::    true if the music is fading in the given direction.
 */
VALUE rbgm_mixmusic_fading(int argc, VALUE *argv, VALUE self)
{
  VALUE dirv;
  rb_scan_args(argc, argv, "01", &dirv);

  if( dirv == make_symbol("in") )
  {
    return ( (Mix_FadingMusic() == MIX_FADING_IN)  ? Qtrue : Qfalse );
  }
  else if( dirv == make_symbol("out") )
  {
    return ( (Mix_FadingMusic() == MIX_FADING_OUT) ? Qtrue : Qfalse );
  }
  else
  {
    return ( (Mix_FadingMusic() != MIX_NO_FADING)  ? Qtrue : Qfalse );
  }
}