Comments (8)
MusicCMD_Play()
can be problematic: libsdl-org/SDL_mixer#415
I suggest removing this feature.
from chocolate-doom.
Is there a way to use "Native MIDI" on Linux and have it just talk to a fluidsynth process I spawn in a terminal like I do with DOSBox? Because the docs tell me to attempt using snd_musiccmd
otherwise I have no choice but to make a timidity.cfg
for Chocolate Doom to find.
And the soundfont I use does not like TiMidity++ at all, atleast from what happened when I tried to use it under GZDoom.
from chocolate-doom.
Is there a way to use "Native MIDI" on Linux and have it just talk to a fluidsynth process I spawn in a terminal like I do with DOSBox?
But why do you need a FluidSynth process? SDL_Mixer can work with FluidSynth directly, you can change the sound font using the SDL_SOUNDFONTS
environment variable.
Also in current master you can set FluidSynth soundfont via chocolate-setup:
from chocolate-doom.
Having access to a separate process allows me to run the "reset" command if notes get stuck, and I can fine tune the gain, chorus, reverb properties in real time when needed.
I guess the Chocolate Doom package on Void Linux isn't being built with fluidsynth support because I don't see that in my setup:
EDIT: Just to clarify when I run a fluidsynth process interactively the following stuff is read in ~/.fluidsynth
gain 0.6
interp 1
set synth.chorus.active 1
set synth.chorus.level 1.0
set synth.chorus.nr 2
set synth.chorus.speed 0.6
set synth.polyphony 512
set synth.reverb.active 0
set synth.reverb.damp 0.1
set synth.reverb.level 0.9
set synth.reverb.room-size 0.8
set synth.reverb.width 100.0
These are options that are always read when the fluidsynth process itself is started but anything using fluidsynth as a library will never read these commands. If stuff starts clipping inside of the synth itself I can't re-adjust the gain to compensate (because for some reason FluidSynth has no concept of automatic gain control) and certain soundfonts sound better with different settings for the chorus and reverb units as well. Some soundfonts I prefer to not even have to reverb on whatsoever.
from chocolate-doom.
Well, this looks like an issue with SDL_Mixer that is out of our control.
I guess the Chocolate Doom package on Void Linux isn't being built with fluidsynth support because I don't see that in my setup
It looks like version v3.0.1, I was talking about the latest development version. However, the developing version also does not have the ability to fine-tune the chorus, reverb, etc.
from chocolate-doom.
Oh sorry I completely misread you were talking about a git build instead.
It's a bummer though that SDL_Mixer doesn't allow changing FluidSynth's parameters, but I guess it's a PSA to not use snd_musiccmd unless it's a process that does what that issue says it has to do? (The whole "call exec*() or _exit() immediately" part)
from chocolate-doom.
I guess it's a PSA to not use snd_musiccmd unless it's a process that does what that issue says it has to do? (The whole "call exec*() or _exit() immediately" part)
I'm not sure, I'm not a Linux development expert. I can't reproduce these issues on the old Debian VM I have.
from chocolate-doom.
If you select Native Midi in chocolate-setup and set the environmental variable SDL_SOUNDFONTS
to your soundfont path, SDL_Mixer should use FluidSynth. (Assuming it was compiled with FluidSynth support.) As noted, you can't currently adjust the FluidSynth parameters when using it through SDL_Mixer.
from chocolate-doom.
Related Issues (20)
- no music with surround sound on HOT 5
- Configuration files directory differs from Vanilla Doom HOT 4
- Incorrect behavior for lost souls in Chex Quest with chex.deh HOT 1
- Setup using wrong color palette HOT 4
- Compilation Errors in Chocolate Doom on Debian: SDL2 and sound.c HOT 2
- Hexen: autosaves cause problems with -demoextend multi-level demos HOT 4
- Hexen: possible desync on multi-level demo (and now single map demo) HOT 12
- Heretic: Segfault in rooms3.wad HOT 7
- Add more gamepad binds to Heretic and Hexen #1666 - Dpad not being recognized HOT 7
- Someone needs to send a GPL compliance email to Husqvarna AB HOT 3
- Bus Error on startup HOT 3
- Possible UB when setting skill level HOT 23
- Buffer overflow in `R_GenerateLookup`
- PK3 Support HOT 3
- Fails to start with GPU HOT 1
- [Error] SIGIL HOT 3
- Missing padding in save files after `floormove_t::texture` field
- Mouse Only Intermittently Works In ChromeOS Linux HOT 1
- Option to disable smooth pixel scaling and use nearest neighbor HOT 2
- Strife: Mouse1 input is intermittedly dropped while moving HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chocolate-doom.