Skip to content

Commit 476863b

Browse files
committed
Fix *AMF* components generation.
Signed-off-by: Thomas Mansencal <[email protected]>
1 parent 493ef9e commit 476863b

File tree

1 file changed

+97
-101
lines changed
  • opencolorio_config_aces/config/reference/generate

1 file changed

+97
-101
lines changed

opencolorio_config_aces/config/reference/generate/config.py

Lines changed: 97 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import csv
1414
import logging
1515
import re
16-
from collections import defaultdict
1716
from enum import Flag, auto
1817
from pathlib import Path
1918

@@ -998,7 +997,7 @@ def generate_config_aces(
998997

999998
LOGGER.info('Parsing "%s" config mapping file...', config_mapping_file_path)
1000999

1001-
config_mapping = defaultdict(list)
1000+
config_mapping = {}
10021001
with open(config_mapping_file_path) as csv_file:
10031002
dict_reader = csv.DictReader(
10041003
csv_file,
@@ -1095,7 +1094,7 @@ def generate_config_aces(
10951094
]
10961095
)
10971096

1098-
config_mapping[transform_data["colorspace"]].append(transform_data)
1097+
config_mapping[transform_data["aces_transform_id"]] = transform_data
10991098

11001099
colorspaces = []
11011100
looks = []
@@ -1154,109 +1153,106 @@ def generate_config_aces(
11541153

11551154
LOGGER.info('Implicit colorspaces: "%s"', [a["name"] for a in colorspaces])
11561155

1157-
for transforms_data in config_mapping.values():
1158-
for transform_data in transforms_data:
1159-
ctl_transform = transform_data["ctl_transform"]
1160-
style = transform_data["builtin_transform_style"]
1156+
for transform_data in config_mapping.values():
1157+
ctl_transform = transform_data["ctl_transform"]
1158+
style = transform_data["builtin_transform_style"]
11611159

1162-
if transform_data["interface"] == "ViewTransform":
1163-
LOGGER.info('Creating a "View" transform for "%s" style...', style)
1164-
view_transform = style_to_view_transform(
1165-
style,
1166-
[
1167-
transform_data["ctl_transform"]
1168-
for transform_data in transforms_data
1169-
],
1170-
describe,
1171-
amf_components,
1172-
signature_only=True,
1173-
scheme=scheme,
1174-
)
1175-
view_transform["transforms_data"] = transforms_data
1176-
view_transforms.append(view_transform)
1177-
view_transform_name = view_transform["name"]
1178-
1179-
if view_transform_name not in view_transform_names:
1180-
view_transform_names.append(view_transform_name)
1181-
1182-
display_style = transform_data["linked_display_colorspace_style"]
1183-
1184-
display = style_to_display_colorspace(
1185-
display_style,
1186-
describe,
1187-
amf_components,
1188-
signature_only=True,
1189-
scheme=scheme,
1190-
encoding=transform_data.get("encoding"),
1191-
categories=transform_data.get("categories"),
1192-
aliases=transform_data_aliases(transform_data),
1193-
)
1194-
display["transforms_data"] = [transform_data]
1195-
display_name = display["name"]
1196-
1197-
if display_name in display_names:
1198-
for existing_display in displays:
1199-
if existing_display["name"] == display_name:
1200-
existing_display["transforms_data"].append(transform_data)
1201-
else:
1202-
display_names.append(display_name)
1203-
displays.append(display)
1204-
1205-
shared_view = {
1206-
"display": display_name,
1207-
"view": view_transform_name,
1208-
"view_transform": view_transform_name,
1209-
}
1210-
if shared_view not in shared_views:
1211-
LOGGER.info(
1212-
'Adding "%s" shared view to "%s" display.',
1213-
shared_view["view"],
1214-
display_name,
1215-
)
1216-
shared_views.append(shared_view)
1217-
1218-
elif transform_data["interface"] == "Look":
1219-
LOGGER.info('Creating a "Look" transform for "%s" style...', style)
1220-
look = ctl_transform_to_look(
1221-
ctl_transform,
1222-
describe,
1223-
amf_components,
1224-
signature_only=True,
1225-
scheme=scheme,
1226-
analytical=analytical,
1227-
forward_transform={
1228-
"transform_type": "BuiltinTransform",
1229-
"style": style,
1230-
},
1231-
process_space=scene_reference_colorspace["name"],
1232-
)
1233-
look["transforms_data"] = [transform_data]
1234-
if look not in looks:
1235-
looks.append(look)
1160+
if transform_data["interface"] == "ViewTransform":
1161+
LOGGER.info('Creating a "View" transform for "%s" style...', style)
1162+
1163+
view_transform = style_to_view_transform(
1164+
style,
1165+
[transform_data["ctl_transform"]],
1166+
describe,
1167+
amf_components,
1168+
signature_only=True,
1169+
scheme=scheme,
1170+
)
1171+
view_transform["transforms_data"] = [transform_data]
1172+
view_transforms.append(view_transform)
1173+
view_transform_name = view_transform["name"]
1174+
1175+
if view_transform_name not in view_transform_names:
1176+
view_transform_names.append(view_transform_name)
1177+
1178+
display_style = transform_data["linked_display_colorspace_style"]
1179+
1180+
display = style_to_display_colorspace(
1181+
display_style,
1182+
describe,
1183+
amf_components,
1184+
signature_only=True,
1185+
scheme=scheme,
1186+
encoding=transform_data.get("encoding"),
1187+
categories=transform_data.get("categories"),
1188+
aliases=transform_data_aliases(transform_data),
1189+
)
1190+
display["transforms_data"] = [transform_data]
1191+
display_name = display["name"]
1192+
1193+
if display_name in display_names:
1194+
for existing_display in displays:
1195+
if existing_display["name"] == display_name:
1196+
existing_display["transforms_data"].append(transform_data)
12361197
else:
1198+
display_names.append(display_name)
1199+
displays.append(display)
1200+
1201+
shared_view = {
1202+
"display": display_name,
1203+
"view": view_transform_name,
1204+
"view_transform": view_transform_name,
1205+
}
1206+
if shared_view not in shared_views:
12371207
LOGGER.info(
1238-
'Creating a "Colorspace" transform for "%s" style...',
1239-
style,
1208+
'Adding "%s" shared view to "%s" display.',
1209+
shared_view["view"],
1210+
display_name,
12401211
)
1212+
shared_views.append(shared_view)
1213+
1214+
elif transform_data["interface"] == "Look":
1215+
LOGGER.info('Creating a "Look" transform for "%s" style...', style)
1216+
look = ctl_transform_to_look(
1217+
ctl_transform,
1218+
describe,
1219+
amf_components,
1220+
signature_only=True,
1221+
scheme=scheme,
1222+
analytical=analytical,
1223+
forward_transform={
1224+
"transform_type": "BuiltinTransform",
1225+
"style": style,
1226+
},
1227+
process_space=scene_reference_colorspace["name"],
1228+
)
1229+
look["transforms_data"] = [transform_data]
1230+
if look not in looks:
1231+
looks.append(look)
1232+
else:
1233+
LOGGER.info(
1234+
'Creating a "Colorspace" transform for "%s" style...',
1235+
style,
1236+
)
12411237

1242-
colorspace = ctl_transform_to_colorspace(
1243-
ctl_transform,
1244-
describe,
1245-
amf_components,
1246-
signature_only=True,
1247-
scheme=scheme,
1248-
analytical=analytical,
1249-
to_reference={
1250-
"transform_type": "BuiltinTransform",
1251-
"style": style,
1252-
},
1253-
encoding=transform_data.get("encoding"),
1254-
categories=transform_data.get("categories"),
1255-
aliases=transform_data_aliases(transform_data),
1256-
)
1257-
colorspace["transforms_data"] = [transform_data]
1258-
if colorspace not in colorspaces:
1259-
colorspaces.append(colorspace)
1238+
colorspace = ctl_transform_to_colorspace(
1239+
ctl_transform,
1240+
describe,
1241+
amf_components,
1242+
signature_only=True,
1243+
scheme=scheme,
1244+
analytical=analytical,
1245+
to_reference={
1246+
"transform_type": "BuiltinTransform",
1247+
"style": style,
1248+
},
1249+
encoding=transform_data.get("encoding"),
1250+
categories=transform_data.get("categories"),
1251+
aliases=transform_data_aliases(transform_data),
1252+
)
1253+
colorspace["transforms_data"] = [transform_data]
1254+
if colorspace not in colorspaces:
1255+
colorspaces.append(colorspace)
12601256

12611257
# Ordering displays, "sRGB" first and then shared views.
12621258
display_names = sorted(display_names)

0 commit comments

Comments
 (0)