Add Greatest duplication mode
This commit is contained in:
parent
7ea07f1f9d
commit
ed7e2e74bb
1 changed files with 17 additions and 0 deletions
|
@ -87,4 +87,21 @@ def blendLedBar(colors: List[Color],
|
|||
top_gap = gap - bot_gap
|
||||
return (([deduped[0]] * top_gap) + reduplicate(deduped, rep_nb) +
|
||||
([deduped[-1]] * bot_gap))
|
||||
else:
|
||||
# make the longest sequences longer
|
||||
|
||||
# sorted_indices is a list of indices in [0, len(rep_nb)) with
|
||||
# increasing rep_nb[i]
|
||||
sorted_indices = sorted(range(len(rep_nb)), key = lambda n: rep_nb[n])
|
||||
# TODO: make this less ugly
|
||||
while True:
|
||||
for i in reversed(range(len(rep_nb))):
|
||||
rep_nb[sorted_indices[i]] += 1
|
||||
gap -= 1
|
||||
if gap == 0:
|
||||
return reduplicate(deduped, rep_nb)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue