[Scummvm-tracker] [ScummVM :: Bugs] #15890: SCI: SLATER: Hanging MIDI notes

ScummVM :: Bugs trac at scummvm.org
Sun Sep 14 23:02:48 UTC 2025


#15890: SCI: SLATER: Hanging MIDI notes
----------------------+------------------------------------------
Reporter:  Thelypody  |       Owner:  (none)
    Type:  defect     |      Status:  new
Priority:  normal     |   Component:  Engine: SCI
 Version:             |  Resolution:
Keywords:             |        Game:  Slater & Charlie Go Camping
----------------------+------------------------------------------
Comment (by sluicebox):

 Here's what I'm found (using Adlib):

 1. When changing Slater pages, the old page's music fades out while the
 new page's fades in.
 2. Both sounds have a channel 9 track (zero-based) with priority 0 and
 flag 2 set. We call this the `doNotRemap` flag, Sierra called it the
 "locked" flag.
 3. Channel remapping unmaps the old sound because they can't both have
 channel 9 and they both set priorty 0 on that track. The new sound has
 higher priority because it was added later, so it wins. (So far, this all
 appears to be correct behavior to me.)
 4. If the old sound had a note on in one of its other channels (not
 channel 9) then when the new sound is remapped, and one of its tracks is
 mapped to that channel, the note from the old sound keeps playing.

 I've done some tests to confirm that this is the nature of the problem,
 such as using SCI Companion to disable channel 9 on one of the sounds to
 show that this avoids hanging notes, because then remapping allows both
 sounds to co-exist until fade-out completes. (The sounds for pages 2 and 3
 are 113 and 130)

 So to me, the question is, when a sound gets unmapped by remapping as a
 new sound takes its former channel, what is it that's supposed to turn off
 the old sound's note? The original never hangs notes here, but I haven't
 been able to figure out what it's doing to prevent that. (I'm new to the
 MIDI / channel mapping stuff)

 Also, I don't think this is really a regression from ancient ScummVM, this
 looks like an inaccuracy exposed by our many other fixes from that time.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15890#comment:4>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list