23 out.push_back(
static_cast<fl::u8>(v & 0xff));
24 out.push_back(
static_cast<fl::u8>((v >> 8) & 0xff));
25 out.push_back(
static_cast<fl::u8>((v >> 16) & 0xff));
26 out.push_back(
static_cast<fl::u8>((v >> 24) & 0xff));
31 const fl::size n = s.size();
32 for (fl::size i = 0; i < n; ++i) {
33 out.push_back(
static_cast<fl::u8>(s[i]));
46 if (!screenMapJson.empty()) {
51 if (!channelsJson.empty()) {
52 if (!first) out +=
',';
53 out +=
"\"channels\":";
57 if (!videoColorJson.empty()) {
58 if (!first) out +=
',';
59 out +=
"\"video\":{\"color\":";
60 out += videoColorJson;
102 out +=
"{\"primaries\":";
104 if (named !=
nullptr) {
110 appendXy(out, c.customPrimaries[0], c.customPrimaries[1]);
111 out +=
",\"green\":";
112 appendXy(out, c.customPrimaries[2], c.customPrimaries[3]);
114 appendXy(out, c.customPrimaries[4], c.customPrimaries[5]);
115 out +=
",\"white\":";
116 appendXy(out, c.customPrimaries[6], c.customPrimaries[7]);
119 out +=
",\"transfer\":\"";
124 out +=
"\",\"matrix\":\"rgb\",\"range\":\"full\"}";
164 mPayload.assign(bytes.begin(), bytes.end());
171 const fl::u32 jsonLen =
static_cast<fl::u32
>(envelope.
size());
186 appendU32LE(buf, jsonLen);
189 appendString(buf, envelope);
192 for (fl::size i = 0; i <
mPayload.size(); ++i) {
static Fled loadFromVector(fl::vector< fl::u8 > &&bytes) FL_NO_EXCEPT
fl::size size() const FL_NO_EXCEPT
fl::string mScreenMapJson
FledBuilder & setPixelFormat(fl::u8 fmt) FL_NO_EXCEPT
FledBuilder() FL_NO_EXCEPT
FledBuilder & setVideoColor(const VideoColor &color) FL_NO_EXCEPT
FledBuilder & setChannelsJson(const char *json) FL_NO_EXCEPT
fl::string mVideoColorJson
fl::vector< fl::u8 > mPayload
fl::Fled build() const FL_NO_EXCEPT
FledBuilder & setVersion(fl::u8 v) FL_NO_EXCEPT
FledBuilder & setPayload(fl::span< const fl::u8 > bytes) FL_NO_EXCEPT
FledBuilder & setScreenMapJson(const char *json) FL_NO_EXCEPT
void reserve(fl::size n) FL_NO_EXCEPT
void push_back(const T &value) FL_NO_EXCEPT
fl::string buildEnvelope(const fl::string &screenMapJson, const fl::string &channelsJson, const fl::string &videoColorJson) FL_NO_EXCEPT
void appendString(fl::vector< fl::u8 > &out, const fl::string &s) FL_NO_EXCEPT
fl::string serializeVideoColor(const VideoColor &c) FL_NO_EXCEPT
void appendU32LE(fl::vector< fl::u8 > &out, fl::u32 v) FL_NO_EXCEPT
const char * primariesName(ColorPrimaries p) FL_NO_EXCEPT
void appendXy(fl::string &out, float x, float y) FL_NO_EXCEPT
const char * transferName(ColorTransfer t) FL_NO_EXCEPT
constexpr remove_reference< T >::type && move(T &&t) FL_NO_EXCEPT
InputGamut g FL_NO_EXCEPT
string to_string(T value) FL_NO_EXCEPT
Base definition for an LED controller.