benoitrigolleau@276: #include "LabelForTimeStrechFilter.h" benoitrigolleau@276: #include "../sv/main/MainWindow.h" benoitrigolleau@276: #include benoitrigolleau@276: benoitrigolleau@276: benoitrigolleau@276: LabelForTimeStrechFilter::LabelForTimeStrechFilter(QWidget *parent){ benoitrigolleau@276: m_audioSourceInfoModel=0; benoitrigolleau@276: MainWindow *mainW = MainWindow::instance(); benoitrigolleau@276: connect(mainW, SIGNAL(addAudioSourceInfo(AudioSourceInfoModel *)), benoitrigolleau@276: this, SLOT(audioSourceInfoAdded(AudioSourceInfoModel *))); benoitrigolleau@276: benoitrigolleau@276: } benoitrigolleau@276: benoitrigolleau@276: LabelForTimeStrechFilter::~LabelForTimeStrechFilter(){ benoitrigolleau@276: benoitrigolleau@276: } benoitrigolleau@276: benoitrigolleau@276: void LabelForTimeStrechFilter::setType(int type){ benoitrigolleau@276: m_type = type; benoitrigolleau@276: } benoitrigolleau@276: benoitrigolleau@276: void LabelForTimeStrechFilter::setValue(int value){ benoitrigolleau@276: float val = (float)value; benoitrigolleau@276: QString text; benoitrigolleau@276: benoitrigolleau@276: if(m_type==0){ benoitrigolleau@276: text = "N/A"; benoitrigolleau@276: if(m_audioSourceInfoModel!=0){ benoitrigolleau@276: QStringList *list = m_audioSourceInfoModel->getInfo("bpm"); benoitrigolleau@276: if(list!=0 && list->size()>0){ benoitrigolleau@276: float tempo = list->at(0).toFloat(); benoitrigolleau@276: val = tempo*(val/100.0); benoitrigolleau@276: text= QString::number((int)(val+0.5)); benoitrigolleau@276: } benoitrigolleau@276: } benoitrigolleau@276: } benoitrigolleau@276: else if(m_type==1){ benoitrigolleau@276: val = (log(val/100.0)/log(2.0))/0.08333333; benoitrigolleau@276: text = QString::number(val); benoitrigolleau@276: } benoitrigolleau@276: benoitrigolleau@276: QLabel::setText(text); benoitrigolleau@276: m_oldValue = value; benoitrigolleau@276: } benoitrigolleau@276: benoitrigolleau@276: void LabelForTimeStrechFilter::audioSourceInfoAdded(AudioSourceInfoModel * audioModel){ benoitrigolleau@276: m_audioSourceInfoModel = audioModel; benoitrigolleau@276: setValue(m_oldValue); benoitrigolleau@276: }