From 3195606ca8c2f86a289217b5b6b83a770cefa1f8 Mon Sep 17 00:00:00 2001 From: Ewoud Date: Thu, 15 Jun 2023 11:41:19 +0200 Subject: [PATCH] Part 2 --- wled00/FX_fcn.cpp | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index 54ba920e..1feb6212 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -1410,20 +1410,24 @@ void WS2812FX::enumerateLedmaps() { if (ledmapNames[i-1]) strlcpy(ledmapNames[i-1], tmp, 33); } - //WLEDMM calc ledmapMaxSize (TroyHack) - char dim[34] = { '\0' }; - f.find("\"width\":"); - f.readBytesUntil('\n', dim, sizeof(dim)-1); //hack: use fileName as we have this allocated already - uint16_t maxWidth = atoi(cleanUpName(dim)); - f.find("\"height\":"); - memset(dim, 0, sizeof(dim)); // clear buffer before reading - f.readBytesUntil('\n', dim, sizeof(dim)-1); - uint16_t maxHeight = atoi(cleanUpName(dim)); - ledmapMaxSize = MAX(ledmapMaxSize, maxWidth * maxHeight); - USER_PRINTF("enumerateLedmaps %s \"%s\"", fileName, name); - if (maxWidth*ledmapMaxSize>0) - USER_PRINTF(" (%dx%d -> %d)\n", maxWidth, maxHeight, ledmapMaxSize); + if (isMatrix) { + //WLEDMM calc ledmapMaxSize (TroyHack) + char dim[34] = { '\0' }; + f.find("\"width\":"); + f.readBytesUntil('\n', dim, sizeof(dim)-1); //hack: use fileName as we have this allocated already + uint16_t maxWidth = atoi(cleanUpName(dim)); + f.find("\"height\":"); + memset(dim, 0, sizeof(dim)); // clear buffer before reading + f.readBytesUntil('\n', dim, sizeof(dim)-1); + uint16_t maxHeight = atoi(cleanUpName(dim)); + ledmapMaxSize = MAX(ledmapMaxSize, maxWidth * maxHeight); + + if (maxWidth*ledmapMaxSize>0) + USER_PRINTF(" (%dx%d -> %d)\n", maxWidth, maxHeight, ledmapMaxSize); + else + USER_PRINTLN(); + } else USER_PRINTLN(); }