comparison audio/AudioCallbackRecordTarget.cpp @ 644:6fd0ebfd2bbe

Merge from branch fix-static-analysis
author Chris Cannam
date Wed, 09 Jan 2019 15:25:09 +0000
parents 92ad94dee103 e2715204feaa
children aee03ad6d3f6
comparison
equal deleted inserted replaced
643:713b9a6b284a 644:6fd0ebfd2bbe
33 m_clientName(clientName.toUtf8().data()), 33 m_clientName(clientName.toUtf8().data()),
34 m_recording(false), 34 m_recording(false),
35 m_recordSampleRate(44100), 35 m_recordSampleRate(44100),
36 m_recordChannelCount(2), 36 m_recordChannelCount(2),
37 m_frameCount(0), 37 m_frameCount(0),
38 m_model(0), 38 m_model(nullptr),
39 m_buffers(0), 39 m_buffers(nullptr),
40 m_bufferCount(0), 40 m_bufferCount(0),
41 m_inputLeft(0.f), 41 m_inputLeft(0.f),
42 m_inputRight(0.f), 42 m_inputRight(0.f),
43 m_levelsSet(false) 43 m_levelsSet(false)
44 { 44 {
54 { 54 {
55 #ifdef DEBUG_AUDIO_CALLBACK_RECORD_TARGET 55 #ifdef DEBUG_AUDIO_CALLBACK_RECORD_TARGET
56 cerr << "AudioCallbackRecordTarget dtor" << endl; 56 cerr << "AudioCallbackRecordTarget dtor" << endl;
57 #endif 57 #endif
58 58
59 m_viewManager->setAudioRecordTarget(0); 59 m_viewManager->setAudioRecordTarget(nullptr);
60 60
61 QMutexLocker locker(&m_bufPtrMutex); 61 QMutexLocker locker(&m_bufPtrMutex);
62 for (int c = 0; c < m_bufferCount; ++c) { 62 for (int c = 0; c < m_bufferCount; ++c) {
63 delete m_buffers[c]; 63 delete m_buffers[c];
64 } 64 }
230 { 230 {
231 if (sender() == m_model) { 231 if (sender() == m_model) {
232 #ifdef DEBUG_AUDIO_CALLBACK_RECORD_TARGET 232 #ifdef DEBUG_AUDIO_CALLBACK_RECORD_TARGET
233 cerr << "AudioCallbackRecordTarget::modelAboutToBeDeleted: taking note" << endl; 233 cerr << "AudioCallbackRecordTarget::modelAboutToBeDeleted: taking note" << endl;
234 #endif 234 #endif
235 m_model = 0; 235 m_model = nullptr;
236 m_recording = false; 236 m_recording = false;
237 } else if (m_model) { 237 } else if (m_model) {
238 SVCERR << "WARNING: AudioCallbackRecordTarget::modelAboutToBeDeleted: this is not my model!" << endl; 238 SVCERR << "WARNING: AudioCallbackRecordTarget::modelAboutToBeDeleted: this is not my model!" << endl;
239 } 239 }
240 } 240 }
242 WritableWaveFileModel * 242 WritableWaveFileModel *
243 AudioCallbackRecordTarget::startRecording() 243 AudioCallbackRecordTarget::startRecording()
244 { 244 {
245 if (m_recording) { 245 if (m_recording) {
246 SVCERR << "WARNING: AudioCallbackRecordTarget::startRecording: We are already recording" << endl; 246 SVCERR << "WARNING: AudioCallbackRecordTarget::startRecording: We are already recording" << endl;
247 return 0; 247 return nullptr;
248 } 248 }
249 249
250 m_model = 0; 250 m_model = nullptr;
251 m_frameCount = 0; 251 m_frameCount = 0;
252 252
253 QString folder = RecordDirectory::getRecordDirectory(); 253 QString folder = RecordDirectory::getRecordDirectory();
254 if (folder == "") return 0; 254 if (folder == "") return nullptr;
255 QDir recordedDir(folder); 255 QDir recordedDir(folder);
256 256
257 QDateTime now = QDateTime::currentDateTime(); 257 QDateTime now = QDateTime::currentDateTime();
258 258
259 // Don't use QDateTime::toString(Qt::ISODate) as the ":" character 259 // Don't use QDateTime::toString(Qt::ISODate) as the ":" character
274 if (!m_model->isOK()) { 274 if (!m_model->isOK()) {
275 SVCERR << "ERROR: AudioCallbackRecordTarget::startRecording: Recording failed" 275 SVCERR << "ERROR: AudioCallbackRecordTarget::startRecording: Recording failed"
276 << endl; 276 << endl;
277 //!!! and throw? 277 //!!! and throw?
278 delete m_model; 278 delete m_model;
279 m_model = 0; 279 m_model = nullptr;
280 return 0; 280 return nullptr;
281 } 281 }
282 282
283 connect(m_model, SIGNAL(aboutToBeDeleted()), 283 connect(m_model, SIGNAL(aboutToBeDeleted()),
284 this, SLOT(modelAboutToBeDeleted())); 284 this, SLOT(modelAboutToBeDeleted()));
285 285
308 308
309 // buffers should now be up-to-date 309 // buffers should now be up-to-date
310 updateModel(); 310 updateModel();
311 311
312 m_model->writeComplete(); 312 m_model->writeComplete();
313 m_model = 0; 313 m_model = nullptr;
314 314
315 emit recordStatusChanged(false); 315 emit recordStatusChanged(false);
316 emit recordCompleted(); 316 emit recordCompleted();
317 } 317 }
318 318