@@ -87,39 +87,42 @@ void DetectE131Controllers(std::vector<RGBController*> &rgb_controllers)
8787
8888 if (e131_settings[" devices" ][device_idx].contains (" matrix_order" ))
8989 {
90- std::string matrix_order_val = e131_settings[" devices" ][device_idx][" matrix_order" ];
91-
92- if (matrix_order_val == " HORIZONTAL_TOP_LEFT" )
93- {
94- dev.matrix_order = E131_MATRIX_ORDER_HORIZONTAL_TOP_LEFT;
95- }
96- else if (matrix_order_val == " HORIZONTAL_TOP_RIGHT" )
97- {
98- dev.matrix_order = E131_MATRIX_ORDER_HORIZONTAL_TOP_RIGHT;
99- }
100- else if (matrix_order_val == " HORIZONTAL_BOTTOM_LEFT" )
101- {
102- dev.matrix_order = E131_MATRIX_ORDER_HORIZONTAL_BOTTOM_LEFT;
103- }
104- else if (matrix_order_val == " HORIZONTAL_BOTTOM_RIGHT" )
105- {
106- dev.matrix_order = E131_MATRIX_ORDER_HORIZONTAL_BOTTOM_RIGHT;
107- }
108- else if (matrix_order_val == " VERTICAL_TOP_LEFT" )
90+ if (e131_settings[" devices" ][device_idx][" matrix_order" ].is_string ())
10991 {
110- dev.matrix_order = E131_MATRIX_ORDER_VERTICAL_TOP_LEFT;
111- }
112- else if (matrix_order_val == " VERTICAL_TOP_RIGHT" )
113- {
114- dev.matrix_order = E131_MATRIX_ORDER_VERTICAL_TOP_RIGHT;
115- }
116- else if (matrix_order_val == " VERTICAL_BOTTOM_LEFT" )
117- {
118- dev.matrix_order = E131_MATRIX_ORDER_VERTICAL_BOTTOM_LEFT;
119- }
120- else if (matrix_order_val == " VERTICAL_BOTTOM_RIGHT" )
121- {
122- dev.matrix_order = E131_MATRIX_ORDER_VERTICAL_BOTTOM_RIGHT;
92+ std::string matrix_order_val = e131_settings[" devices" ][device_idx][" matrix_order" ];
93+
94+ if (matrix_order_val == " HORIZONTAL_TOP_LEFT" )
95+ {
96+ dev.matrix_order = E131_MATRIX_ORDER_HORIZONTAL_TOP_LEFT;
97+ }
98+ else if (matrix_order_val == " HORIZONTAL_TOP_RIGHT" )
99+ {
100+ dev.matrix_order = E131_MATRIX_ORDER_HORIZONTAL_TOP_RIGHT;
101+ }
102+ else if (matrix_order_val == " HORIZONTAL_BOTTOM_LEFT" )
103+ {
104+ dev.matrix_order = E131_MATRIX_ORDER_HORIZONTAL_BOTTOM_LEFT;
105+ }
106+ else if (matrix_order_val == " HORIZONTAL_BOTTOM_RIGHT" )
107+ {
108+ dev.matrix_order = E131_MATRIX_ORDER_HORIZONTAL_BOTTOM_RIGHT;
109+ }
110+ else if (matrix_order_val == " VERTICAL_TOP_LEFT" )
111+ {
112+ dev.matrix_order = E131_MATRIX_ORDER_VERTICAL_TOP_LEFT;
113+ }
114+ else if (matrix_order_val == " VERTICAL_TOP_RIGHT" )
115+ {
116+ dev.matrix_order = E131_MATRIX_ORDER_VERTICAL_TOP_RIGHT;
117+ }
118+ else if (matrix_order_val == " VERTICAL_BOTTOM_LEFT" )
119+ {
120+ dev.matrix_order = E131_MATRIX_ORDER_VERTICAL_BOTTOM_LEFT;
121+ }
122+ else if (matrix_order_val == " VERTICAL_BOTTOM_RIGHT" )
123+ {
124+ dev.matrix_order = E131_MATRIX_ORDER_VERTICAL_BOTTOM_RIGHT;
125+ }
123126 }
124127 else
125128 {
@@ -129,31 +132,34 @@ void DetectE131Controllers(std::vector<RGBController*> &rgb_controllers)
129132
130133 if (e131_settings[" devices" ][device_idx].contains (" rgb_order" ))
131134 {
132- std::string rgb_order_val = e131_settings[" devices" ][device_idx][" rgb_order" ];
133-
134- if (rgb_order_val == " RGB" )
135- {
136- dev.rgb_order = E131_RGB_ORDER_RGB;
137- }
138- else if (rgb_order_val == " RBG" )
139- {
140- dev.rgb_order = E131_RGB_ORDER_RBG;
141- }
142- else if (rgb_order_val == " GRB" )
143- {
144- dev.rgb_order = E131_RGB_ORDER_GRB;
145- }
146- else if (rgb_order_val == " GBR" )
147- {
148- dev.rgb_order = E131_RGB_ORDER_GBR;
149- }
150- else if (rgb_order_val == " BRG" )
151- {
152- dev.rgb_order = E131_RGB_ORDER_BGR;
153- }
154- else if (rgb_order_val == " BGR" )
135+ if (e131_settings[" devices" ][device_idx][" rgb_order" ].is_string ())
155136 {
156- dev.rgb_order = E131_RGB_ORDER_BGR;
137+ std::string rgb_order_val = e131_settings[" devices" ][device_idx][" rgb_order" ];
138+
139+ if (rgb_order_val == " RGB" )
140+ {
141+ dev.rgb_order = E131_RGB_ORDER_RGB;
142+ }
143+ else if (rgb_order_val == " RBG" )
144+ {
145+ dev.rgb_order = E131_RGB_ORDER_RBG;
146+ }
147+ else if (rgb_order_val == " GRB" )
148+ {
149+ dev.rgb_order = E131_RGB_ORDER_GRB;
150+ }
151+ else if (rgb_order_val == " GBR" )
152+ {
153+ dev.rgb_order = E131_RGB_ORDER_GBR;
154+ }
155+ else if (rgb_order_val == " BRG" )
156+ {
157+ dev.rgb_order = E131_RGB_ORDER_BGR;
158+ }
159+ else if (rgb_order_val == " BGR" )
160+ {
161+ dev.rgb_order = E131_RGB_ORDER_BGR;
162+ }
157163 }
158164 else
159165 {
@@ -178,19 +184,22 @@ void DetectE131Controllers(std::vector<RGBController*> &rgb_controllers)
178184
179185 if (e131_settings[" devices" ][device_idx].contains (" type" ))
180186 {
181- std::string type_val = e131_settings[" devices" ][device_idx][" type" ];
182-
183- if (type_val == " SINGLE" )
184- {
185- dev.type = ZONE_TYPE_SINGLE;
186- }
187- else if (type_val == " LINEAR" )
187+ if (e131_settings[" devices" ][device_idx][" type" ].is_string ())
188188 {
189- dev.type = ZONE_TYPE_LINEAR;
190- }
191- else if (type_val == " MATRIX" )
192- {
193- dev.type = ZONE_TYPE_MATRIX;
189+ std::string type_val = e131_settings[" devices" ][device_idx][" type" ];
190+
191+ if (type_val == " SINGLE" )
192+ {
193+ dev.type = ZONE_TYPE_SINGLE;
194+ }
195+ else if (type_val == " LINEAR" )
196+ {
197+ dev.type = ZONE_TYPE_LINEAR;
198+ }
199+ else if (type_val == " MATRIX" )
200+ {
201+ dev.type = ZONE_TYPE_MATRIX;
202+ }
194203 }
195204 else
196205 {
0 commit comments