diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2021-02-02 12:19:45 +0100 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2021-02-02 12:19:45 +0100 |
commit | 3968d81ecce212189b4858680454174470754d96 (patch) | |
tree | 8b217d54badcd2de184dce0dfe94973ccd95b6ce /src | |
parent | 171fd9d390c829e56303163e2757c9b1886d7f96 (diff) |
Prevent double message box in case of recording issues.
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/sidechain/enginerecord.cpp | 18 | ||||
-rw-r--r-- | src/engine/sidechain/enginerecord.h | 2 |
2 files changed, 15 insertions, 5 deletions
diff --git a/src/engine/sidechain/enginerecord.cpp b/src/engine/sidechain/enginerecord.cpp index 0580673141..e12aebe65b 100644 --- a/src/engine/sidechain/enginerecord.cpp +++ b/src/engine/sidechain/enginerecord.cpp @@ -32,7 +32,7 @@ EngineRecord::~EngineRecord() { delete m_pSamplerate; } -void EngineRecord::updateFromPreferences() { +int EngineRecord::updateFromPreferences() { m_fileName = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Path")); m_baTitle = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Title")); m_baAuthor = m_pConfig->getValueString(ConfigKey(RECORDING_PREF_KEY, "Author")); @@ -69,6 +69,7 @@ void EngineRecord::updateFromPreferences() { ErrorDialogHandler::instance()->requestErrorDialog(props); m_pEncoder.reset(); } + return ret; } bool EngineRecord::metaDataHasChanged() @@ -126,8 +127,17 @@ void EngineRecord::process(const CSAMPLE* pBuffer, const int iBufferSize) { } else if (recordingStatus == RECORD_READY) { // If we are ready for recording, i.e, the output file has been selected, we // open a new file. - updateFromPreferences(); // Update file location from preferences. - if (openFile()) { + + // Update file location from preferences. + if (updateFromPreferences() < 0) { + ; + // Maybe the encoder could not be initialized + qDebug() << "Setting record flag to: OFF"; + m_pRecReady->slotSet(RECORD_OFF); + // Just report that we don't record + // There was already a message Box + emit isRecording(false, false); + } else if (openFile()) { Event::start(tag); qDebug("Setting record flag to: ON"); m_pRecReady->set(RECORD_ON); @@ -145,7 +155,7 @@ void EngineRecord::process(const CSAMPLE* pBuffer, const int iBufferSize) { openCueFile(); m_cueTrack = 0; } - } else { // Maybe the encoder could not be initialized + } else { qDebug() << "Could not open" << m_fileName << "for writing."; qDebug("Setting record flag to: OFF"); m_pRecReady->slotSet(RECORD_OFF); diff --git a/src/engine/sidechain/enginerecord.h b/src/engine/sidechain/enginerecord.h index 4ef3c73933..18b6a9f90e 100644 --- a/src/engine/sidechain/enginerecord.h +++ b/src/engine/sidechain/enginerecord.h @@ -35,7 +35,7 @@ class EngineRecord : public QObject, public EncoderCallback, public SideChainWor bool openFile(); // closes the audio file void closeFile(); - void updateFromPreferences(); + int updateFromPreferences(); bool fileOpen(); bool openCueFile(); void closeCueFile(); |