00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_AUDIO_SOUNDEFFECT_H__
00009 #define __SP_AUDIO_SOUNDEFFECT_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013
00014
00015 namespace sp
00016 {
00017 namespace audio
00018 {
00019
00020
00022 enum ESoundEffectTypes
00023 {
00024 SOUNDEFFECT_REVERBERATION = 0,
00025 SOUNDEFFECT_CHORUS,
00026 SOUNDEFFECT_DISTORTION,
00027 SOUNDEFFECT_ECHO,
00028 SOUNDEFFECT_FLANGER,
00029 SOUNDEFFECT_FREQUENCY_SHIFTER,
00030 SOUNDEFFECT_VOCAL_MORPHER,
00031 SOUNDEFFECT_PITCH_SHIFTER,
00032 SOUNDEFFECT_RING_MODULATOR,
00033 SOUNDEFFECT_AUTOWAH,
00034 SOUNDEFFECT_COMPRESSOR,
00035 SOUNDEFFECT_EQUALIZER,
00036 };
00037
00042 enum ESoundEffectPresets
00043 {
00044
00045 SFXPRESET_REVERB_GENERIC = 0,
00046 SFXPRESET_REVERB_PADDEDCELL,
00047 SFXPRESET_REVERB_ROOM,
00048 SFXPRESET_REVERB_BATHROOM,
00049 SFXPRESET_REVERB_LIVINGROOM,
00050 SFXPRESET_REVERB_STONEROOM,
00051 SFXPRESET_REVERB_AUDITORIUM,
00052 SFXPRESET_REVERB_CONCERTHALL,
00053 SFXPRESET_REVERB_CAVE,
00054 SFXPRESET_REVERB_ARENA,
00055 SFXPRESET_REVERB_HANGAR,
00056 SFXPRESET_REVERB_CARPETTEDHALLWAY,
00057 SFXPRESET_REVERB_HALLWAY,
00058 SFXPRESET_REVERB_STONECORRIDOR,
00059 SFXPRESET_REVERB_ALLEY,
00060 SFXPRESET_REVERB_FOREST,
00061 SFXPRESET_REVERB_CITY,
00062 SFXPRESET_REVERB_MOUNTAINS,
00063 SFXPRESET_REVERB_QUARRY,
00064 SFXPRESET_REVERB_PLAIN,
00065 SFXPRESET_REVERB_PARKINGLOT,
00066 SFXPRESET_REVERB_SEWERPIPE,
00067 SFXPRESET_REVERB_UNDERWATER,
00068 SFXPRESET_REVERB_DRUGGED,
00069 SFXPRESET_REVERB_DIZZY,
00070 SFXPRESET_REVERB_PSYCHOTIC,
00071
00072
00073 SFXPRESET_REVERB_CASTLE_SMALLROOM,
00074 SFXPRESET_REVERB_CASTLE_SHORTPASSAGE,
00075 SFXPRESET_REVERB_CASTLE_MEDIUMROOM,
00076 SFXPRESET_REVERB_CASTLE_LONGPASSAGE,
00077 SFXPRESET_REVERB_CASTLE_LARGEROOM,
00078 SFXPRESET_REVERB_CASTLE_HALL,
00079 SFXPRESET_REVERB_CASTLE_CUPBOARD,
00080 SFXPRESET_REVERB_CASTLE_COURTYARD,
00081 SFXPRESET_REVERB_CASTLE_ALCOVE,
00082
00083
00084 SFXPRESET_REVERB_FACTORY_ALCOVE,
00085 SFXPRESET_REVERB_FACTORY_SHORTPASSAGE,
00086 SFXPRESET_REVERB_FACTORY_MEDIUMROOM,
00087 SFXPRESET_REVERB_FACTORY_LONGPASSAGE,
00088 SFXPRESET_REVERB_FACTORY_LARGEROOM,
00089 SFXPRESET_REVERB_FACTORY_HALL,
00090 SFXPRESET_REVERB_FACTORY_CUPBOARD,
00091 SFXPRESET_REVERB_FACTORY_COURTYARD,
00092 SFXPRESET_REVERB_FACTORY_SMALLROOM,
00093
00094
00095 SFXPRESET_REVERB_ICEPALACE_ALCOVE,
00096 SFXPRESET_REVERB_ICEPALACE_SHORTPASSAGE,
00097 SFXPRESET_REVERB_ICEPALACE_MEDIUMROOM,
00098 SFXPRESET_REVERB_ICEPALACE_LONGPASSAGE,
00099 SFXPRESET_REVERB_ICEPALACE_LARGEROOM,
00100 SFXPRESET_REVERB_ICEPALACE_HALL,
00101 SFXPRESET_REVERB_ICEPALACE_CUPBOARD,
00102 SFXPRESET_REVERB_ICEPALACE_COURTYARD,
00103 SFXPRESET_REVERB_ICEPALACE_SMALLROOM,
00104
00105
00106 SFXPRESET_REVERB_SPACESTATION_ALCOVE,
00107 SFXPRESET_REVERB_SPACESTATION_MEDIUMROOM,
00108 SFXPRESET_REVERB_SPACESTATION_SHORTPASSAGE,
00109 SFXPRESET_REVERB_SPACESTATION_LONGPASSAGE,
00110 SFXPRESET_REVERB_SPACESTATION_LARGEROOM,
00111 SFXPRESET_REVERB_SPACESTATION_HALL,
00112 SFXPRESET_REVERB_SPACESTATION_CUPBOARD,
00113 SFXPRESET_REVERB_SPACESTATION_SMALLROOM,
00114
00115
00116 SFXPRESET_REVERB_WOODEN_ALCOVE,
00117 SFXPRESET_REVERB_WOODEN_SHORTPASSAGE,
00118 SFXPRESET_REVERB_WOODEN_MEDIUMROOM,
00119 SFXPRESET_REVERB_WOODEN_LONGPASSAGE,
00120 SFXPRESET_REVERB_WOODEN_LARGEROOM,
00121 SFXPRESET_REVERB_WOODEN_HALL,
00122 SFXPRESET_REVERB_WOODEN_CUPBOARD,
00123 SFXPRESET_REVERB_WOODEN_SMALLROOM,
00124 SFXPRESET_REVERB_WOODEN_COURTYARD,
00125
00126
00127 SFXPRESET_REVERB_SPORT_EMPTYSTADIUM,
00128 SFXPRESET_REVERB_SPORT_SQUASHCOURT,
00129 SFXPRESET_REVERB_SPORT_SMALLSWIMMINGPOOL,
00130 SFXPRESET_REVERB_SPORT_LARGESWIMMINGPOOL,
00131 SFXPRESET_REVERB_SPORT_GYMNASIUM,
00132 SFXPRESET_REVERB_SPORT_FULLSTADIUM,
00133 SFXPRESET_REVERB_SPORT_STADIUMTANNOY,
00134
00135
00136 SFXPRESET_REVERB_PREFAB_WORKSHOP,
00137 SFXPRESET_REVERB_PREFAB_SCHOOLROOM,
00138 SFXPRESET_REVERB_PREFAB_PRACTISEROOM,
00139 SFXPRESET_REVERB_PREFAB_OUTHOUSE,
00140 SFXPRESET_REVERB_PREFAB_CARAVAN,
00141
00142
00143 SFXPRESET_REVERB_DOME_TOMB,
00144 SFXPRESET_REVERB_PIPE_SMALL,
00145 SFXPRESET_REVERB_DOME_SAINTPAULS,
00146 SFXPRESET_REVERB_PIPE_LONGTHIN,
00147 SFXPRESET_REVERB_PIPE_LARGE,
00148 SFXPRESET_REVERB_PIPE_RESONANT,
00149
00150
00151 SFXPRESET_REVERB_OUTDOORS_BACKYARD,
00152 SFXPRESET_REVERB_OUTDOORS_ROLLINGPLAINS,
00153 SFXPRESET_REVERB_OUTDOORS_DEEPCANYON,
00154 SFXPRESET_REVERB_OUTDOORS_CREEK,
00155 SFXPRESET_REVERB_OUTDOORS_VALLEY,
00156
00157
00158 SFXPRESET_REVERB_MOOD_HEAVEN,
00159 SFXPRESET_REVERB_MOOD_HELL,
00160 SFXPRESET_REVERB_MOOD_MEMORY,
00161
00162
00163 SFXPRESET_REVERB_DRIVING_COMMENTATOR,
00164 SFXPRESET_REVERB_DRIVING_PITGARAGE,
00165 SFXPRESET_REVERB_DRIVING_INCAR_RACER,
00166 SFXPRESET_REVERB_DRIVING_INCAR_SPORTS,
00167 SFXPRESET_REVERB_DRIVING_INCAR_LUXURY,
00168 SFXPRESET_REVERB_DRIVING_FULLGRANDSTAND,
00169 SFXPRESET_REVERB_DRIVING_EMPTYGRANDSTAND,
00170 SFXPRESET_REVERB_DRIVING_TUNNEL,
00171
00172
00173 SFXPRESET_REVERB_CITY_STREETS,
00174 SFXPRESET_REVERB_CITY_SUBWAY,
00175 SFXPRESET_REVERB_CITY_MUSEUM,
00176 SFXPRESET_REVERB_CITY_LIBRARY,
00177 SFXPRESET_REVERB_CITY_UNDERPASS,
00178 SFXPRESET_REVERB_CITY_ABANDONED,
00179
00180
00181 SFXPRESET_REVERB_DUSTYROOM,
00182 SFXPRESET_REVERB_CHAPEL,
00183 SFXPRESET_REVERB_SMALLWATERROOM,
00184 };
00185
00186
00192 class SP_EXPORT SoundEffect
00193 {
00194
00195 public:
00196
00197 SoundEffect();
00198 virtual ~SoundEffect();
00199
00200
00201
00202 virtual void setType(const ESoundEffectTypes Type);
00203
00204 virtual void setupEffectPreset(const ESoundEffectPresets Preset);
00205
00206
00207
00208 inline ESoundEffectTypes getType() const
00209 {
00210 return Type_;
00211 }
00212
00213 protected:
00214
00215
00216
00217 ESoundEffectTypes Type_;
00218
00219 };
00220
00221
00222 }
00223
00224 }
00225
00226
00227 #endif
00228
00229
00230
00231