Initial commit
[camargo/neiasound.git] / src / nSoundEffectParameters.h
1 #ifndef NSOUNDEFFECTPARAMETERS_H
2 #define NSOUNDEFFECTPARAMETERS_H
3
4 #include <QObject>
5 #include <QVariantMap>
6
7 enum nSoundEffectType
8 {
9     SET_NONE,
10     SET_REVERB,
11     SET_HIGHPASS,
12     SET_EAXREVERB,
13     SET_CHORUS,
14     SET_ECHO,
15     SET_FLANGER,
16     SET_AUTOWAH,
17     SET_COMPRESSOR,
18     SET_UNDEFINED
19 };
20
21 quint32 nSoundEffectType_toOpenalType();
22
23 class nSoundEffectParameters : public QObject
24 {
25     Q_OBJECT
26     Q_ENUMS(nSoundEffectType)
27     Q_PROPERTY(nSoundEffectType type READ type WRITE setType )
28
29 public:
30     nSoundEffectParameters(QObject * parent = 0);
31
32     nSoundEffectType type();
33     void setType(nSoundEffectType type);
34
35     QVariant parameter(QString name);
36     void setParameter(QString name, QVariant param);
37     void clearParameters();
38
39 private:
40     quint32 m_handle;
41     nSoundEffectType m_type;
42     QVariantMap m_parameters;
43
44 };
45
46 #endif // NSOUNDEFFECTPARAMETERS_H