-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Music on GNU/Linux #10
Comments
Also, is OGG music supposed to work on GNU/Linux?
But providing music packs in the same directory as the duke3d executable, or in ./music, the game won't play any music at all. So are OGG supposed to play on GNU/Linux when jfduke is linked against libvorbis? |
MIDI playback on Linux can be slightly fiddly. With FluidSynth you probably need to give it extra configuration options by adding an entry to the duke3d.cfg file, e.g.:
I probably ought to document that... The game will also look for .ogg files that have the same base name as the .mid version, e.g. dethtoll.ogg substitutes for dethtoll.mid. They should be put into the same directory as duke3d.grp. |
Thanks for taking the time to answer :)
However, I believe
...So it seems to be failing on: At least the fail at setting audio.driver to alsa seems to be caused by Also, seems to me that jfduke3d is only able to find fonts on |
Curious. I'll test on my end.
You would need to expand the |
I'm having issues with music as well. I copied the "midi" folder from the iso over to the .jfduke3d folder, and added these to the duke3d.cfg under [Sound Setup]: MusicDevice = 0 (1 works but anything else will result in an error that the music device can't be loaded) I launch the game and there is not music, just SFX. When I quit the game and check the terminal, it shows that it's loading pulseaudio instead of alsa (I do have alsa-utils installed). I also notice that the RTS Manager fails to find duke.rts. I tried copying it off the iso to .jfduke3d but that message still comes up as well. |
I guess I'm going to have to merge the recent JFAudioLib changes that updated Fluidsynth and autodetection and just hope I haven't broken anything. I'll update here once I do. |
You can delete that. The MIDI music is already contained in the duke3d.grp file.
Because the MusicParams parser isn't (presently) capable of handling spaces in the file path, I suggest symlinking your Scc1t2.sf2 soundfont into the MusicDevice = 0
It's looking for
I may consider a variant of that patch, but I'm not going to merge it how it's written at the moment. |
@jonof Oh, so can you please fix it to your liking? |
@jonof Can you please tell me how to setup jfduke3d so it loads the .ogg soundtrack? However, I am seeing this during jfduke3d initialization:
So it seems to be trying to load MIDI music via fluidsynth, instead of the OGG music. |
@vanfanel: Since you're using Linux, the least-effort way to avoid fiddling around with filename case is to just ZIP up your OggVorbis files (e.g. as music.zip), put that ZIP file wherever you've put duke3d.grp, then run the game with Otherwise, if you really want to have all the substitute files loose on disk, then you're going to have to work for it given the current code. Put the OggVorbis files in the directory beside duke3d.grp, and ensure that the filenames match the base filename case as it appears in USER.CON but with a lowercase
So, following that process, your filenames would need to be:
I will eventually make the music loading code try some filename permutations when it tries opening files to account for trivial case-sensitivity mismatches (i.e. It wouldn't be a bad idea to also just grab a small but decent soundfont like this to drop in the directory alongside duke3d.grp as a failsafe. Jonathon |
@jonof Whoa! Thanks a LOT for the Having the music files in a ZIP is very convenient for me, also, so that's what I will do from now on. Thanks a lot, really! For MIDI: |
If you're seeing a message like fluidsynth: error: Failed to connect to Jack server then you should try editing |
Hi there,
I have just built jfduke3d on SDL2/KMSDRM, and it works fine, but I am still missing music. Well, it works, but not perfectly.
So far I got the music to play if I load a SoundFont with Fluidsynth like this:
fluidsynth --audio-driver=alsa -s UHD3.sf2
Then the tittle screen music plays, but the game hangs when I start a level and sound effects are missing. My guess is that fluidsynth takes over ALSA PCM channels. But then, what would be the correct way to do it with FluidSynth?
Thanks!
The text was updated successfully, but these errors were encountered: