DRL > Bug Reports

[0.9.9.5 Linux i386 & x64] Mp3 module format not recognized

(1/1)

AStranger:
I finally decided to see what DoomRL would be like with music. So I downloaded all the mp3s, setup the config files, but when I try to run doomrl (i386 or x64) it fails and I get an entry in my error.log that looks like this:
Spoiler (click to show/hide)
--- Code: -------------------------------------------------------------------------
Timestamp   : 24-2-12 19:32:25
Error level : FATAL EXCEPTION
Message     : Fatal exception encountered

An unhandled exception occurred at $000000000052CFBD :
ESoundException : RegisterMusic(mp3/d1inter.mp3): Module format not recognized
  $000000000052CFBD line 157 of ../fpcvalkyrie/src/vsound.pas
  $000000000052D349 line 172 of ../fpcvalkyrie/src/vsound.pas
  $0000000000548BCE line 248 of src/doomconfig.pas
  $000000000055237E line 71 of ../fpcvalkyrie/src/vluaconfig.pas
  $00000000005485C4 line 212 of src/doomconfig.pas
  $0000000000478EC8 line 225 of src/doombase.pas
  $00000000004799C1 line 336 of src/doombase.pas

----------------------------------------------------------------------
--- End code ---

Since it appeared that mp3s weren't going to work, I decided to try converting them all to ogg files. Surprise! DoomRL now runs with music for the first time in years. Given that it wasn't a quick fix, I wrote a shell script that downloads the mp3s, converts them to oggs, then makes the correct config file changes. The only real difference was that instead of using '0  - intro.mid' for the starting music it grabs the Doom II intro music instead. Here are the contents of get-ogg-for-doomrl.sh:
Spoiler (click to show/hide)
--- Code: ---#!/bin/bash

# You'll need grep, sed, awk, wget and sox with mp3/ogg support

# You can get much higher quality Doom MP3 tracks from
# http://www.sirgalahad.org/paul/doom/

URLSTEM="http://www.sirgalahad.org/paul/doom/mp3/"

echo "Music = {
start     = \"ogg/d2title.ogg\",
interlude = \"ogg/d1inter.ogg\",
bunny     = \"ogg/d1end.ogg\",
intro     = \"ogg/e1m1.ogg\",
hellgate  = \"ogg/e1m8-e3m4-e4m1.ogg\",

level2    = \"ogg/e1m2.ogg\",
level3    = \"ogg/e1m3.ogg\",
level4    = \"ogg/e1m7-e2m5-e4m8.ogg\",
level5    = \"ogg/e1m5-e4m4.ogg\",
level6    = \"ogg/e1m6-e3m6.ogg\",
level7    = \"ogg/e1m4.ogg\",
level8    = \"ogg/e1m9-e3m9-e4m9.ogg\",
level9    = \"ogg/e1m1.ogg\",
level10   = \"ogg/e1m2.ogg\",
level11   = \"ogg/e1m3.ogg\",
level12   = \"ogg/e1m4.ogg\",
level13   = \"ogg/e1m5-e4m4.ogg\",
level14   = \"ogg/e1m6-e3m6.ogg\",
level15   = \"ogg/e2m2.ogg\",
level16   = \"ogg/e2m4-e4m6.ogg\",
level17   = \"ogg/e2m6-e4m7.ogg\",
level18   = \"ogg/e2m7-e3m7-e4m5.ogg\",
level19   = \"ogg/e2m9-e3m1.ogg\",
level20   = \"ogg/e3m2-e4m2.ogg\",
level21   = \"ogg/e3m8.ogg\",
level22   = \"ogg/e2m2.ogg\",
level23   = \"ogg/e2m4-e4m6.ogg\",
level24   = \"ogg/e2m6-e4m7.ogg\",

the_chained_court = \"ogg/e1m4.ogg\",
halls_of_carnage  = \"ogg/e1m9-e3m9-e4m9.ogg\",
hells_armory      = \"ogg/e1m3.ogg\",
hells_arena       = \"ogg/e3m2-e4m2.ogg\",
spiders_lair      = \"ogg/e2m7-e3m7-e4m5.ogg\",
city_of_skulls    = \"ogg/e1m5-e4m4.ogg\",
the_wall          = \"ogg/e2m4-e4m6.ogg\",
unholy_cathedral  = \"ogg/e2m6-e4m7.ogg\",
the_mortuary      = \"ogg/e3m8.ogg\",
the_vaults        = \"ogg/e3m5.ogg\",
the_lava_pits     = \"ogg/e3m8.ogg\",

tower_of_babel    = \"ogg/e2m8.ogg\",
hell_fortress     = \"ogg/e1m8-e3m4-e4m1.ogg\",
dis               = \"ogg/e3m8.ogg\",
victory   = \"ogg/d1readme.ogg\",
}" > musicogg.lua

mkdir ogg

for ANMP3 in $(grep "= \"" musicogg.lua | sed -e 's/.*ogg\///' -e  's/\",//' | awk '!x[$0]++')
do
    MP3NAME=$(echo $ANMP3 | sed 's/ogg/mp3/')
    wget -P ogg "$URLSTEM$MP3NAME"
    echo "Converting: $MP3NAME"
    sox ogg/$MP3NAME -t vorbis ogg/$ANMP3
    rm ogg/$MP3NAME
done

sed -i 's/dofile \"music.*$/dofile \"musicogg.lua\"/' config.lua

--- End code ---

Just download it and run it from your DoomRL directory then assuming I didn't screw up (it worked for me) music should play fine. Still no idea why the mp3s weren't working.

Navigation

[0] Message Index

Go to full version