SUMMARY As per the title, Elisa is unable to play midi files (no sound comes out), although UI wise it looks normal. I have set up VLC to use FluidSynth, and configured it to use a SoundFont file in my Music folder, so using it directly to play the same midi files works fine. STEPS TO REPRODUCE 1. Install the FluidSynth plugin for VLC (I used vlc-plugin-fluidsynth-bin from the AUR) 2. Configure it to use a SoundFont file 3. Try to play a midi file through Elisa OBSERVED RESULT No sound comes out. EXPECTED RESULT It should play normally, or if it is explicitly not supported it should be hidden from the library and/or an error message should be displayed. SOFTWARE/OS VERSIONS KDE Plasma Version: 5.22.2 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.2 ADDITIONAL INFORMATION When running Elisa from the terminal, this shows up, even though I have followed the procedure it outlines (VLC by itself works fine): [00007ff7a4024410] fluidsynth decoder error: sound font file required for synthesis [00007ff7a4024410] main decoder error: MIDI synthesis not set up [00007ff7a4024410] main decoder error: A sound font file (.SF2) is required for MIDI synthesis. Please install a sound font and configure it from the VLC preferences (Input / Codecs > Audio codecs > FluidSynth). [00007ff7a4024410] main decoder error: Codec `MIDI' (MIDI Audio) is not supported. [00007ff7a4024410] main decoder error: Codec not supported [00007ff7a4024410] main decoder error: VLC could not decode the format "MIDI" (MIDI Audio)
Reading VLC's source my first guess is this happens because your "/usr/share/sounds/sf2/" and "/usr/share/soundfonts/" directories are all empty. LibVLC always seems to use the fallback SF2 loading mechanism in Elisa, doesn't matter what you configure elsewhere (at least on my machine). It loads first usable ".sf2" file from the default SF2 directories above and call it a day. If those directories of yours are indeed empty I'd try copying your soundfonts there. Or install some soundfont package globally though your package manager, like "soundfont-fluid" (optional dependency of vlc-plugin-fluidsynth-bin that you may have skipped).
Putting the soundfont file I use in `/usr/share/soundfonts` does make it work, thanks for that suggestion! If telling libVLC which soundfont to use is not possible then the next best thing would be to let the user know that soundfonts need to be installed in those default directories, assuming that it is possible for Elisa to tell that it's the issue. If neither of those is possible, then I guess it's "not a bug" on Elisa's end?