diff audio/AudioRecordTarget.cpp @ 499:a4d90cf2bb79 3.0-integration

Merge from recording branch
author Chris Cannam
date Mon, 12 Oct 2015 12:43:06 +0100
parents cd9dec2f47e8
children dcd2afbc1bb7
line wrap: on
line diff
--- a/audio/AudioRecordTarget.cpp	Thu Sep 17 13:46:07 2015 +0100
+++ b/audio/AudioRecordTarget.cpp	Mon Oct 12 12:43:06 2015 +0100
@@ -19,11 +19,14 @@
 
 #include "data/model/WritableWaveFileModel.h"
 
+#include <bqaudioio/SystemRecordSource.h>
+
 #include <QDir>
 
 AudioRecordTarget::AudioRecordTarget(ViewManagerBase *manager,
 				     QString clientName) :
     m_viewManager(manager),
+    m_source(0),
     m_clientName(clientName.toUtf8().data()),
     m_recording(false),
     m_recordSampleRate(44100),
@@ -38,6 +41,12 @@
 }
 
 void
+AudioRecordTarget::setSystemRecordSource(breakfastquay::SystemRecordSource *s)
+{
+    m_source = s;
+}
+
+void
 AudioRecordTarget::setSystemRecordBlockSize(int sz)
 {
 }
@@ -113,8 +122,11 @@
 WritableWaveFileModel *
 AudioRecordTarget::startRecording()
 {
+    if (m_source) m_source->resume();
+    
     {
     QMutexLocker locker(&m_mutex);
+    
     if (m_recording) {
         cerr << "WARNING: AudioRecordTarget::startRecording: We are already recording" << endl;
         return 0;
@@ -169,6 +181,8 @@
     m_recording = false;
     }
 
+    if (m_source) m_source->suspend();
+    
     emit recordStatusChanged(false);
 }