Skip to content

Commit

Permalink
Merge pull request Aircoookie#3946 from freakintoddles2/0_15
Browse files Browse the repository at this point in the history
Adds an API parameter to allow the user to skip to the next preset in a playlist at any time
  • Loading branch information
blazoncek authored and softhack007 committed May 5, 2024
1 parent a78cd65 commit c3a9086
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 1 deletion.
2 changes: 2 additions & 0 deletions wled00/json.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,8 @@ bool deserializeState(JsonObject root, byte callMode, byte presetId)
}
}

doAdvancePlaylist = root[F("np")] | doAdvancePlaylist; //advances to next preset in playlist when true

stateUpdated(callMode);
if (presetToRestore) currentPreset = presetToRestore;

Expand Down
3 changes: 2 additions & 1 deletion wled00/playlist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ void handlePlaylist() {
return; // but don't progress to next extry, and don't shuffle
}

if (millis() - presetCycledTime > (100*playlistEntryDur)) {
if (millis() - presetCycledTime > (100 * playlistEntryDur) || doAdvancePlaylist) {
presetCycledTime = millis();
if (bri == 0 || nightlightActive) return;

Expand All @@ -159,6 +159,7 @@ void handlePlaylist() {
transitionDelayTemp = playlistEntries[playlistIndex].tr * 100;
playlistEntryDur = playlistEntries[playlistIndex].dur;
applyPreset(playlistEntries[playlistIndex].preset);
doAdvancePlaylist = false;
}
}

Expand Down
3 changes: 3 additions & 0 deletions wled00/set.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -922,6 +922,9 @@ bool handleSet(AsyncWebServerRequest *request, const String& req, bool apply)
applyPreset(presetCycCurr);
}

pos = req.indexOf(F("NP")); //advances to next preset in a playlist
if (pos > 0) doAdvancePlaylist = true;

//set brightness
updateVal(req.c_str(), "&A=", &bri);

Expand Down
1 change: 1 addition & 0 deletions wled00/wled.h
Original file line number Diff line number Diff line change
Expand Up @@ -653,6 +653,7 @@ WLED_GLOBAL byte timerWeekday[] _INIT_N(({ 255, 255, 255, 255, 255, 255, 255,
WLED_GLOBAL byte timerMonth[] _INIT_N(({28,28,28,28,28,28,28,28}));
WLED_GLOBAL byte timerDay[] _INIT_N(({1,1,1,1,1,1,1,1}));
WLED_GLOBAL byte timerDayEnd[] _INIT_N(({31,31,31,31,31,31,31,31}));
WLED_GLOBAL bool doAdvancePlaylist _INIT(false);

//improv
WLED_GLOBAL byte improvActive _INIT(0); //0: no improv packet received, 1: improv active, 2: provisioning
Expand Down

0 comments on commit c3a9086

Please sign in to comment.