Mercurial > hg > svapp
comparison framework/MainWindowBase.cpp @ 500:dcd2afbc1bb7 3.0-integration
Merge, but dropping the last commit from the recording branch because I prefer the way it was done here
author | Chris Cannam |
---|---|
date | Wed, 14 Oct 2015 10:17:32 +0100 |
parents | a4d90cf2bb79 40e7b4e1b569 |
children | c82cae9a9e74 |
comparison
equal
deleted
inserted
replaced
499:a4d90cf2bb79 | 500:dcd2afbc1bb7 |
---|---|
2679 } | 2679 } |
2680 | 2680 |
2681 if (!m_audioIO) { | 2681 if (!m_audioIO) { |
2682 createAudioIO(); | 2682 createAudioIO(); |
2683 } | 2683 } |
2684 | |
2685 if (!m_audioIO) { | |
2686 //!!! report | |
2687 return; | |
2688 } | |
2684 | 2689 |
2685 if (m_recordTarget->isRecording()) { | 2690 if (m_recordTarget->isRecording()) { |
2686 m_recordTarget->stopRecording(); | 2691 stop(); |
2687 emit audioFileLoaded(); | |
2688 return; | 2692 return; |
2689 } | 2693 } |
2690 | 2694 |
2695 QAction *action = qobject_cast<QAction *>(sender()); | |
2696 | |
2691 if (m_audioRecordMode == RecordReplaceSession) { | 2697 if (m_audioRecordMode == RecordReplaceSession) { |
2692 if (!checkSaveModified()) return; | 2698 if (!checkSaveModified()) { |
2693 } | 2699 if (action) action->setChecked(false); |
2694 | 2700 return; |
2701 } | |
2702 } | |
2703 | |
2704 m_audioIO->resume(); | |
2695 WritableWaveFileModel *model = m_recordTarget->startRecording(); | 2705 WritableWaveFileModel *model = m_recordTarget->startRecording(); |
2696 if (!model) { | 2706 if (!model) { |
2697 cerr << "ERROR: MainWindowBase::record: Recording failed" << endl; | 2707 cerr << "ERROR: MainWindowBase::record: Recording failed" << endl; |
2698 //!!! report | 2708 //!!! report |
2709 if (action) action->setChecked(false); | |
2699 return; | 2710 return; |
2700 } | 2711 } |
2701 | 2712 |
2702 if (!model->isOK()) { | 2713 if (!model->isOK()) { |
2703 m_recordTarget->stopRecording(); | 2714 m_recordTarget->stopRecording(); |
2715 m_audioIO->suspend(); | |
2704 delete model; | 2716 delete model; |
2705 //!!! ??? | |
2706 return; | 2717 return; |
2707 } | 2718 } |
2708 | 2719 |
2709 PlayParameterRepository::getInstance()->addPlayable(model); | 2720 PlayParameterRepository::getInstance()->addPlayable(model); |
2710 | 2721 |
2716 bool loadedTemplate = false; | 2727 bool loadedTemplate = false; |
2717 | 2728 |
2718 if (templateName != "") { | 2729 if (templateName != "") { |
2719 FileOpenStatus tplStatus = openSessionTemplate(templateName); | 2730 FileOpenStatus tplStatus = openSessionTemplate(templateName); |
2720 if (tplStatus == FileOpenCancelled) { | 2731 if (tplStatus == FileOpenCancelled) { |
2732 m_recordTarget->stopRecording(); | |
2733 m_audioIO->suspend(); | |
2734 PlayParameterRepository::getInstance()->removePlayable(model); | |
2721 return; | 2735 return; |
2722 } | 2736 } |
2723 if (tplStatus != FileOpenFailed) { | 2737 if (tplStatus != FileOpenFailed) { |
2724 loadedTemplate = true; | 2738 loadedTemplate = true; |
2725 } | 2739 } |