diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts
index 47fd1e58..3c5f3060 100644
--- a/etc/Translation/Blank.ts
+++ b/etc/Translation/Blank.ts
@@ -1237,6 +1237,26 @@
Exit Program
+
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.
+
+
+
+ Please refer to the %1 document for details and solutions!
+
+
+
+ Slow Startup
+
+
+
+ Discard
+
+
+
+ Don't Show Again
+
+
Urgent Update
@@ -1297,14 +1317,6 @@
AAC Support Disabled
-
- Discard
-
-
-
- Don't Show Again
-
-
LameXP has detected that the WMA File Decoder component is not currently installed on your system.
diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts
index a2ed7c5d..73a7c3c4 100644
--- a/etc/Translation/LameXP_DE.ts
+++ b/etc/Translation/LameXP_DE.ts
@@ -1594,6 +1594,18 @@
Please use LameXP's Cue Sheet wizard for importing Cue Sheet files.
Bitte benutzen Sie zum Importieren von Cuesheets den Cuesheet Assistenten.
+
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.
+ Anscheinend wird der Programmstart von LameXP durch eine fehlerhafte Antiviren-Software verlangsamt.
+
+
+ Please refer to the %1 document for details and solutions!
+ Bitte beachten Sie die Hinweise und Lösungsvorschläge im %1 Dokument!
+
+
+ Slow Startup
+ Langsamer Programmstart
+
MetaInfo
diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts
index 9c2c0924..6c4dbc67 100644
--- a/etc/Translation/LameXP_ES.ts
+++ b/etc/Translation/LameXP_ES.ts
@@ -1593,6 +1593,18 @@
Please use LameXP's Cue Sheet wizard for importing Cue Sheet files.
Por favor, use el asistente de imporatción de archivos Cue sheet de LameXP.
+
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.
+
+
+
+ Please refer to the %1 document for details and solutions!
+
+
+
+ Slow Startup
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts
index 9dceef4f..37c44f72 100644
--- a/etc/Translation/LameXP_FR.ts
+++ b/etc/Translation/LameXP_FR.ts
@@ -1603,6 +1603,18 @@ Ouvrir le dossier récursivement...
Please use LameXP's Cue Sheet wizard for importing Cue Sheet files.
+
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.
+
+
+
+ Please refer to the %1 document for details and solutions!
+
+
+
+ Slow Startup
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts
index 7327dbdf..23438425 100644
--- a/etc/Translation/LameXP_IT.ts
+++ b/etc/Translation/LameXP_IT.ts
@@ -1594,6 +1594,18 @@
Please use LameXP's Cue Sheet wizard for importing Cue Sheet files.
+
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.
+
+
+
+ Please refer to the %1 document for details and solutions!
+
+
+
+ Slow Startup
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts
index 017b4c7d..1709f947 100644
--- a/etc/Translation/LameXP_KR.ts
+++ b/etc/Translation/LameXP_KR.ts
@@ -1593,6 +1593,18 @@
Please use LameXP's Cue Sheet wizard for importing Cue Sheet files.
+
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.
+
+
+
+ Please refer to the %1 document for details and solutions!
+
+
+
+ Slow Startup
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts
index 58125d04..60c0b815 100644
--- a/etc/Translation/LameXP_RU.ts
+++ b/etc/Translation/LameXP_RU.ts
@@ -1599,6 +1599,18 @@
пиздец бред
Пожалуйста используйте Мастер импорта Cue файлов для импорта Cue файлов.
+
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.
+
+
+
+ Please refer to the %1 document for details and solutions!
+
+
+
+ Slow Startup
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts
index 797b0cb9..c866f815 100644
--- a/etc/Translation/LameXP_UK.ts
+++ b/etc/Translation/LameXP_UK.ts
@@ -1593,6 +1593,18 @@
LameXP will <i>not</i> check for Beta (pre-release) updates from now on.
Віднині LameXP <i>не</i> буде перевіряти наявність оновлень бета-версій.
+
+ It seems that a bogus anti-virus software is slowing down the startup of LameXP.
+
+
+
+ Please refer to the %1 document for details and solutions!
+
+
+
+ Slow Startup
+
+
MetaInfo
diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm
index 15c1a1c8..72b91ad5 100644
Binary files a/res/localization/LameXP_DE.qm and b/res/localization/LameXP_DE.qm differ
diff --git a/src/Config.h b/src/Config.h
index f68a29c4..e6d8f4b2 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -30,7 +30,7 @@
#define VER_LAMEXP_MINOR_LO 3
#define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 1
-#define VER_LAMEXP_BUILD 583
+#define VER_LAMEXP_BUILD 584
///////////////////////////////////////////////////////////////////////////////
// Tools versions
diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp
index f27f0fdf..a3c8b844 100644
--- a/src/Dialog_MainWindow.cpp
+++ b/src/Dialog_MainWindow.cpp
@@ -925,6 +925,18 @@ void MainWindow::windowShown(void)
}
}
+ //Slow startup indicator
+ if(m_settings->slowStartup() && m_settings->antivirNotificationsEnabled())
+ {
+ QString message;
+ message += QString("%1
").arg(tr("It seems that a bogus anti-virus software is slowing down the startup of LameXP."));
+ message += QString("%1
").arg(tr("Please refer to the %1 document for details and solutions!").arg("F.A.Q."));
+ if(QMessageBox::warning(this, tr("Slow Startup"), message, tr("Discard"), tr("Don't Show Again")) == 1)
+ {
+ m_settings->antivirNotificationsEnabled(false);
+ }
+ }
+
//Update reminder
if(QDate::currentDate() >= lamexp_version_date().addYears(1))
{
diff --git a/src/Main.cpp b/src/Main.cpp
index 6ad24b84..053e4c02 100644
--- a/src/Main.cpp
+++ b/src/Main.cpp
@@ -129,6 +129,7 @@ static int lamexp_main(int argc, char* argv[])
//Show splash screen
InitializationThread *poInitializationThread = new InitializationThread(&cpuFeatures);
SplashScreen::showSplash(poInitializationThread);
+ settingsModel->slowStartup(poInitializationThread->getSlowIndicator());
LAMEXP_DELETE(poInitializationThread);
//Validate settings
diff --git a/src/Model_Settings.cpp b/src/Model_Settings.cpp
index 876bd605..f30257be 100644
--- a/src/Model_Settings.cpp
+++ b/src/Model_Settings.cpp
@@ -83,6 +83,7 @@ LAMEXP_MAKE_ID(autoUpdateCheckBeta, "AutoUpdate/CheckForBetaVersions");
LAMEXP_MAKE_ID(soundsEnabled, "Flags/EnableSounds");
LAMEXP_MAKE_ID(neroAacNotificationsEnabled, "Flags/EnableNeroAacNotifications");
LAMEXP_MAKE_ID(wmaDecoderNotificationsEnabled, "Flags/EnableWmaDecoderNotifications");
+LAMEXP_MAKE_ID(antivirNotificationsEnabled, "Flags/EnableAntivirusNotifications");
LAMEXP_MAKE_ID(dropBoxWidgetEnabled, "Flags/EnableDropBoxWidget");
LAMEXP_MAKE_ID(shellIntegrationEnabled, "Flags/EnableShellIntegration");
LAMEXP_MAKE_ID(currentLanguage, "Localization/Language");
@@ -111,6 +112,7 @@ LAMEXP_MAKE_ID(metaInfoPosition, "MetaInformation/PlaylistPosition");
LAMEXP_MAKE_ID(maximumInstances, "AdvancedOptions/Threading/MaximumInstances");
LAMEXP_MAKE_ID(customTempPath, "AdvancedOptions/TempDirectory/CustomPath");
LAMEXP_MAKE_ID(customTempPathEnabled, "AdvancedOptions/TempDirectory/UseCustomPath");
+LAMEXP_MAKE_ID(slowStartup, "Flags/SlowStartupDetected");
//LUT
const int SettingsModel::mp3Bitrates[15] = {32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1};
@@ -271,6 +273,7 @@ LAMEXP_MAKE_OPTION_B(autoUpdateCheckBeta, false)
LAMEXP_MAKE_OPTION_B(soundsEnabled, true)
LAMEXP_MAKE_OPTION_B(neroAacNotificationsEnabled, true)
LAMEXP_MAKE_OPTION_B(wmaDecoderNotificationsEnabled, true)
+LAMEXP_MAKE_OPTION_B(antivirNotificationsEnabled, true)
LAMEXP_MAKE_OPTION_B(dropBoxWidgetEnabled, true)
LAMEXP_MAKE_OPTION_B(shellIntegrationEnabled, !lamexp_portable_mode())
LAMEXP_MAKE_OPTION_S(currentLanguage, defaultLanguage())
@@ -299,3 +302,4 @@ LAMEXP_MAKE_OPTION_U(metaInfoPosition, UINT_MAX);
LAMEXP_MAKE_OPTION_U(maximumInstances, 0);
LAMEXP_MAKE_OPTION_S(customTempPath, QDesktopServices::storageLocation(QDesktopServices::TempLocation));
LAMEXP_MAKE_OPTION_B(customTempPathEnabled, false);
+LAMEXP_MAKE_OPTION_B(slowStartup, false);
diff --git a/src/Model_Settings.h b/src/Model_Settings.h
index 1e271a5b..daea404b 100644
--- a/src/Model_Settings.h
+++ b/src/Model_Settings.h
@@ -93,6 +93,7 @@ public:
LAMEXP_MAKE_OPTION_B(soundsEnabled);
LAMEXP_MAKE_OPTION_B(neroAacNotificationsEnabled);
LAMEXP_MAKE_OPTION_B(wmaDecoderNotificationsEnabled);
+ LAMEXP_MAKE_OPTION_B(antivirNotificationsEnabled);
LAMEXP_MAKE_OPTION_B(dropBoxWidgetEnabled);
LAMEXP_MAKE_OPTION_B(shellIntegrationEnabled);
LAMEXP_MAKE_OPTION_S(currentLanguage);
@@ -121,6 +122,7 @@ public:
LAMEXP_MAKE_OPTION_U(maximumInstances);
LAMEXP_MAKE_OPTION_S(customTempPath);
LAMEXP_MAKE_OPTION_B(customTempPathEnabled);
+ LAMEXP_MAKE_OPTION_B(slowStartup);
//Misc
void validate(void);
diff --git a/src/Thread_Initialization.cpp b/src/Thread_Initialization.cpp
index a9625e2e..312c55c8 100644
--- a/src/Thread_Initialization.cpp
+++ b/src/Thread_Initialization.cpp
@@ -83,6 +83,8 @@ g_lamexp_tools[] =
{NULL, NULL, NULL, NULL}
};
+static const double g_allowedExtractDelay = 10.0;
+
////////////////////////////////////////////////////////////
// Constructor
////////////////////////////////////////////////////////////
@@ -91,6 +93,7 @@ InitializationThread::InitializationThread(const lamexp_cpu_t *cpuFeatures)
{
m_bSuccess = false;
memset(&m_cpuFeatures, 0, sizeof(lamexp_cpu_t));
+ m_slowIndicator = false;
if(cpuFeatures)
{
@@ -208,8 +211,9 @@ void InitializationThread::run()
//Check delay
double delayExtract = static_cast(timer.elapsed()) / 1000.0;
- if(delayExtract > 8.0)
+ if(delayExtract > g_allowedExtractDelay)
{
+ m_slowIndicator = true;
qWarning("Extracting tools took %.3f seconds -> probably slow realtime virus scanner.", delayExtract);
qWarning("Please report performance problems to your anti-virus developer !!!\n");
}
diff --git a/src/Thread_Initialization.h b/src/Thread_Initialization.h
index d0242e0e..e7ad2bd3 100644
--- a/src/Thread_Initialization.h
+++ b/src/Thread_Initialization.h
@@ -36,6 +36,7 @@ public:
InitializationThread(const lamexp_cpu_t *cpuFeatures);
void run();
bool getSuccess(void) { return !isRunning() && m_bSuccess; }
+ bool getSlowIndicator(void) { return m_slowIndicator; }
private:
void delay(void);
@@ -43,6 +44,7 @@ private:
void initNeroAac(void);
void initWmaDec(void);
- lamexp_cpu_t m_cpuFeatures;
bool m_bSuccess;
+ lamexp_cpu_t m_cpuFeatures;
+ bool m_slowIndicator;
};