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 }