Mercurial > hg > sonic-lineup
changeset 466:8acfe027a033
Show alignment error only once per session/alignment-type
| author | Chris Cannam |
|---|---|
| date | Thu, 23 Jul 2020 16:11:56 +0100 |
| parents | 1ca067c414ad |
| children | 6ac890a4e4cf |
| files | main/MainWindow.cpp main/MainWindow.h |
| diffstat | 2 files changed, 20 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/main/MainWindow.cpp Thu Jul 23 14:39:28 2020 +0100 +++ b/main/MainWindow.cpp Thu Jul 23 16:11:56 2020 +0100 @@ -155,7 +155,8 @@ m_displayMode(OutlineWaveformMode), m_salientCalculating(false), m_salientColour(0), - m_sessionState(NoSession) + m_sessionState(NoSession), + m_shownAlignmentError(false) { setWindowTitle(QApplication::applicationName()); @@ -791,7 +792,8 @@ action->setChecked(Align::getUseSubsequenceAlignment()); action->setEnabled(preference != Align::NoAlignment && preference != Align::LinearAlignment && - preference != Align::TrimmedLinearAlignment); + preference != Align::TrimmedLinearAlignment && + preference != Align::ExternalProgramAlignment); connect(action, SIGNAL(triggered()), this, SLOT(alignmentSubsequenceChanged())); m_subsequenceAlignmentAction = action; @@ -1134,6 +1136,8 @@ CommandHistory::getInstance()->clear(); CommandHistory::getInstance()->documentSaved(); documentRestored(); + + m_shownAlignmentError = false; } void @@ -2366,7 +2370,8 @@ m_subsequenceAlignmentAction->setEnabled (alignmentType != Align::NoAlignment && alignmentType != Align::LinearAlignment && - alignmentType != Align::TrimmedLinearAlignment); + alignmentType != Align::TrimmedLinearAlignment && + alignmentType != Align::ExternalProgramAlignment); updateAlignmentPreferences(alignmentType, Align::getUseSubsequenceAlignment()); @@ -2387,6 +2392,8 @@ MainWindow::updateAlignmentPreferences(Align::AlignmentType alignmentType, bool subsequence) { + m_shownAlignmentError = false; + Align::setAlignmentPreference(alignmentType); Align::setUseSubsequenceAlignment(subsequence); @@ -3094,12 +3101,20 @@ void MainWindow::alignmentFailed(ModelId, QString message) { + if (m_shownAlignmentError) { + return; + } + QMessageBox::warning (this, tr("Failed to calculate alignment"), tr("<b>Alignment calculation failed</b><p>Failed to calculate an audio alignment:<p>%1") .arg(message), QMessageBox::Ok); + + m_shownAlignmentError = true; // (will be reset when + // e.g. alignment type changes or + // new session started) } void
--- a/main/MainWindow.h Thu Jul 23 14:39:28 2020 +0100 +++ b/main/MainWindow.h Thu Jul 23 16:11:56 2020 +0100 @@ -218,7 +218,6 @@ QAction *m_selectPreviousDisplayModeAction; QAction *m_selectNextDisplayModeAction; -// QAction *m_externalAlignmentAction; QAction *m_subsequenceAlignmentAction; Align::AlignmentType m_previousActiveAlignmentType; bool m_previousSubsequence; @@ -323,6 +322,8 @@ }; SessionState m_sessionState; + bool m_shownAlignmentError; + void loadStyle(); };
