Mercurial > hg > easaier-soundaccess
annotate widgets/LabelForTimeStrechFilter.cpp @ 282:d9319859a4cf tip
(none)
author | benoitrigolleau |
---|---|
date | Fri, 31 Oct 2008 11:00:24 +0000 |
parents | a9af42a93073 |
children |
rev | line source |
---|---|
benoitrigolleau@276 | 1 #include "LabelForTimeStrechFilter.h" |
benoitrigolleau@276 | 2 #include "../sv/main/MainWindow.h" |
benoitrigolleau@276 | 3 #include <cmath> |
benoitrigolleau@276 | 4 |
benoitrigolleau@276 | 5 |
benoitrigolleau@276 | 6 LabelForTimeStrechFilter::LabelForTimeStrechFilter(QWidget *parent){ |
benoitrigolleau@276 | 7 m_audioSourceInfoModel=0; |
benoitrigolleau@276 | 8 MainWindow *mainW = MainWindow::instance(); |
benoitrigolleau@276 | 9 connect(mainW, SIGNAL(addAudioSourceInfo(AudioSourceInfoModel *)), |
benoitrigolleau@276 | 10 this, SLOT(audioSourceInfoAdded(AudioSourceInfoModel *))); |
benoitrigolleau@276 | 11 |
benoitrigolleau@276 | 12 } |
benoitrigolleau@276 | 13 |
benoitrigolleau@276 | 14 LabelForTimeStrechFilter::~LabelForTimeStrechFilter(){ |
benoitrigolleau@276 | 15 |
benoitrigolleau@276 | 16 } |
benoitrigolleau@276 | 17 |
benoitrigolleau@276 | 18 void LabelForTimeStrechFilter::setType(int type){ |
benoitrigolleau@276 | 19 m_type = type; |
benoitrigolleau@276 | 20 } |
benoitrigolleau@276 | 21 |
benoitrigolleau@276 | 22 void LabelForTimeStrechFilter::setValue(int value){ |
benoitrigolleau@276 | 23 float val = (float)value; |
benoitrigolleau@276 | 24 QString text; |
benoitrigolleau@276 | 25 |
benoitrigolleau@276 | 26 if(m_type==0){ |
benoitrigolleau@276 | 27 text = "N/A"; |
benoitrigolleau@276 | 28 if(m_audioSourceInfoModel!=0){ |
benoitrigolleau@276 | 29 QStringList *list = m_audioSourceInfoModel->getInfo("bpm"); |
benoitrigolleau@276 | 30 if(list!=0 && list->size()>0){ |
benoitrigolleau@276 | 31 float tempo = list->at(0).toFloat(); |
benoitrigolleau@276 | 32 val = tempo*(val/100.0); |
benoitrigolleau@276 | 33 text= QString::number((int)(val+0.5)); |
benoitrigolleau@276 | 34 } |
benoitrigolleau@276 | 35 } |
benoitrigolleau@276 | 36 } |
benoitrigolleau@276 | 37 else if(m_type==1){ |
benoitrigolleau@276 | 38 val = (log(val/100.0)/log(2.0))/0.08333333; |
benoitrigolleau@276 | 39 text = QString::number(val); |
benoitrigolleau@276 | 40 } |
benoitrigolleau@276 | 41 |
benoitrigolleau@276 | 42 QLabel::setText(text); |
benoitrigolleau@276 | 43 m_oldValue = value; |
benoitrigolleau@276 | 44 } |
benoitrigolleau@276 | 45 |
benoitrigolleau@276 | 46 void LabelForTimeStrechFilter::audioSourceInfoAdded(AudioSourceInfoModel * audioModel){ |
benoitrigolleau@276 | 47 m_audioSourceInfoModel = audioModel; |
benoitrigolleau@276 | 48 setValue(m_oldValue); |
benoitrigolleau@276 | 49 } |