servatrice/cockatrice/src/soundengine.h
ebbit1q c874f201c3 add a bunch of parents to dialogs (#3658)
* add a bunch of parents to dialogs

works on #3651

* use game as parent instead

* add more parents

* fix create token dialog modality

* add parent to game information window

* replace a bunch of nullptrs with the magic of sed

* add parent to tip of the day and counters

* reorder game ptr

* set parent for life counter

* clangify
2019-03-26 14:54:47 -04:00

39 lines
736 B
C++

#ifndef SOUNDENGINE_H
#define SOUNDENGINE_H
#include <QDir>
#include <QMap>
#include <QObject>
#include <QString>
class QAudioOutput;
class QBuffer;
typedef QMap<QString, QString> QStringMap;
class SoundEngine : public QObject
{
Q_OBJECT
public:
SoundEngine(QObject *parent = nullptr);
~SoundEngine();
void playSound(QString fileName);
QStringMap &getAvailableThemes();
private:
QMap<QString, QByteArray> audioData;
QBuffer *inputBuffer;
QAudioOutput *player;
QStringMap availableThemes;
protected:
void ensureThemeDirectoryExists();
private slots:
void soundEnabledChanged();
void themeChangedSlot();
public slots:
void testSound();
};
extern SoundEngine *soundEngine;
#endif