#ifndef SoundDriver_H
#define SoundDriver_H

#include <QString>

struct XAUDIOREVERBSETTINGS
{
    unsigned int ReflectionsDelay;
    unsigned __int8 ReverbDelay;
    unsigned __int8 RearDelay;
    unsigned __int8 PositionLeft;
    unsigned __int8 PositionRight;
    unsigned __int8 PositionMatrixLeft;
    unsigned __int8 PositionMatrixRight;
    unsigned __int8 EarlyDiffusion;
    unsigned __int8 LateDiffusion;
    unsigned __int8 LowEQGain;
    unsigned __int8 LowEQCutoff;
    unsigned __int8 HighEQGain;
    unsigned __int8 HighEQCutoff;
    float RoomFilterFreq;
    float RoomFilterMain;
    float RoomFilterHF;
    float ReflectionsGain;
    float ReverbGain;
    float DecayTime;
    float Density;
    float RoomSize;
};

struct XaReverbSettings
{
    int presetOverridden;
    XAUDIOREVERBSETTINGS reverbSettings;
};

struct SoundDriver
{
    qint32 namePtr;
    QString name;

    qint32 reverbPtr;
    XaReverbSettings *reverbSettings;
};

#endif // SoundDriver_H
