aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder
diff options
context:
space:
mode:
Diffstat (limited to 'src/decoder')
-rw-r--r--src/decoder/WildmidiDecoderPlugin.cxx24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/decoder/WildmidiDecoderPlugin.cxx b/src/decoder/WildmidiDecoderPlugin.cxx
index 1358c20d3..c7bd3985e 100644
--- a/src/decoder/WildmidiDecoderPlugin.cxx
+++ b/src/decoder/WildmidiDecoderPlugin.cxx
@@ -21,7 +21,9 @@
#include "WildmidiDecoderPlugin.hxx"
#include "DecoderAPI.hxx"
#include "TagHandler.hxx"
-#include "glib_compat.h"
+#include "fs/Path.hxx"
+#include "fs/FileSystem.hxx"
+#include "system/FatalError.hxx"
#include <glib.h>
@@ -37,18 +39,20 @@ static constexpr unsigned WILDMIDI_SAMPLE_RATE = 48000;
static bool
wildmidi_init(const config_param &param)
{
- const char *config_file;
- int ret;
-
- config_file = param.GetBlockValue("config_file",
- "/etc/timidity/timidity.cfg");
- if (!g_file_test(config_file, G_FILE_TEST_IS_REGULAR)) {
- g_debug("configuration file does not exist: %s", config_file);
+ GError *error = nullptr;
+ const Path path = param.GetBlockPath("config_file",
+ "/etc/timidity/timidity.cfg",
+ &error);
+ if (path.IsNull())
+ FatalError(error);
+
+ if (!FileExists(path)) {
+ const auto utf8 = path.ToUTF8();
+ g_debug("configuration file does not exist: %s", utf8.c_str());
return false;
}
- ret = WildMidi_Init(config_file, WILDMIDI_SAMPLE_RATE, 0);
- return ret == 0;
+ return WildMidi_Init(path.c_str(), WILDMIDI_SAMPLE_RATE, 0) == 0;
}
static void