Mercurial > hg > sonic-visualiser
comparison main/PreferencesDialog.cpp @ 115:c9930ec7a3f9
* Add fuzzy interpolation option as an alternative to zero padding in
spectrogram (looks terrible though)
* Make spectrogram appear more quickly by having the FFT server notify of
updates more often near the start of its run
author | Chris Cannam |
---|---|
date | Mon, 05 Mar 2007 15:32:55 +0000 |
parents | a46d68ae3c3e |
children | 652b22dcd4ed |
comparison
equal
deleted
inserted
replaced
114:a46d68ae3c3e | 115:c9930ec7a3f9 |
---|---|
56 m_windowTypeSelector = new WindowTypeSelector(m_windowType); | 56 m_windowTypeSelector = new WindowTypeSelector(m_windowType); |
57 | 57 |
58 connect(m_windowTypeSelector, SIGNAL(windowTypeChanged(WindowType)), | 58 connect(m_windowTypeSelector, SIGNAL(windowTypeChanged(WindowType)), |
59 this, SLOT(windowTypeChanged(WindowType))); | 59 this, SLOT(windowTypeChanged(WindowType))); |
60 | 60 |
61 QCheckBox *smoothing = new QCheckBox; | 61 QComboBox *smoothing = new QComboBox; |
62 m_smoothSpectrogram = prefs->getSmoothSpectrogram(); | 62 |
63 smoothing->setCheckState(m_smoothSpectrogram ? | 63 int sm = prefs->getPropertyRangeAndValue("Spectrogram Smoothing", &min, &max, |
64 Qt::Checked : Qt::Unchecked); | 64 &deflt); |
65 | 65 m_spectrogramSmoothing = sm; |
66 connect(smoothing, SIGNAL(stateChanged(int)), | 66 |
67 this, SLOT(smoothSpectrogramChanged(int))); | 67 for (i = min; i <= max; ++i) { |
68 smoothing->addItem(prefs->getPropertyValueLabel("Spectrogram Smoothing", i)); | |
69 } | |
70 | |
71 smoothing->setCurrentIndex(sm); | |
72 | |
73 connect(smoothing, SIGNAL(currentIndexChanged(int)), | |
74 this, SLOT(spectrogramSmoothingChanged(int))); | |
68 | 75 |
69 QComboBox *propertyLayout = new QComboBox; | 76 QComboBox *propertyLayout = new QComboBox; |
70 int pl = prefs->getPropertyRangeAndValue("Property Box Layout", &min, &max, | 77 int pl = prefs->getPropertyRangeAndValue("Property Box Layout", &min, &max, |
71 &deflt); | 78 &deflt); |
72 m_propertyLayout = pl; | 79 m_propertyLayout = pl; |
73 | 80 |
74 for (i = min; i <= max; ++i) { | 81 for (i = min; i <= max; ++i) { |
75 propertyLayout->addItem(prefs->getPropertyValueLabel("Property Box Layout", i)); | 82 propertyLayout->addItem(prefs->getPropertyValueLabel("Property Box Layout", i)); |
76 } | 83 } |
124 ("Resample Quality"))), | 131 ("Resample Quality"))), |
125 row, 0); | 132 row, 0); |
126 subgrid->addWidget(resampleQuality, row++, 1, 1, 2); | 133 subgrid->addWidget(resampleQuality, row++, 1, 1, 2); |
127 | 134 |
128 subgrid->addWidget(new QLabel(prefs->getPropertyLabel | 135 subgrid->addWidget(new QLabel(prefs->getPropertyLabel |
129 ("Smooth Spectrogram")), | 136 ("Spectrogram Smoothing")), |
130 row, 0, 1, 2); | 137 row, 0); |
131 subgrid->addWidget(smoothing, row++, 2); | 138 subgrid->addWidget(smoothing, row++, 1, 1, 2); |
132 | 139 |
133 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel | 140 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel |
134 ("Window Type"))), | 141 ("Window Type"))), |
135 row, 0); | 142 row, 0); |
136 subgrid->addWidget(m_windowTypeSelector, row++, 1, 2, 2); | 143 subgrid->addWidget(m_windowTypeSelector, row++, 1, 2, 2); |
164 m_windowType = type; | 171 m_windowType = type; |
165 m_applyButton->setEnabled(true); | 172 m_applyButton->setEnabled(true); |
166 } | 173 } |
167 | 174 |
168 void | 175 void |
169 PreferencesDialog::smoothSpectrogramChanged(int state) | 176 PreferencesDialog::spectrogramSmoothingChanged(int smoothing) |
170 { | 177 { |
171 m_smoothSpectrogram = (state == Qt::Checked); | 178 m_spectrogramSmoothing = smoothing; |
172 m_applyButton->setEnabled(true); | 179 m_applyButton->setEnabled(true); |
173 } | 180 } |
174 | 181 |
175 void | 182 void |
176 PreferencesDialog::propertyLayoutChanged(int layout) | 183 PreferencesDialog::propertyLayoutChanged(int layout) |
203 void | 210 void |
204 PreferencesDialog::applyClicked() | 211 PreferencesDialog::applyClicked() |
205 { | 212 { |
206 Preferences *prefs = Preferences::getInstance(); | 213 Preferences *prefs = Preferences::getInstance(); |
207 prefs->setWindowType(WindowType(m_windowType)); | 214 prefs->setWindowType(WindowType(m_windowType)); |
208 prefs->setSmoothSpectrogram(m_smoothSpectrogram); | 215 prefs->setSpectrogramSmoothing(Preferences::SpectrogramSmoothing |
216 (m_spectrogramSmoothing)); | |
209 prefs->setPropertyBoxLayout(Preferences::PropertyBoxLayout | 217 prefs->setPropertyBoxLayout(Preferences::PropertyBoxLayout |
210 (m_propertyLayout)); | 218 (m_propertyLayout)); |
211 prefs->setTuningFrequency(m_tuningFrequency); | 219 prefs->setTuningFrequency(m_tuningFrequency); |
212 prefs->setResampleQuality(m_resampleQuality); | 220 prefs->setResampleQuality(m_resampleQuality); |
213 m_applyButton->setEnabled(false); | 221 m_applyButton->setEnabled(false); |