defuze.me  Client
audioeffectvolume.hpp
00001 /**************************************************************************
00002 ** defuze.me Epitech Innovative Project
00003 **
00004 ** Copyright 2010-2011
00005 **   Athena Calmettes - Jocelyn De La Rosa - Francois Gaillard
00006 **   Adrien Jarthon - Alexandre Moore - Luc Peres - Arnaud Sellier
00007 **
00008 ** All rights reserved.
00009 **************************************************************************/
00010 
00011 #ifndef AUDIOEFFECTVOLUME_HPP
00012 #define AUDIOEFFECTVOLUME_HPP
00013 
00014 #include "audioeffect.hpp"
00015 
00016 namespace Audio
00017 {
00018     class AudioEffectVolume : public AudioEffect
00019     {
00020         Q_OBJECT
00021     public:
00022         AudioEffectVolume();
00023         int&                        volume();
00024         void                        setVolume(int value);
00025         virtual void                apply(short *data, int len);
00026         double                      levelToDB(double level);
00027         double                      levelToRatio(double level);
00028         virtual AudioEffectWidget   *getWidget();
00029     private:
00030         int     _volume, _oldVolume;
00031         double  l_level, r_level;
00032     signals:
00033         void setMixerWidgetVolume(int);
00034     };
00035 }
00036 
00037 #endif // AUDIOEFFECTVOLUME_HPP