Opened 16 years ago

Closed 16 years ago

Last modified 10 months ago

#1092 closed defect (fixed)

IMUSE: Pitchbend isn't reset when changing tracks

Reported by: eriktorbjorn Owned by: SF/jamieson630
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game:

Description

This bug report will describe a specific case in Fate
of Atlantis, but it probably applies to iMUSE in general.

While walking around the outer circle of Atlantis, I
suddenly noticed that one of the parts was way out of
tune. It turned out that it had a pretty large
_pitchbend value. If I set it to 0 it sounded fine again.

I believe I've figured out what must have happend. I
even managed to reproduce it once, but it's tricky:

There seem to be three different tracks, numbered 0, 1
and 2, which are picked randomly when entering a room.
Changing tracks is done with the Player::scan() function.

Track 1 starts using pitchbend after about 35-40
seconds. The part that is being bent is very audible in
track 0. I entered a room, getting track 0, left the
room, and re-entered it again after not quite 37
seconds, this time getting track 0. By timing it just
right - this took several attempts - I managed to get
the change to happen in mid-pitchbend.

If the track had been allowed to continue on its own,
it would have reset the pitchbend to 0 of course. But
since the track changed, this never happened.

So, to summarize, there is a problem, I know how to
reproduce it (though I may not be able to do so at
will), and I have a good guess on how to fix it. But
I'd prefer if someone who actually understands the
iMUSE code would do it. Particularly since there may be
related bugs there as well.

(I can provide a savegame, I just forgot to bring one.)

Ticket imported from: #780924. Ticket imported from: bugs/1092.

Change History (4)

comment:1 Changed 16 years ago by eriktorbjorn

Owner: set to SF/jamieson630

comment:2 Changed 16 years ago by SF/jamieson630

Resolution: fixed
Status: newclosed

comment:3 Changed 16 years ago by SF/jamieson630

Well, despite knowing exactly where the pitchbend occurs, I
had to run the music at 50% speed to reproduce the problem.
Fix is in CVS. Thanks, eriktorbjorn -- I'm impressed that you
caught this!

comment:4 Changed 10 months ago by digitall

Component: --Unset--Engine: SCUMM
Note: See TracTickets for help on using tickets.