aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/wildmidi/wildmidihelper.cpp
blob: 7a9ec94b6ea3c0f79f1476c738363c8978595af4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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;
}