Opened 10 years ago

Closed 5 days ago

#7012 closed defect (fixed)

SHERLOCK: volume settings don't work

Reported by: SF/mimdoe Owned by: Miguel-Herrero
Priority: normal Component: Engine: Sherlock
Version: Keywords:
Cc: Game: Sherlock Holmes: Case of the Rose Tattoo

Description

Music and voices volume settings (sliders) in the game don't work.

Ticket imported from: bugs/7012.

Attachments (1)

sliders.jpg (6.7 KB ) - added by SF/mimdoe 10 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by dreammaster, 10 years ago

Owner: set to dreammaster
Resolution: fixed
Status: newclosed

by SF/mimdoe, 10 years ago

Attachment: sliders.jpg added

comment:2 by SF/mimdoe, 10 years ago

There are two volume sliders in the game - 1) music 2) sound effects/voices. It seems that now sound effects/voices slider regulates also music. And music slider does nothing. Tested with Feb 7 2016 12.58 build.

comment:3 by dreammaster, 10 years ago

Resolution: fixed
Status: closednew

comment:4 by dreammaster, 10 years ago

Seems like there's a problem with using a MidiParser in Rose Tatoo for music.. there's no way to control it's volume, which is why the music slider isn't having any effect. LordHoto is hopeful that it may be possible to add volume functionality, so if that happens, this could be resolved using it. Leaving this bug open for now.

comment:5 by Miguel-Herrero, 5 weeks ago

I've submitted a PR that seems to solve this problem (I've tested and music, effects and speech work correctly). If you'd be so kind to review it (my first pull request) :)

https://github.com/scummvm/scummvm/pull/7138

comment:6 by Miguel-Herrero, 5 days ago

In 0cfab98:

SHERLOCK: Fix volume controls for MIDI music

Map kPlainSoundType to the music volume so that the Music slider
controls MIDI playback. Emulated MIDI synths (OPL, MT-32,
FluidSynth) register their audio output with the mixer as
kPlainSoundType (hardcoded in audio/chip.cpp and audio/softsynth/),
which was previously only set by the SFX volume control.

  • Music::setMusicVolume(): Also set kPlainSoundType so the in-game Music slider in Rose Tattoo affects MIDI music.
  • Music::syncMusicSettings(): Re-apply kPlainSoundType with the music volume after Engine::defaultSyncSoundSettings() resets it to max. This covers the ScummVM global options dialog.
  • Sound::setVolume(): Remove kPlainSoundType so the SFX/voices slider no longer affects MIDI music.

Fixes bug #7012.

Co-authored-by: Cursor <cursoragent@…>

comment:7 by bluegr, 5 days ago

Owner: changed from dreammaster to Miguel-Herrero
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.