diff --git a/include/Mixer.h b/include/Mixer.h index b656114df64..26365657be1 100644 --- a/include/Mixer.h +++ b/include/Mixer.h @@ -291,7 +291,7 @@ class LMMS_EXPORT Mixer : public QObject return m_fifoWriter != NULL; } - void pushInputFrames( sampleFrame * _ab, const f_cnt_t _frames ); + void pushInputFrames(const sampleFrame *_ab, const f_cnt_t _frames); inline const sampleFrame * inputBuffer() { diff --git a/src/core/Mixer.cpp b/src/core/Mixer.cpp index 55907b5efec..55ff132d05a 100644 --- a/src/core/Mixer.cpp +++ b/src/core/Mixer.cpp @@ -300,7 +300,7 @@ bool Mixer::criticalXRuns() const -void Mixer::pushInputFrames( sampleFrame * _ab, const f_cnt_t _frames ) +void Mixer::pushInputFrames(const sampleFrame * _ab, const f_cnt_t _frames ) { bool needCapture = Engine::getSong()->isRecording(); if (needCapture) diff --git a/src/gui/editors/SongEditor.cpp b/src/gui/editors/SongEditor.cpp index 17bac949851..dcd8f9383c1 100644 --- a/src/gui/editors/SongEditor.cpp +++ b/src/gui/editors/SongEditor.cpp @@ -1086,6 +1086,12 @@ void SongEditorWindow::play() void SongEditorWindow::record() { + AudioDevice *ad = Engine::mixer()->audioDev(); + if (ad->supportsCapture() && (!ad->isCaptureOn())) + { + ad->startCapture(); + } + m_editor->m_song->record(); } @@ -1094,6 +1100,12 @@ void SongEditorWindow::record() void SongEditorWindow::recordAccompany() { + AudioDevice *ad = Engine::mixer()->audioDev(); + if (ad->supportsCapture() && (!ad->isCaptureOn())) + { + ad->startCapture(); + } + m_editor->m_song->playAndRecord(); }