----- Original Message -----
From: "Christoph Reichenbach" <[EMAIL PROTECTED]>
To: "Alexander R Angas" <[EMAIL PROTECTED]>
Sent: Monday, September 24, 2001 1:37 AM
Subject: Re: sci0_soundserver() questions


> Hi Alex,
>
>
> > In the SOUND_COMMAND_INIT_SONG switch case, what do these comments mean?
> >       /* set default reverb */
> >       /* midi_reverb(-1); */
> >       /* midi_allstop(); */
>
> Hmm, my guess (they're not from me, IIRC) would be that they mean that we
> should, at this point, disable reverb and stop all active notes, but
> aren't doing so because the functionality for this hasn't been implemented
> yet (and because no one has complained so far).
> I'm not sure it this is relevant or even correct. Only way to try this out
> would be to implement it and see if something sounds different.
>
>
> > In SOUND_COMMAND_SET_MUTE, why should this never happen?
>
> I used to think that we'd need a mute command; apparently, we don't (SCI
> probaly sets the volume to 0). Interestingly, kSound() indeed sends a MUTE
> message- apparently, this command is never (or only very rarely) used.
>
> It's a missing feature, as far as I can tell.
>
>
> > In SOUND_COMMAND_FADE_HANDLE, what does it mean if event.handle ==
0x0000?
> > Does this mean fade everything?
>
> "Fade current song". This was IIRC determined by experimenting and seems
> to work fine.
>
> > I'm trying to work out the difference between newsong, song, and
oldsong.
> > Please correct me if I'm wrong: I think newsong is the currently playing
> > song, oldsong is the last song that was played. I'm still not sure what
song
> > is - the currently playing song as well?
>
> This is quite confusing indeed. Again, I must apologize for the poor
> quality of this code... anyway, here it goes:
>
> oldsong is either the current song, or, if the current song just changed,
> the song we just abandoned.
>
> song is the currently playing song.
>
> newsong is either the currently playing song, or, temporarily, the new
> song, if the current song just changed.
>
> This is crap, though- two song pointers should be sufficient.
>
> > In the 'Handle output' section, the first block of code checks if the
song
> > has been changed and sets up polyphony, etc. values. Why isn't this done
in
> > SOUND_COMMAND_INIT_SONG? Similarly for the last block of code in
> > sci0_soundserver() where oldsong is compared to newsong.
>
> The reason for this is that there are other causes that might trigger a
> song change, like the current song (or sound effect) running out and a
> song with a lower priority (such as the background music) taking over. A
> good example is casting a spell in the bear/kobold cave in HQ.
>
>
> I hope I've been helpful. Please consider this with a small grain of salt,
> as it's been a while since I last touched this code for any substantial
> changes.
>
> llap,
>  Christoph
>
>


Reply via email to