27 #include <fluidsynth.h>
30 #define stringify(s) cvtstr(s)
32 const QString QSTR_FLUIDSYNTH(QLatin1String(
"FluidSynth"));
34 class SynthEngine :
public QObject
37 Q_PROPERTY(QString soundFont READ soundFont WRITE setSoundFont)
40 SynthEngine(
QObject *parent = 0);
41 virtual ~SynthEngine();
43 QString soundFont()
const {
return m_soundFont; }
44 void setSoundFont(
const QString &value);
46 Q_INVOKABLE
void initialize(QSettings *settings);
47 Q_INVOKABLE
void readSettings(QSettings *settings);
48 Q_INVOKABLE
void scanSoundFonts();
49 Q_INVOKABLE
void panic();
50 Q_INVOKABLE
void setInstrument(
const int channel,
int i);
51 Q_INVOKABLE
void noteOn(
const int channel,
const int midiNote,
const int velocity);
52 Q_INVOKABLE
void noteOff(
const int channel,
const int midiNote,
const int velocity);
53 Q_INVOKABLE
void controlChange(
const int channel,
const int ctl,
const int value);
54 Q_INVOKABLE
void bender(
const int channel,
const int value);
55 Q_INVOKABLE QString version()
const {
return stringify(VERSION); }
57 QString currentConnection()
const {
return m_currentConnection; }
63 void scanSoundFonts(
const QDir &dir);
64 void initializeSynth(QSettings *settings = 0);
68 QString m_currentConnection;
70 QString m_defSoundFont;
71 fluid_settings_t* m_settings;
72 fluid_synth_t* m_synth;
73 fluid_audio_driver_t* m_driver;
74 QStringList m_soundFontsList;
77 #endif // SynthEngine_H
The QObject class is the base class of all Qt objects.