[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] Allow soundfonts to be searched from multiple directorie
Re: [fluid-dev] Allow soundfonts to be searched from multiple directories
Fri, 2 Nov 2018 12:57:38 -0400
Hi, I'm happy to go along with what you said, but I have a few comments. If we decide to read from an environment variable, we should read it from the existing @address@hidden It doesn't make sense to use $PATH since that has a different purpose on Linux systems (namely, searching for binaries).
Further, the reason I made it compile-time configurable is two-fold: consistency with existing code and to allow the maintainer to set a reasonable default. If we're doing this to make it more convenient for (potentially non-technical users), it's generally the maintainer's job to adapt the search path to their system. The user shouldn't have to manually edit the path themselves. Although, one approach is to have a global file like /etc/fluidsynth.rc (filled by the maintainer) and then make the local one (empty by default, filled by the user) take precedence.
Thanks for the feedback.
Thanks for the feedback guys!
I share the concerns brought up here and agree that this is no suitable feature for the fluidsynth library. I.e. the current proposal to make it a FluidSetting and expose a find_soundfont() function via the API is not suitable.
IMO this should be implemented as exclusive feature for the executable. Preferably **not** as compile time option. A normal user who acutally benefits from this feature should not dependent on any compile flags a packager has or hasn't specified when compiling fluidsynth.
Keep in mind that synth.default-soundfont approaches a similar problem using a cmake flag. However I couldn't find any distribution (ubuntu, megeia, fedora, openSUSE) making use of this.
I propose to keep it simple and implement this using an environment variable: If a soundfont specified on the commandline isn't found in the current working directory, the fluidsynth exec. looks through the $PATH variable and takes the first one it finds. The user only needs to setup up this env. var. in his ~/.bash.rc or similar. Ofc. we could also use a custom env. variable. I like $PATH because it's convenient on *nix and Windows.
Also when implementing this, I suggest to remove synth.default-soundfont and possibly also the DEFAULT_SOUNDFONT cmake flag. After all, the current implementation only uses the default soundfont when the user plays back a MIDI file.
fluid-dev mailing list