comparison main/MainWindow.h @ 16:3715efc38f95

* substantial enhancements to time stretcher: -- use putInput/getOutput methods to ensure the audio source always feeds it enough input, avoiding underruns due to rounding error -- add a percussion detector and an optional "Sharpen" toggle to the main window, which invokes a very basic variable speed timestretcher
author Chris Cannam
date Wed, 13 Sep 2006 17:17:42 +0000
parents 0dbd08e365ce
children d88d117e0c34
comparison
equal deleted inserted replaced
15:cc566264c935 16:3715efc38f95
42 class AudioCallbackPlayTarget; 42 class AudioCallbackPlayTarget;
43 class CommandHistory; 43 class CommandHistory;
44 class QMenu; 44 class QMenu;
45 class AudioDial; 45 class AudioDial;
46 class QLabel; 46 class QLabel;
47 class QCheckBox;
47 class PreferencesDialog; 48 class PreferencesDialog;
48 49
49 50
50 class MainWindow : public QMainWindow 51 class MainWindow : public QMainWindow
51 { 52 {
137 void deleteCurrentLayer(); 138 void deleteCurrentLayer();
138 139
139 void playLoopToggled(); 140 void playLoopToggled();
140 void playSelectionToggled(); 141 void playSelectionToggled();
141 void playSpeedChanged(int); 142 void playSpeedChanged(int);
143 void playSharpenToggled();
142 void sampleRateMismatch(size_t, size_t, bool); 144 void sampleRateMismatch(size_t, size_t, bool);
143 145
144 void outputLevelsChanged(float, float); 146 void outputLevelsChanged(float, float);
145 147
146 void currentPaneChanged(Pane *); 148 void currentPaneChanged(Pane *);
201 PaneStack *m_paneStack; 203 PaneStack *m_paneStack;
202 ViewManager *m_viewManager; 204 ViewManager *m_viewManager;
203 Panner *m_panner; 205 Panner *m_panner;
204 Fader *m_fader; 206 Fader *m_fader;
205 AudioDial *m_playSpeed; 207 AudioDial *m_playSpeed;
208 QCheckBox *m_playSharpen;
206 WaveformLayer *m_panLayer; 209 WaveformLayer *m_panLayer;
207 Layer *m_timeRulerLayer; 210 Layer *m_timeRulerLayer;
208 211
209 AudioCallbackPlaySource *m_playSource; 212 AudioCallbackPlaySource *m_playSource;
210 AudioCallbackPlayTarget *m_playTarget; 213 AudioCallbackPlayTarget *m_playTarget;