summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2021-02-02 12:19:45 +0100
committerDaniel Schürmann <daschuer@mixxx.org>2021-02-02 12:19:45 +0100
commit3968d81ecce212189b4858680454174470754d96 (patch)
tree8b217d54badcd2de184dce0dfe94973ccd95b6ce /src
parent171fd9d390c829e56303163e2757c9b1886d7f96 (diff)
Prevent double message box in case of recording issues.
Diffstat (limited to 'src')
-rw-r--r--src/engine/sidechain/enginerecord.cpp18
-rw-r--r--src/engine/sidechain/enginerecord.h2
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();