Added vendor-specific names in front of gamuts that may be confused with non-vendor...
[OpenColorIO-Configs.git] / aces_1.0.0 / python / aces_ocio / create_aces_config.py
index 7c43a68..0ad1278 100755 (executable)
@@ -15,6 +15,8 @@ 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
 import aces_ocio.create_general_colorspaces as general
@@ -389,22 +391,25 @@ def create_config(config_data, nuke=False):
 
     # Defining the *Nuke* specific set of *views* and *displays*.
     else:
-        for display, view_list in config_data['displays'].iteritems():
+        display_name = 'ACES'
+        displays.append(display_name)
+
+        display_names = sorted(config_data['displays'])
+        for display in display_names:
+            view_list = config_data['displays'][display]
             for view_name, colorspace in view_list.iteritems():
                 if view_name == 'Output Transform':
-                    view_name = 'View'
-                    config.addDisplay(display, view_name, colorspace.name)
-                    if not (view_name in views):
-                        views.append(view_name)
-            displays.append(display)
+                    config.addDisplay(display_name, display, colorspace.name)
+                    if not (display in views):
+                        views.append(display)
 
         linear_display_space_name = config_data['linearDisplaySpace'].name
         log_display_space_name = config_data['logDisplaySpace'].name
 
-        config.addDisplay('linear', 'View', linear_display_space_name)
-        displays.append('linear')
-        config.addDisplay('log', 'View', log_display_space_name)
-        displays.append('log')
+        config.addDisplay(display_name, 'Linear', linear_display_space_name)
+        views.append('Linear')
+        config.addDisplay(display_name, 'Log', log_display_space_name)
+        views.append('Log')
 
     # Setting the active *displays* and *views*.
     config.setActiveDisplays(','.join(sorted(displays)))
@@ -412,15 +417,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()
 
@@ -465,16 +470,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)
@@ -489,7 +496,7 @@ def generate_LUTs(odt_info,
     # *Camera Input Transforms*
     # -------------------------------------------------------------------------
 
-    # *Log-C* to *ACES*.
+    # *ARRI Log-C* to *ACES*.
     arri_colorSpaces = arri.create_colorspaces(lut_directory,
                                                lut_resolution_1d)
     for cs in arri_colorSpaces:
@@ -501,6 +508,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)
@@ -522,6 +541,15 @@ 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 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