Replies: 1 comment 3 replies
-
I understand your pain. I also have a special setup of jack and always use alsa when quickly wanting to test fluidsynth. This makes it a little more likely that other users have the same pain. So, yeah, I'm open to change this. One thought about 2.: Carlo once had the idea to auto-select the audio driver, by probing which driver can be created successfully. We could either expose yet another setting to the user, or somehow handle it automagically within fluidsynth. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
One thing that I regularly stumble over is the "jack" default for the audio-driver on Linux. I'm running an Ubuntu system with the default PulseAudio setup for daily work. But I also have jack and QJackCtl installed, as I need it for certain use-cases. When jack is started, PulseAudio is automatically put into suspended mode (I think that is a default on Ubuntu, don't think I've configured this). So as long as jack is running, other programs that use PulseAudio do not output any sound.
Now I sometimes execute FluidSynth to test new features, render a MIDI file, load a SoundFont etc. If I forget to explicitly set an audio driver (which happens so often it's probably a little embarrassing), FluidSynth automatically starts a new jack server. But it's a jack server that has none of the special configuration options I made with QJackCtl. And that server keeps running even after FluidSynth quits. So after I made this mistake of forgetting the audio driver, I have to manually kill the jack server so that the rest of my system can output audio again.
Yes, I know... I could configure PulseAudio to use jack as a sink. And I could probably configure a system-wide jack config so that an automatically started jack server would work for me as well. And quickly killing the jack server is not really a problem for me... It's just that this made me wonder if FluidSynths behaviour is actually helpful here.
So I would like to make two proposals. I think we should:
Jack is a bad default because it has possible side-effects (start of a new jack server). ALSA on the other hand has no such side-effects and is probably available on every single Linux distro out there. And other sound servers like PulseAudio usually have ALSA compatibility layers enabled by default.
Add a new option, maybe
audio.jack.autostart
, let it default to false and only start a new server if it is set. If it's unset, open the jack client withJackNoStartServer
instead ofJackNullOption
. And if the connect fails, output an error message instructing users to use theaudio.jack.autostart
option if they want to auto-start a new server.Only having 2. would fix my problem, but I think both changes together would make FluidSynth easier to use for novice users.
What do you think?
Beta Was this translation helpful? Give feedback.
All reactions