diff --git a/wled00/playlist.cpp b/wled00/playlist.cpp index a1127164..2af2278a 100644 --- a/wled00/playlist.cpp +++ b/wled00/playlist.cpp @@ -10,6 +10,7 @@ typedef struct PlaylistEntry { uint16_t tr; } ple; +bool playlistEndless = false; int8_t playlistRepeat = 1; byte playlistEndPreset = 0; byte *playlistEntries = nullptr; @@ -92,6 +93,9 @@ void loadPlaylist(JsonObject playlistObj) { playlistRepeat = playlistObj[F("repeat")] | 0; playlistEndPreset = playlistObj[F("end")] | 0; + playlistEndless = playlistRepeat < 1; + if (playlistEndless && playlistRepeat==0) playlistRepeat = 1; // it will never decrement + currentPlaylist = 0; //TODO here we need the preset ID where the playlist is saved } @@ -112,9 +116,8 @@ void handlePlaylist() { } // playlist roll-over if (!playlistIndex) { - if (playlistRepeat > 0) {// playlistRepeat < 0 => endless loop with shuffling presets - playlistRepeat--; // decrease repeat count on each index reset - } else { + if (!playlistEndless) playlistRepeat--; // decrease repeat count on each index reset if not an endless playlist + if (playlistRepeat < 0) {// playlistRepeat < 0 => endless loop with shuffling presets shufflePlaylist(); // shuffle playlist and start over } } diff --git a/wled00/wled.h b/wled00/wled.h index fd104dff..5bd29983 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -8,7 +8,7 @@ */ // version code in format yymmddb (b = daily build) -#define VERSION 2106061 +#define VERSION 2106071 //uncomment this if you have a "my_config.h" file you'd like to use //#define WLED_USE_MY_CONFIG