diff --git a/VortexEngine/src/Leds/LedTypes.h b/VortexEngine/src/Leds/LedTypes.h index 89b525cba7..5da2d6c283 100644 --- a/VortexEngine/src/Leds/LedTypes.h +++ b/VortexEngine/src/Leds/LedTypes.h @@ -304,6 +304,9 @@ typedef uint64_t LedMap; // convert a map to the first Led position in the map inline LedPos mapGetFirstLed(LedMap map) { + if (map == LED_MULTI) { + return LED_MULTI; + } LedPos pos = LED_FIRST; while (map && pos < LED_COUNT) { if (map & 1) { diff --git a/VortexEngine/src/Menus/MenuList/ColorSelect.cpp b/VortexEngine/src/Menus/MenuList/ColorSelect.cpp index a46f31f438..8bd7f13b7f 100644 --- a/VortexEngine/src/Menus/MenuList/ColorSelect.cpp +++ b/VortexEngine/src/Menus/MenuList/ColorSelect.cpp @@ -49,6 +49,7 @@ bool ColorSelect::init() return false; } if (cur->isMultiLed()) { + m_targetLeds = LED_MULTI; m_ledSelected = true; } m_state = STATE_INIT; diff --git a/VortexEngine/src/Menus/MenuList/Randomizer.cpp b/VortexEngine/src/Menus/MenuList/Randomizer.cpp index ccedfbff2f..e644d311f3 100644 --- a/VortexEngine/src/Menus/MenuList/Randomizer.cpp +++ b/VortexEngine/src/Menus/MenuList/Randomizer.cpp @@ -315,7 +315,7 @@ LedMap maps[] = { MAP_RING_INNER, MAP_RING_MIDDLE, MAP_RING_OUTER, - MAP_RING_EDGE, + MAP_RING_EDGE }; bool Randomizer::reRoll() @@ -352,8 +352,9 @@ bool Randomizer::reRoll() LedMap randomMap; LedMap inverseMap; if (splitMultiRandomize) { + m_previewMode.clearPattern(); // choose a random led map - randomMap = maps[m_multiRandCtx.next8(0, NUM_MAPS)]; + randomMap = maps[m_multiRandCtx.next8(0, (NUM_MAPS - 1))]; inverseMap = MAP_INVERSE(randomMap); } if (m_flags & RANDOMIZE_PATTERN) {