Can’t figure this one out.
Getting an error using Stripes, most likely because there’s an AlphaL color in it.
However, adding a Black underlying base color, the usual quick-fix for a base layer containing a transparent color, is not working.
I feel like this has worked fine before, considering I copied the blade style out of an old config.
This way:
StylePtr<Layers<
// Black,
Stripes<6000,-1000,Red,Black,AlphaL<White,Int<16000>>>,
InOutTrL<TrWipe<400>,TrWipeIn<400>>
>>(),
gives expected error:
ProffieOS/styles/stripes.h:42:22: error: conversion from 'RGBA_um_nod' to non-scalar type 'OverDriveColor' requested
But adding in the black layer doesn’t fix it.
StylePtr<Layers<
Black,
Stripes<6000,-1000,Red,Black,AlphaL<White,Int<16000>>>,
InOutTrL<TrWipe<400>,TrWipeIn<400>>
>>(),
The error is more extensive
ProffieOS/styles/layers.h:41:58: error: ambiguous overload for 'operator<<' (operand types are 'SimpleColor' and 'SimpleColor')
41 | auto getColor(int led) -> decltype(base_.getColor(led) << layer_.getColor(led)) {
In file included from ProffieOS/ProffieOS.ino:443:
ProffieOS/common/color.h:553:20: note: candidate: 'SimpleColor operator<<(const SimpleColor&, const RGBA_um_nod&)'
553 | inline SimpleColor operator<<(const SimpleColor& base, const RGBA_um_nod& over) {
-----repeating for a bunch of lines, then a bunch of:
ProffieOS/common/color.h:656:3: note: in expansion of macro 'DISAMBIGUATE_OVER'
656 | DISAMBIGUATE_OVER(OverDriveColor, A) \
| ^~~~~~~~~~~~~~~~~
ProffieOS/common/color.h:660:1: note: in expansion of macro 'DISAMBIGUATE_OVER2'
660 | DISAMBIGUATE_OVER2(RGBA_um)
| ^~~~~~~~~~~~~~~~~~
ProffieOS/common/color.h:653:15: note: candidate: 'OverDriveColor operator<<(const OverDriveColor&, const RGBA_um_nod&)'
653 | inline auto operator<<(const A & base, const B##_nod & over) ->decltype(base << B(over)) { return base << B(over); }
| ^~~~~~~~
---------- repeating -----------
Did I break it?