defuze.me  Client
audioeffectvolumewidget.cpp
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 "audioeffectvolumewidget.hpp"
00012 
00013 AudioEffectVolumeWidget::AudioEffectVolumeWidget(Audio::AudioEffectVolume *effect, QWidget *parent) :
00014     AudioEffectWidget(effect, parent)
00015 {
00016     setupUi(this);
00017     effectNameLabel->setText("Volume");
00018     muteButton->setIcon(this->style()->standardIcon(QStyle::SP_MediaVolume));
00019     _isMuted = false;
00020     volumeSlider->setValue(static_cast<Audio::AudioEffectVolume*>(effect)->volume());
00021 }
00022 
00023 void AudioEffectVolumeWidget::on_muteButton_clicked()
00024 {
00025     if (_isMuted == true)
00026     {
00027         _isMuted = false;
00028         muteButton->setIcon(this->style()->standardIcon(QStyle::SP_MediaVolume));
00029         volumeSlider->setDisabled(false);
00030         static_cast<Audio::AudioEffectVolume*>(effect)->volume() = volumeSlider->value();
00031     }
00032     else
00033     {
00034         _isMuted = true;
00035         muteButton->setIcon(this->style()->standardIcon(QStyle::SP_MediaVolumeMuted));
00036         volumeSlider->setDisabled(true);
00037         static_cast<Audio::AudioEffectVolume*>(effect)->volume() = 0;
00038     }
00039 }
00040 
00041 void    AudioEffectVolumeWidget::setVolume(int volume)
00042 {
00043     volumeSlider->setValue(volume);
00044 }
00045 
00046 void    AudioEffectVolumeWidget::setLevels(double left, double right)
00047 {
00048     vumeter->setLevels(left, right);
00049 }
00050 
00051 void AudioEffectVolumeWidget::on_volumeSlider_valueChanged(int position)
00052 {
00053     static_cast<Audio::AudioEffectVolume*>(effect)->volume() = position;
00054 }