changeset 157:752870e80dff

started adding wiring for Pitch gain control, all commented out
author Justin Salamon <justin.salamon@nyu.edu>
date Wed, 22 Jan 2014 18:15:43 -0500
parents 8571ad52349a
children e1a2c175a0e0
files src/MainWindow.cpp src/MainWindow.h
diffstat 2 files changed, 84 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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
 {
--- 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;