Okay, after figuring out that the "pcmplay" in 1.0a2 doesn't open in O_SYNC, I finally got ttsd working as I expected it to. I'm *shocked* that I got the audio overlay patch to work right the first time! I was *sure* something in Hijack would confuse it somehow.
Anyway, no snow here, not sure why you're getting that. Any more information? When does it happen?
I also get the volume spike after it fades down and up. The BG music volume is configurable (well, via #defines) in the audio overlay patch:
/* Audio overlay specific variables */
#define AUDIO_OVERLAY_BUFFERS (16)
#define MAX_FREE_OVERLAY_BUFFERS (AUDIO_OVERLAY_BUFFERS - 2)
#define AUDIO_OVERLAY_BG_VOLUME_FADED (0x00004000)
#define AUDIO_OVERLAY_BG_VOLUME_MAX (0x00010000)
#define AUDIO_OVERLAY_BG_VOLUME_FADESTEP (0x00000AAA)
int audio_overlay_bg_volume = AUDIO_OVERLAY_BG_VOLUME_MAX;
.
But I suspect that the spike has something to do with Hijack and/or Voladj logic. Maybe we can ask Mark Lord... But I'll see if I can find something... But I'm really impressed that all this is working this well already... Great stuff!