Opened 16 years ago

Closed 16 years ago

Last modified 11 months ago

#1263 closed defect (fixed)

ALL: with MT-32 one channel is not muting

Reported by: SF/logicdeluxe Owned by: SF/jamieson630
Priority: normal Component: Audio: MT32
Keywords: Cc:
Game: Monkey Island 2

Description

ScummVM 0.5.3cvs (Oct 4 2003 13:53:12)
When pausing the game the channels are supposed to be
muting while in pause mode. However in native MT-32
mode, one of the channels always remain at the current
volume instead of muting and sometimes hanging notes
are audible on that channel during pause mode. Might be
a bug in the channel mapping and also might be related
to the int Player::setVolume(byte vol) code.

Ticket imported from: #817871. Ticket imported from: bugs/1263.

Change History (10)

comment:1 by fingolfin, 16 years ago

Owner: set to SF/jamieson630

comment:2 by SF/jamieson630, 16 years ago

A runthrough of the first MI2 scenes with --native-mt32 and
some trace output indicated that everything is getting muted
properly. The only channel that is not muted is the percussion
channel, under the assumption that any sounds in progress
only last a fraction of a second anyway.

An example or two of where this problem can be reproduced
would be useful.

comment:3 by SF/logicdeluxe, 16 years ago

Easy to produce in the Monkey2 title theme. Especially the
flute hangs in pause mode easily. Strange thing, I just
noticed, the channel volume actually is set to 0 and also
that is, what the display indicates. The note finaly gets
quite when I turn down the volume for that channel again.
Might be a bug in the MT-32 itself. As I just checked, it
also happens with the original interpreter. We might try
setting the master volume down while in pause mode.

The percussions channel in no problem. No need to mute it.

comment:4 by SF/jamieson630, 16 years ago

MT-32 master volume adjustment added to CVS. Does that
take care of the problem for you?

comment:5 by SF/logicdeluxe, 16 years ago

ScummVM 0.5.4cvs (Oct 13 2003 09:34:50) It is supposed to be
in that version, isn't it?
Nothing happens. The master volumes is never changed again
after the initial setup.
But as I figured out, it wouldn't work anyway. Master volume
only affects new notes. Notes already playing aren't
affected by this. So you can undo your last change.

comment:6 by SF/logicdeluxe, 16 years ago

Well, I just dicovered the problem was fixed in SAM: They
just send "all notes off" to each channel.

comment:7 by SF/jamieson630, 16 years ago

Replaced SysEx master volume with AllNotesOff to each
channel. Might make it sound a tad strange when you
unpause, but it's better than hanging notes. I'll wait to close
until you've verified behavior.

comment:8 by SF/logicdeluxe, 16 years ago

Works OK. No more hanging notes.

comment:9 by SF/jamieson630, 16 years ago

Resolution: fixed
Status: newclosed

comment:10 by digitall, 11 months ago

Component: --Unset--Audio: MT32
Game: Monkey Island 2
Note: See TracTickets for help on using tickets.