Skip to content

Commit 99c3c62

Browse files
committed
Set/Unset object name for label displaying, to partially prevent duplicated names
1 parent ed8496a commit 99c3c62

File tree

2 files changed

+53
-26
lines changed

2 files changed

+53
-26
lines changed

dmx.py

Lines changed: 52 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -995,22 +995,34 @@ def onBackgroundColor(self, context):
995995
def onDisplayLabel(self, context):
996996
for fixture_ in self.fixtures:
997997
for obj in fixture_.collection.objects:
998+
if obj.get("2d_symbol", None) == "all":
999+
if not self.display_2D:
1000+
obj.name = "2D symbol"
1001+
obj.show_name = False
9981002
if obj.get("geometry_root", False):
999-
if self.display_device_label == "NONE":
1003+
if self.display_2D:
1004+
obj.name = "geometry root"
10001005
obj.show_name = False
1001-
elif self.display_device_label == "NAME":
1002-
obj.name = f"{fixture_.user_fixture_name}"
1003-
obj.show_name = self.enable_device_label
1004-
elif self.display_device_label == "DMX":
1005-
obj.name = f"{fixture_.dmx_breaks[0].universe}.{fixture_.dmx_breaks[0].address}"
1006-
obj.show_name = self.enable_device_label
1007-
elif self.display_device_label == "FIXTURE_ID":
1008-
if fixture_.fixture_id:
1009-
obj.name = f"{fixture_.fixture_id}"
1010-
obj.show_name = self.enable_device_label
1011-
else:
1006+
else:
1007+
if self.display_device_label == "NONE":
10121008
obj.show_name = False
1013-
break
1009+
elif self.display_device_label == "NAME":
1010+
obj.name = f"{fixture_.user_fixture_name}"
1011+
obj.show_name = self.enable_device_label
1012+
elif self.display_device_label == "DMX":
1013+
obj.name = f"{fixture_.dmx_breaks[0].universe}.{fixture_.dmx_breaks[0].address}"
1014+
obj.show_name = self.enable_device_label
1015+
elif self.display_device_label == "FIXTURE_ID":
1016+
if fixture_.fixture_id:
1017+
obj.name = f"{fixture_.fixture_id}"
1018+
obj.show_name = self.enable_device_label
1019+
else:
1020+
obj.show_name = False
1021+
elif self.display_device_label == "FIXTURE_NAME_ID":
1022+
obj.name = (
1023+
f"{fixture_.user_fixture_name} {fixture_.fixture_id}"
1024+
)
1025+
obj.show_name = self.enable_device_label
10141026

10151027
def onDisplayPigtails(self, context):
10161028
for fixture_ in self.fixtures:
@@ -1045,24 +1057,38 @@ def onDisplay2D(self, context):
10451057

10461058
for fixture_ in self.fixtures:
10471059
for obj in fixture_.collection.objects:
1060+
if obj.get("geometry_root", False):
1061+
if self.display_2D:
1062+
obj.name = "geometry root"
1063+
obj.show_name = False
10481064
if obj.get("2d_symbol", None) == "all":
10491065
obj.hide_set(not self.display_2D)
10501066
obj.hide_viewport = not self.display_2D
10511067
obj.hide_render = not self.display_2D
1052-
if self.display_device_label == "NONE":
1068+
1069+
if not self.display_2D:
1070+
obj.name = "2D symbol"
10531071
obj.show_name = False
1054-
elif self.display_device_label == "NAME":
1055-
obj.name = f"{fixture_.user_fixture_name}"
1056-
obj.show_name = True
1057-
elif self.display_device_label == "DMX":
1058-
obj.name = f"{fixture_.dmx_breaks[0].universe}.{fixture_.dmx_breaks[0].address}"
1059-
obj.show_name = True
1060-
elif self.display_device_label == "FIXTURE_ID":
1061-
if fixture_.fixture_id:
1062-
obj.name = f"{fixture_.fixture_id}"
1063-
obj.show_name = True
1064-
else:
1072+
else:
1073+
if self.display_device_label == "NONE":
10651074
obj.show_name = False
1075+
elif self.display_device_label == "NAME":
1076+
obj.name = f"{fixture_.user_fixture_name}"
1077+
obj.show_name = True
1078+
elif self.display_device_label == "DMX":
1079+
obj.name = f"{fixture_.dmx_breaks[0].universe}.{fixture_.dmx_breaks[0].address}"
1080+
obj.show_name = True
1081+
elif self.display_device_label == "FIXTURE_ID":
1082+
if fixture_.fixture_id:
1083+
obj.name = f"{fixture_.fixture_id}"
1084+
obj.show_name = True
1085+
else:
1086+
obj.show_name = False
1087+
elif self.display_device_label == "FIXTURE_NAME_ID":
1088+
obj.name = (
1089+
f"{fixture_.user_fixture_name} {fixture_.fixture_id}"
1090+
)
1091+
obj.show_name = True
10661092
else:
10671093
obj.hide_set(self.display_2D)
10681094
obj.hide_viewport = self.display_2D
@@ -1103,6 +1129,7 @@ def update_device_label(self, context):
11031129
("NAME", _("Name"), "Name"),
11041130
("DMX", _("DMX"), "DMX Address"),
11051131
("FIXTURE_ID", _("Fixture ID"), "Fixture ID"),
1132+
("FIXTURE_NAME_ID", _("Fixture Name + ID"), "Fixture Name + ID"),
11061133
],
11071134
update = update_device_label)
11081135

panels/fixtures.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1005,7 +1005,7 @@ def draw_item(
10051005
else:
10061006
col.operator(
10071007
"dmx.fixture_item",
1008-
text=f"{item.user_fixture_name}{' 📈' if has_ies else ''} {'🖊' if item.dmx_cache_dirty else ''}",
1008+
text=f"{item.user_fixture_name}{' 📈' if has_ies else ''}{' *' if item.dmx_cache_dirty else ''}",
10091009
depress=item.is_selected(),
10101010
icon="LOCKED" if item.ignore_movement_dmx else "OUTLINER_DATA_LIGHT",
10111011
)

0 commit comments

Comments
 (0)