Project

General

Profile

Bug #2082

External music (WAV and MP3 formats) are not played; custom music definitions vs. "MAPnn_music"

Added by theleo_ua about 7 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Regression
Target version:
Start date:
2015-06-08
% Done:

100%


Description

external music in wave format cannot be played with fmod

Steps to reproduce:

1) Select "music source = external files" in ingame options and "sound driver = fmod" in snowberry
2) Place WINNOWR.ogg in data/jhexen/music folder
3) Run (or restart) hexen, start map1 and see that external music works correctly
4) repeat steps 1-3 with WAV music version (WINNOWR.wav)

Actual result: midi source is used instead of external wav source
Expected result: external wav source should be used

5) repeat step 4 with MP3 version

Actual result: noise is played instead of music
Expected result: mp3 music should be played

NOTE: I tried to extract "music.ded" from libhexen.pk3 and add strings like

Music { ID = "winnowr"; Lump = "WINNOWR"; Ext = "Data\jHexen\Music\WINNOWR.wav"; }

to it, but result is same - midi music source is used

NOTE2: please change version to 1.15.0 (I dont see such option for me)

Associated revisions

Revision f9565d40 (diff)
Added by skyjake over 3 years ago

Fixed|Music: Defined external music file ignored

The way Hexen loads the MAPINFO and SNDINFO lumps was causing custom music definitions to be ignored.

The MAPINFO translator (that generates corresponding DEDs) was adding music definitions that would be used even when custom music was loaded. Now these generated definitions are only present when parsing custom MAPINFO data. (Non-custom map infos are expected to have a music definition available matching the map ID.)

In Hexen, SNDINFO is applied by default so that if a matching music definition is available (by ID), the map info is changed to use that music (that may be a custom music definition).

IssueID #2082

Revision ef8e5bcc (diff)
Added by skyjake over 3 years ago

Fixed|Music|Definitions: Music pack compatibility issues

Make sure Music defs overwrite contents from the earlier ones. Music IDs can't be fully trusted because music definitions are sometimes generated by idtech1importer, so they might have IDs that don't match the vanilla IDs.

Fixes compatibility problems with older music packs.

IssueID #2082

History

#1 Updated by theleo_ua about 7 years ago

NOTE2: please change version to 1.15.0 (I dont see such option for me)

my misunderstanding:) 1.15.1 is correct value for "target version", sorry about this

#2 Updated by skyjake about 7 years ago

  • Target version deleted (1.15.1)

#3 Updated by skyjake over 6 years ago

  • Assignee deleted (skyjake)

#4 Updated by skyjake over 5 years ago

  • Tags set to Music
  • Subject changed from external music in wave and mp3 formats cannot be played with fmod to External music in WAV and MP3 formats cannot be played with FMOD
  • Priority changed from Lowest to Normal
  • Target version set to 2.1 (Late 2018)

#5 Updated by skyjake over 3 years ago

  • Subject changed from External music in WAV and MP3 formats cannot be played with FMOD to External music (WAV and MP3 formats) are not played; custom music definitions vs. "MAPnn_music"
  • Assignee set to skyjake

I tested WAV and MP3 with the latest unstable 2.1, and from an audio standpoint there is now no problem playing back the files with FMOD.

MP3 files are detected as lump replacements and will be played from Data\jHexen\Music automatically, without needing any definitions. WAV is not recognized in this fashion (by design).

However, there is an unfortunate regression in the way MAPINFO is handled. Custom music definitions that define external file paths are being ignored because Doomsday now generates music definitions using the pattern "MAPnn_music", while the previous assumption has been that the music definitions are ID'd according to the music lumps. The Ext paths will be ignored because they have no relation to the "MAPnn_music" definitions.

This needs some rethinking. Custom music definitions should continue to use the lump name IDs (e.g., "winnowr") and Doomsday should also use these IDs when generating its internal music defs. However, care must be taken that the user's custom DEDs are processed/loaded after the internal definitions.

#6 Updated by skyjake over 3 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Applied a fix, although the processing of MAPINFO and SNDINFO with regard to DED definitions feels bug-prone. This still needs rethinking/simplification at a later time.

#7 Updated by skyjake over 3 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF