Opened 9 years ago
Closed 4 years ago
#7127 closed defect (fixed)
GUI/FLUIDSYNTH: Exit without message in GUI when soundfont setting is missing
Reported by: | SF/rootfather | Owned by: | sev- |
---|---|---|---|
Priority: | high | Component: | GUI |
Version: | Keywords: | ||
Cc: | Game: |
Description
OS: Windows 10 [Insider Build 14328] ScummVM 1.9.0git1648-gc1bf8f9 (Apr 22 2016 09:05:24)
The following report is not exactly a bug, but an issue with the user experience.
When you select FluidSynth as MIDI device without specifying a Soundfont, ScummVM will exit without leaving any message in the GUI. You get a log entry about the missing soundfont setting, but no visual feedback in the GUI.
Especially for unexperienced users that don't know exactly how to use Fluidsynt, it would be helpful to get a pop-up message like "You have to select a SoundFont in order to use the Fluidsynth device. Please refer to the README for further information" and returning to the launcher instead of simply quitting ScummVM with only a message left in the log file.
Ticket imported from: bugs/7127.
Change History (5)
comment:1 by , 9 years ago
comment:2 by , 8 years ago
Component: | → GUI |
---|
comment:3 by , 7 years ago
Either way, ScummVM shouldn't just error() out and quit but throw you back to the launcher, if possible.
comment:4 by , 4 years ago
Priority: | normal → high |
---|
comment:5 by , 4 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
I fixed it in 6585dfe2f2f2deedd179ba738dcd1a789efe65cd
However, validation is performed on attempt to run a game, not on GUI exit.
First of all, I agree.
That said, the problem appears to be that the audio driver may - perhaps always is - initialized before the debug console. There is an error message, but nothing (graphical) to print it to.
The message still gets sent to OSystem::logMessage(), but for the SDL backend that just prints it to stderr (and to the log file you mentioned that I wasn't even aware of?) apparently.
So perhaps our SDL backend should display error messages in a more visible way, when possible? Sure, that would mean the error message gets shown twice in many cases. Once by the backend, and then by the engine's debugger. But usually we shouldn't see errors at all, so that's just a minor inconvenience.
I notice that SDL 2 has an SDL_ShowMessageBox() function, but I don't know what the status of using SDL 2 is at the moment.