defuze.me
Client
|
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 #include "audioeffectbalance.hpp" 00012 #include "audioeffectbalancewidget.hpp" 00013 #include "math.h" 00014 00015 using namespace Audio; 00016 00017 AudioEffectBalance::AudioEffectBalance() 00018 { 00019 _balance = 0; 00020 widget = 0; 00021 } 00022 00023 int& AudioEffectBalance::balance() 00024 { 00025 return _balance; 00026 } 00027 00028 void AudioEffectBalance::apply(short *data, int len) 00029 { 00030 for(int i = 0; i < (len / 2); i++) 00031 { 00032 if ((i % 2 && _balance < 0) || (_balance > 0 && i%2 == 0)) 00033 data[i] *= ((10 - abs(_balance)) / 10.); 00034 } 00035 } 00036 00037 AudioEffectWidget* AudioEffectBalance::getWidget() 00038 { 00039 if (!widget) 00040 widget = new AudioEffectBalanceWidget(this); 00041 return widget; 00042 }