Opened 6 months ago

Closed 6 months ago

#13058 closed defect (fixed)

SCUMM: DIG: Music stops playing after some time

Reported by: Alien-Grey Owned by: AndywinXp
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Alien-Grey Game: The Dig

Description

I noticed that while playing the game The Dig the music stops playing. It resumes playing the music when you enter a new screen but not for long.

Tried with ScummVM 2.5.0 release build and with latest development build.

I couldn't try with older builds because the save state isn't compatible. I know it worked well in the past because I already finished the game 2 times.

Attachments (1)

dig.s02 (41.3 KB ) - added by Alien-Grey 6 months ago.

Download all attachments as: .zip

Change History (13)

by Alien-Grey, 6 months ago

Attachment: dig.s02 added

comment:1 by eriktorbjorn, 6 months ago

I don't know the details, but there is work well underway rewriting "Digital iMUSE" that is apparently mainly for the benefit of The Dig and The Curse of Monkey Island. See https://github.com/scummvm/scummvm/pull/3368

It would be interesting to know if the bug happens there as well. I know that with the current version, music would stop for me near the beginning of the game just from going back and forth a bit. (I don't have any more exact way of reproducing it than that.)

With the new version, the music hasn't stopped so far while I'm writing this. So that's encouraging.

comment:2 by AndywinXp, 6 months ago

Hi there! As eriktorbjorn pointed out, I have submitted an audio engine replacement (with which I'm testing and fixing Full Throttle as we speak), and I can confirm that this bug won't be in the new engine!

As a matter of fact it was caused by a typo on my end, which prevented music from looping correctly. It has now been addressed in the same Pull Request (being that the old engine will work as a fallback for compressed audio at least for a while). Thanks!

Last edited 6 months ago by AndywinXp (previous) (diff)

comment:3 by eriktorbjorn, 6 months ago

Would it be possible to backport the fix to the 2.5 branch, since it seems unlikely that the new Digital iMUSE engine will be included there?

comment:4 by AndywinXp, 6 months ago

It is possible for sure, it's a one-line fix: https://github.com/scummvm/scummvm/pull/3368/commits/2ea5b19c5852748ef5d4dbc8a6376f774caacced
Can I please ask you to directly commit it in the relevant branches? I'm trying not to shake up my current DiMUSE workspace, with the way I set it up. Thank you in advance and sorry for the inconvenience.

in reply to:  4 comment:5 by eriktorbjorn, 6 months ago

Replying to AndywinXp:

Can I please ask you to directly commit it in the relevant branches?

I guess I could do that. Do you mean only the 2.5 branch? (I don't know if committing it to the master branch will mess things up for you or not.)

comment:6 by AndywinXp, 6 months ago

I don't know if it might cause problems, I don't think so, but just in case I guess tackling just the 2.5/2.5.1 branch might be fine. Thanks so much for the help! :-)

comment:7 by AndywinXp, 6 months ago

Summary: Music stops playing after some timeSCUMM: DIG: Music stops playing after some time

comment:9 by AndywinXp, 6 months ago

That's perfect! Thanks again!

comment:10 by Alien-Grey, 6 months ago

I can comfirm that the music is fixed with the ScummVM stable
Future 2.5.x build.

Is it possible to add the fix also to the ScummVM latest Branch master build?

I think this is used for the ScummVM Daily Build - Windows Installer and it doesn't have the music fix.

comment:11 by eriktorbjorn, 6 months ago

Since it's part of https://github.com/scummvm/scummvm/pull/3368 it should hopefully appear in the master branch in the not so distant future. So it didn't seem necessary to apply it separately.

comment:12 by AndywinXp, 6 months ago

Owner: set to AndywinXp
Resolution: fixed
Status: newclosed

Since this is now fixed both into the 2.5.x branch and the master branch with the new DiMUSE implementation, I think we can close it.

Note: See TracTickets for help on using tickets.