Mercurial > hg > sonic-visualiser
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 |