comparison framework/MainWindowBase.cpp @ 551:b9d8c7a690d6 bqresample

Add a ResamplerWrapper
author Chris Cannam
date Wed, 07 Dec 2016 13:57:45 +0000
parents baa11365ebdd
children 8c11ca1ebc39
comparison
equal deleted inserted replaced
550:c732251237b1 551:b9d8c7a690d6
74 #include "data/midi/MIDIInput.h" 74 #include "data/midi/MIDIInput.h"
75 75
76 #include <bqaudioio/SystemPlaybackTarget.h> 76 #include <bqaudioio/SystemPlaybackTarget.h>
77 #include <bqaudioio/SystemAudioIO.h> 77 #include <bqaudioio/SystemAudioIO.h>
78 #include <bqaudioio/AudioFactory.h> 78 #include <bqaudioio/AudioFactory.h>
79 #include <bqaudioio/ResamplerWrapper.h>
79 80
80 #include <QApplication> 81 #include <QApplication>
81 #include <QMessageBox> 82 #include <QMessageBox>
82 #include <QGridLayout> 83 #include <QGridLayout>
83 #include <QLabel> 84 #include <QLabel>
139 m_viewManager(0), 140 m_viewManager(0),
140 m_timeRulerLayer(0), 141 m_timeRulerLayer(0),
141 m_soundOptions(options), 142 m_soundOptions(options),
142 m_playSource(0), 143 m_playSource(0),
143 m_recordTarget(0), 144 m_recordTarget(0),
145 m_resamplerWrapper(0),
144 m_playTarget(0), 146 m_playTarget(0),
145 m_audioIO(0), 147 m_audioIO(0),
146 m_oscQueue(0), 148 m_oscQueue(0),
147 m_oscQueueStarter(0), 149 m_oscQueueStarter(0),
148 m_midiInput(0), 150 m_midiInput(0),
301 // Only one of these two exists! 303 // Only one of these two exists!
302 delete m_audioIO; 304 delete m_audioIO;
303 delete m_playTarget; 305 delete m_playTarget;
304 306
305 // Then delete the Application objects. 307 // Then delete the Application objects.
308 delete m_resamplerWrapper;
306 delete m_playSource; 309 delete m_playSource;
307 delete m_recordTarget; 310 delete m_recordTarget;
308 311
309 delete m_viewManager; 312 delete m_viewManager;
310 delete m_oscQueue; 313 delete m_oscQueue;
2326 SVCERR << "createAudioIO: Preferred playback device = \"" 2329 SVCERR << "createAudioIO: Preferred playback device = \""
2327 << preference.playbackDevice << "\"" << endl; 2330 << preference.playbackDevice << "\"" << endl;
2328 SVCERR << "createAudioIO: Preferred record device = \"" 2331 SVCERR << "createAudioIO: Preferred record device = \""
2329 << preference.recordDevice << "\"" << endl; 2332 << preference.recordDevice << "\"" << endl;
2330 2333
2334 if (!m_resamplerWrapper) {
2335 m_resamplerWrapper = new breakfastquay::ResamplerWrapper(m_playSource);
2336 m_playSource->setResamplerWrapper(m_resamplerWrapper);
2337 }
2338
2331 if (m_soundOptions & WithAudioInput) { 2339 if (m_soundOptions & WithAudioInput) {
2332 m_audioIO = breakfastquay::AudioFactory:: 2340 m_audioIO = breakfastquay::AudioFactory::
2333 createCallbackIO(m_recordTarget, m_playSource, preference); 2341 createCallbackIO(m_recordTarget, m_resamplerWrapper, preference);
2334 if (m_audioIO) { 2342 if (m_audioIO) {
2335 m_audioIO->suspend(); // start in suspended state 2343 m_audioIO->suspend(); // start in suspended state
2336 m_playSource->setSystemPlaybackTarget(m_audioIO); 2344 m_playSource->setSystemPlaybackTarget(m_audioIO);
2337 } 2345 }
2338 } else { 2346 } else {
2339 m_playTarget = breakfastquay::AudioFactory:: 2347 m_playTarget = breakfastquay::AudioFactory::
2340 createCallbackPlayTarget(m_playSource, preference); 2348 createCallbackPlayTarget(m_resamplerWrapper, preference);
2341 if (m_playTarget) { 2349 if (m_playTarget) {
2342 m_playTarget->suspend(); // start in suspended state 2350 m_playTarget->suspend(); // start in suspended state
2343 m_playSource->setSystemPlaybackTarget(m_playTarget); 2351 m_playSource->setSystemPlaybackTarget(m_playTarget);
2344 } 2352 }
2345 } 2353 }