# HG changeset patch # User Justin Salamon # Date 1390432543 18000 # Node ID 752870e80dff060ce7c98bdc856385dac3e76481 # Parent 8571ad52349a72cf176b8230a422869caf7e6305 started adding wiring for Pitch gain control, all commented out diff -r 8571ad52349a -r 752870e80dff src/MainWindow.cpp --- a/src/MainWindow.cpp Wed Jan 22 17:08:00 2014 -0500 +++ b/src/MainWindow.cpp Wed Jan 22 18:15:43 2014 -0500 @@ -212,6 +212,25 @@ connect(m_playSpeed, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget())); connect(m_playSpeed, SIGNAL(mouseLeft()), this, SLOT(mouseLeftWidget())); + /* not there yet... + m_gainPitch = new AudioDial(frame); + m_gainPitch->setMinimum(0); + m_gainPitch->setMaximum(200); + m_gainPitch->setValue(100); + m_gainPitch->setFixedWidth(24); + m_gainPitch->setFixedHeight(24); + m_gainPitch->setNotchesVisible(true); + m_gainPitch->setPageStep(10); + m_gainPitch->setObjectName(tr("Playback Speedup")); + m_gainPitch->setDefaultValue(100); + m_gainPitch->setRangeMapper(new PlaySpeedRangeMapper(0, 200)); + m_gainPitch->setShowToolTip(true); + connect(m_gainPitch, SIGNAL(valueChanged(int)), + this, SLOT(playSpeedChanged(int))); + connect(m_gainPitch, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget())); + connect(m_gainPitch, SIGNAL(mouseLeft()), this, SLOT(mouseLeftWidget())); + */ + layout->setSpacing(4); layout->addWidget(m_overview, 0, 1); layout->addWidget(scroll, 1, 1); @@ -788,7 +807,7 @@ connect(m_playPitch, SIGNAL(triggered()), this, SLOT(playPitchToggled())); connect(this, SIGNAL(canPlay(bool)), m_playPitch, SLOT(setEnabled(bool))); - //toolbar->addWidget(m_volumePitch); + //toolbar->addWidget(m_gainPitch); // Notes QLabel *icon_notes = new QLabel; @@ -1606,6 +1625,7 @@ settings.endGroup(); playSpeedChanged(m_playSpeed->value()); + // TODO: pitch gain? } void @@ -1617,6 +1637,7 @@ settings.endGroup(); playSpeedChanged(m_playSpeed->value()); + // TODO: pitch gain? } void @@ -1643,6 +1664,60 @@ m_playSpeed->setValue(m_playSpeed->defaultValue()); } +/* Pitch Gain Functions +void +MainWindow::pitchGainChanged(int position) +{ + PlaySpeedRangeMapper mapper(0, 200); + + float percent = m_gainPitch->mappedValue(); + float factor = mapper.getFactorForValue(percent); + + cerr << "speed = " << position << " percent = " << percent << " factor = " << factor << endl; + + bool something = (position != 100); + + int pc = lrintf(percent); + + if (!something) { + contextHelpChanged(tr("Pitch Gain: Normal")); + } else { + contextHelpChanged(tr("Pitch Gain: %1%2%") + .arg(position > 100 ? "+" : "") + .arg(pc)); + } + + //m_playSource->setTimeStretch(factor); + // TODO: pitch gain + + updateMenuStates(); +} + +void +MainWindow::increasePitchGain() +{ + int value = m_gainPitch->value(); + value = value + m_gainPitch->pageStep(); + if (value > m_gainPitch->maximum()) value = m_gainPitch->maximum(); + m_gainPitch->setValue(value); +} + +void +MainWindow::decreasePitchGain() +{ + int value = m_gainPitch->value(); + value = value - m_gainPitch->pageStep(); + if (value < m_gainPitch->minimum()) value = m_gainPitch->minimum(); + m_gainPitch->setValue(value); +} + +void +MainWindow::restoreNormalPitchGain() +{ + m_gainPitch->setValue(m_gainPitch->defaultValue()); +} +*/ + void MainWindow::updateVisibleRangeDisplay(Pane *p) const { diff -r 8571ad52349a -r 752870e80dff src/MainWindow.h --- a/src/MainWindow.h Wed Jan 22 17:08:00 2014 -0500 +++ b/src/MainWindow.h Wed Jan 22 18:15:43 2014 -0500 @@ -79,6 +79,11 @@ virtual void slowDownPlayback(); virtual void restoreNormalPlayback(); + //virtual void pitchGainChanged(int); + //virtual void increasePitchGain(); + //virtual void decreasePitchGain(); + //virtual void restoreNormalPitchGain(); + virtual void sampleRateMismatch(size_t, size_t, bool); virtual void audioOverloadPluginDisabled(); virtual void audioTimeStretchMultiChannelDisabled(); @@ -149,9 +154,9 @@ QAction *m_playAudio; QAction *m_playPitch; QAction *m_playNotes; - //AudioDial *m_volumeAudio; - //AudioDial *m_volumePitch; - //AudioDial *m_volumeNotes; + //AudioDial *m_gainAudio; + //AudioDial *m_gainPitch; + //AudioDial *m_gainNotes; QLabel *m_waveformStatus; QLabel *m_pitchStatus;