diff --git a/approot/messages.xml b/approot/messages.xml
index a91e9681..3b338585 100644
--- a/approot/messages.xml
+++ b/approot/messages.xml
@@ -211,7 +211,6 @@
Clear
Create new playlist
Play Queue
-Play Queue full!
Radio mode
Repeat
Replace existing playlist
diff --git a/approot/messages_fr.xml b/approot/messages_fr.xml
index eef64859..850d261e 100644
--- a/approot/messages_fr.xml
+++ b/approot/messages_fr.xml
@@ -211,7 +211,6 @@
Effacer
Créer une nouvelle liste de lecture
Liste de lecture
-Liste de lecture pleine!
Mode radio
Repéter
Remplacer une liste de lecture existante
diff --git a/approot/messages_it.xml b/approot/messages_it.xml
index aa6a37b0..77712086 100644
--- a/approot/messages_it.xml
+++ b/approot/messages_it.xml
@@ -211,7 +211,6 @@
Cancella
Coda di riproduzione
-Coda di riproduzione piena!
Modalità radio
Ripeti
diff --git a/approot/messages_zh.xml b/approot/messages_zh.xml
index ea1c2b4c..99542a29 100644
--- a/approot/messages_zh.xml
+++ b/approot/messages_zh.xml
@@ -215,7 +215,6 @@
播放队列
-播放队列已满!
广播模式
循环播放
替换现有播放列表
diff --git a/conf/lms.conf b/conf/lms.conf
index 3e4c3f07..4454eff4 100644
--- a/conf/lms.conf
+++ b/conf/lms.conf
@@ -78,6 +78,9 @@ cover-jpeg-quality = 75;
# Preferred file names for covers (order is important)
cover-preferred-file-names = ("cover", "front" );
+# Playqueue max entry count
+playqueue-max-entry-count = 1000;
+
# Set to true if you want to hide duplicate tracks
scanner-skip-duplicate-mbid = false;
diff --git a/src/lms/ui/PlayQueue.cpp b/src/lms/ui/PlayQueue.cpp
index b128b563..243e6251 100644
--- a/src/lms/ui/PlayQueue.cpp
+++ b/src/lms/ui/PlayQueue.cpp
@@ -36,6 +36,7 @@
#include "services/database/User.hpp"
#include "services/scrobbling/IScrobblingService.hpp"
#include "services/recommendation/IPlaylistGeneratorService.hpp"
+#include "utils/IConfig.hpp"
#include "utils/Logger.hpp"
#include "utils/Random.hpp"
#include "utils/Service.hpp"
@@ -117,6 +118,7 @@ namespace
PlayQueue::PlayQueue()
: Template {Wt::WString::tr("Lms.PlayQueue.template")}
+, _capacity {Service::get()->getULong("playqueue-max-entry-count", 1000)}
{
initTrackLists();
diff --git a/src/lms/ui/PlayQueue.hpp b/src/lms/ui/PlayQueue.hpp
index 0599eb9e..1369c8c9 100644
--- a/src/lms/ui/PlayQueue.hpp
+++ b/src/lms/ui/PlayQueue.hpp
@@ -69,7 +69,7 @@ class PlayQueue : public Template
// Signal emitted when track count changed
Wt::Signal trackCountChanged;
- constexpr std::size_t getCapacity() const { return _capacity; }
+ std::size_t getCapacity() const { return _capacity; }
std::size_t getCount();
private:
@@ -99,7 +99,7 @@ class PlayQueue : public Template
void exportToNewTrackList(const Wt::WString& name);
void exportToTrackList(Database::TrackListId trackList);
- static inline constexpr std::size_t _capacity {1000};
+ const std::size_t _capacity;
static inline constexpr std::size_t _batchSize {12};
bool _mediaPlayerSettingsLoaded {};