comparison main/MainWindow.cpp @ 1038:0f46daf55706 3.0-integration

Merge from default branch
author Chris Cannam
date Fri, 24 Jul 2015 16:31:54 +0100
parents 8d45d6412ca6 2d524c9eee33
children 1f4e40be5aa2
comparison
equal deleted inserted replaced
1030:afe496c595e1 1038:0f46daf55706
233 connect(m_fader, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget())); 233 connect(m_fader, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget()));
234 connect(m_fader, SIGNAL(mouseLeft()), this, SLOT(mouseLeftWidget())); 234 connect(m_fader, SIGNAL(mouseLeft()), this, SLOT(mouseLeftWidget()));
235 235
236 m_playSpeed = new AudioDial(frame); 236 m_playSpeed = new AudioDial(frame);
237 m_playSpeed->setMinimum(0); 237 m_playSpeed->setMinimum(0);
238 m_playSpeed->setMaximum(200); 238 m_playSpeed->setMaximum(120);
239 m_playSpeed->setValue(100); 239 m_playSpeed->setValue(60);
240 m_playSpeed->setFixedWidth(32); 240 m_playSpeed->setFixedWidth(32);
241 m_playSpeed->setFixedHeight(32); 241 m_playSpeed->setFixedHeight(32);
242 m_playSpeed->setNotchesVisible(true); 242 m_playSpeed->setNotchesVisible(true);
243 m_playSpeed->setPageStep(10); 243 m_playSpeed->setPageStep(10);
244 m_playSpeed->setObjectName(tr("Playback Speedup")); 244 m_playSpeed->setObjectName(tr("Playback Speed"));
245 m_playSpeed->setDefaultValue(100); 245 m_playSpeed->setRangeMapper(new PlaySpeedRangeMapper);
246 m_playSpeed->setRangeMapper(new PlaySpeedRangeMapper(0, 200)); 246 m_playSpeed->setDefaultValue(60);
247 m_playSpeed->setShowToolTip(true); 247 m_playSpeed->setShowToolTip(true);
248 connect(m_playSpeed, SIGNAL(valueChanged(int)), 248 connect(m_playSpeed, SIGNAL(valueChanged(int)),
249 this, SLOT(playSpeedChanged(int))); 249 this, SLOT(playSpeedChanged(int)));
250 connect(m_playSpeed, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget())); 250 connect(m_playSpeed, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget()));
251 connect(m_playSpeed, SIGNAL(mouseLeft()), this, SLOT(mouseLeftWidget())); 251 connect(m_playSpeed, SIGNAL(mouseLeft()), this, SLOT(mouseLeftWidget()));
3867 } 3867 }
3868 3868
3869 void 3869 void
3870 MainWindow::playSpeedChanged(int position) 3870 MainWindow::playSpeedChanged(int position)
3871 { 3871 {
3872 PlaySpeedRangeMapper mapper(0, 200); 3872 PlaySpeedRangeMapper mapper;
3873 3873
3874 double percent = m_playSpeed->mappedValue(); 3874 double percent = m_playSpeed->mappedValue();
3875 double factor = mapper.getFactorForValue(percent); 3875 double factor = mapper.getFactorForValue(percent);
3876 3876
3877 // cerr << "speed = " << position << " percent = " << percent << " factor = " << factor << endl; 3877 // cerr << "play speed position = " << position << " (range 0-120) percent = " << percent << " factor = " << factor << endl;
3878 3878
3879 bool something = (position != 100); 3879 int centre = m_playSpeed->defaultValue();
3880 3880
3881 int pc = int(lrint(percent)); 3881 // Percentage is shown to 0dp if >100, to 1dp if <100; factor is
3882 3882 // shown to 3sf
3883 if (!something) { 3883
3884 char pcbuf[30];
3885 char facbuf[30];
3886
3887 if (position == centre) {
3884 contextHelpChanged(tr("Playback speed: Normal")); 3888 contextHelpChanged(tr("Playback speed: Normal"));
3889 } else if (position < centre) {
3890 sprintf(pcbuf, "%.1f", percent);
3891 sprintf(facbuf, "%.3g", 1.0 / factor);
3892 contextHelpChanged(tr("Playback speed: %1% (%2x slower)")
3893 .arg(pcbuf)
3894 .arg(facbuf));
3885 } else { 3895 } else {
3886 contextHelpChanged(tr("Playback speed: %1%2%") 3896 sprintf(pcbuf, "%.0f", percent);
3887 .arg(position > 100 ? "+" : "") 3897 sprintf(facbuf, "%.3g", factor);
3888 .arg(pc)); 3898 contextHelpChanged(tr("Playback speed: %1% (%2x faster)")
3889 } 3899 .arg(pcbuf)
3890 3900 .arg(facbuf));
3891 m_playSource->setTimeStretch(factor); 3901 }
3902
3903 m_playSource->setTimeStretch(1.0 / factor); // factor is a speedup
3892 3904
3893 updateMenuStates(); 3905 updateMenuStates();
3894 } 3906 }
3895 3907
3896 void 3908 void