Added GoPro Protune support
[OpenColorIO-Configs.git] / aces_1.0.0 / python / aces_ocio / create_aces_config.py
index 8794677..8cf3d36 100755 (executable)
@@ -15,6 +15,7 @@ import PyOpenColorIO as ocio
 import aces_ocio.create_aces_colorspaces as aces
 import aces_ocio.create_arri_colorspaces as arri
 import aces_ocio.create_canon_colorspaces as canon
+import aces_ocio.create_gopro_colorspaces as gopro
 import aces_ocio.create_panasonic_colorspaces as panasonic
 import aces_ocio.create_red_colorspaces as red
 import aces_ocio.create_sony_colorspaces as sony
@@ -413,15 +414,15 @@ def create_config(config_data, nuke=False):
 
     set_config_default_roles(
         config,
-        color_picking=reference.getName(),
-        color_timing=reference.getName(),
-        compositing_log=reference.getName(),
-        data=reference.getName(),
-        default=reference.getName(),
-        matte_paint=reference.getName(),
-        reference=reference.getName(),
-        scene_linear=reference.getName(),
-        texture_paint=reference.getName())
+        color_picking=config_data['roles']['color_picking'],
+        color_timing=config_data['roles']['color_timing'],
+        compositing_log=config_data['roles']['compositing_log'],
+        data=config_data['roles']['data'],
+        default=config_data['roles']['default'],
+        matte_paint=config_data['roles']['matte_paint'],
+        reference=config_data['roles']['reference'],
+        scene_linear=config_data['roles']['scene_linear'],
+        texture_paint=config_data['roles']['texture_paint'])
 
     config.sanityCheck()
 
@@ -466,16 +467,18 @@ def generate_LUTs(odt_info,
     (aces_reference,
      aces_colorspaces,
      aces_displays,
-     aces_log_display_space) = aces.create_colorspaces(aces_ctl_directory,
-                                                       lut_directory,
-                                                       lut_resolution_1d,
-                                                       lut_resolution_3d,
-                                                       lmt_info,
-                                                       odt_info,
-                                                       shaper_name,
-                                                       cleanup)
+     aces_log_display_space,
+     aces_roles) = aces.create_colorspaces(aces_ctl_directory,
+                                           lut_directory,
+                                           lut_resolution_1d,
+                                           lut_resolution_3d,
+                                           lmt_info,
+                                           odt_info,
+                                           shaper_name,
+                                           cleanup)
 
     config_data['referenceColorSpace'] = aces_reference
+    config_data['roles'] = aces_roles
 
     for cs in aces_colorspaces:
         config_data['colorSpaces'].append(cs)
@@ -502,13 +505,18 @@ def generate_LUTs(odt_info,
     for cs in canon_colorspaces:
         config_data['colorSpaces'].append(cs)
 
+    # *GoPro Protune* to *ACES*.
+    gopro_colorspaces = gopro.create_colorspaces(lut_directory,
+                                                 lut_resolution_1d)
+    for cs in gopro_colorspaces:
+        config_data['colorSpaces'].append(cs)
+
     # *Panasonic V-Log* to *ACES*.
     panasonic_colorSpaces = panasonic.create_colorspaces(lut_directory,
                                                          lut_resolution_1d)
     for cs in panasonic_colorSpaces:
         config_data['colorSpaces'].append(cs)
 
-
     # *RED* colorspaces to *ACES*.
     red_colorspaces = red.create_colorspaces(lut_directory,
                                              lut_resolution_1d)
@@ -530,6 +538,18 @@ def generate_LUTs(odt_info,
     for cs in general_colorSpaces:
         config_data['colorSpaces'].append(cs)
 
+    # The *Raw* color space
+    raw = general.create_raw()
+    config_data['colorSpaces'].append(raw)
+
+    # Override 'linear' display
+    config_data['linearDisplaySpace'] = raw
+
+    # Override certain roles, for now
+    config_data['roles']['data'] = raw.name
+    config_data['roles']['reference'] = raw.name
+    config_data['roles']['texture_paint'] = raw.name
+
     print('generateLUTs - end')
     return config_data