Opened 17 years ago

Closed 17 years ago

Last modified 20 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, 17 years ago

Owner: set to SF/jamieson630

comment:2 by SF/jamieson630, 17 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, 17 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, 17 years ago

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

comment:5 by SF/logicdeluxe, 17 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, 17 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, 17 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, 17 years ago

Works OK. No more hanging notes.

comment:9 by SF/jamieson630, 17 years ago

Resolution: fixed
Status: newclosed

comment:10 by digitall, 20 months ago

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