aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/wildmidi/wildmidihelper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/wildmidi/wildmidihelper.cpp')
-rw-r--r--src/plugins/Input/wildmidi/wildmidihelper.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/plugins/Input/wildmidi/wildmidihelper.cpp b/src/plugins/Input/wildmidi/wildmidihelper.cpp
new file mode 100644
index 000000000..7a9ec94b6
--- /dev/null
+++ b/src/plugins/Input/wildmidi/wildmidihelper.cpp
@@ -0,0 +1,41 @@
+#include <QApplication>
+extern "C"{
+#include <wildmidi_lib.h>
+}
+#include "wildmidihelper.h"
+
+WildMidiHelper *WildMidiHelper::m_instance = 0;
+
+WildMidiHelper::WildMidiHelper(QObject *parent) :
+ QObject(parent)
+{
+ m_inited = false;
+}
+
+WildMidiHelper::~WildMidiHelper()
+{
+ if(m_inited)
+ WildMidi_Shutdown();
+ m_instance = 0;
+}
+
+bool WildMidiHelper::initialize()
+{
+ if(m_inited)
+ return true;
+ if (WildMidi_Init ("/etc/timidity/timidity.cfg", 48000, 0) < 0)
+ {
+ qWarning("WildMidiHelper: unable to initialize WildMidi library");
+ return false;
+ }
+ m_inited = true;
+ return true;
+}
+
+
+WildMidiHelper *WildMidiHelper::instance()
+{
+ if(!m_instance)
+ m_instance = new WildMidiHelper(qApp);
+ return m_instance;
+}