Review: DisplayTransform interface update


Jeremy Selan <jeremy...@...>
 

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297ed0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated. What previous
was 'TransformName' is now called a 'DisplayAlias', to minimize
confusion with new users. (The old Transforms has nothing
to do with OCIO::Transform, so this name was misleading). A new
environment variable is available, $OCIO_DEVICE_MASK, which allows
for optional runtime speicification of connected display devices. The
config format has been updated to reflect these modified names. Also
available are two new entries, device_defaults + alias_defaults which
allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively use
the public OCIO for all upcoming productions.

-- Jeremy


Malcolm Humphreys <malcolmh...@...>
 

Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297ed0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated. What previous
was 'TransformName' is now called a 'DisplayAlias', to minimize
confusion with new users. (The old Transforms has nothing
to do with OCIO::Transform, so this name was misleading). A new
environment variable is available, $OCIO_DEVICE_MASK, which allows
for optional runtime speicification of connected display devices. The
config format has been updated to reflect these modified names. Also
available are two new entries, device_defaults + alias_defaults which
allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively use
the public OCIO for all upcoming productions.

-- Jeremy


Jeremy Selan <jeremy...@...>
 

Here's a chunk from spi-vfx with the new options:

displays:
- !<Display> {device: sRGB, alias: Raw, colorspace: nc10}
- !<Display> {device: sRGB, alias: Log, colorspace: lg10}
- !<Display> {device: sRGB, alias: Film, colorspace: srgb8}
- !<Display> {device: DCIP3, alias: Raw, colorspace: nc10}
- !<Display> {device: DCIP3, alias: Log, colorspace: lg10}
- !<Display> {device: DCIP3, alias: Film, colorspace: p3dci8}
device_defaults: [sRGB, DCIP3]
alias_defaults: [Film, Log, Raw]

I feel that the term 'alias' is simpler to understand, but then again
I wrote it so if you have a better term I'm open to ideas.

You'll see that the default value is also explicitly specified now.
Under common circumstances, only the 1st value will be returned as
default, but a full search order is allowed for corner cases where not
all aliases are defined for all devices, or there are OCIO_DEVICE_MASK
specified that disallow particular device options.

The idea behind OCIO_DEVICE_MASK is that your config will contain the
master list of all devices in use on a show, but still allow the
flexibility (through the use of envvars) to control which an end user
sees. This allows for example, a facility to roll out code to make
sure the user only has the "sRGB" option on desktop machines. (Which
DLP connected machines may have all the options: sRGB, DCIP3, etc).

-- Jeremy

On Sat, Jan 22, 2011 at 9:40 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297ed0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated.    What previous
was 'TransformName' is now called a 'DisplayAlias',  to minimize
confusion with new users.  (The old Transforms has nothing
to do with OCIO::Transform, so this name was misleading).  A new
environment variable is available, $OCIO_DEVICE_MASK,  which allows
for optional runtime speicification of connected display devices. The
config format has been updated to reflect these modified names.  Also
available are two new entries,  device_defaults + alias_defaults which
allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively use
the public OCIO for all upcoming productions.

-- Jeremy


Malcolm Humphreys <malcolmh...@...>
 

Hi,

Here's a chunk from spi-vfx with the new options:

displays:
- !<Display> {device: sRGB, alias: Raw, colorspace: nc10}
- !<Display> {device: sRGB, alias: Log, colorspace: lg10}
- !<Display> {device: sRGB, alias: Film, colorspace: srgb8}
- !<Display> {device: DCIP3, alias: Raw, colorspace: nc10}
- !<Display> {device: DCIP3, alias: Log, colorspace: lg10}
- !<Display> {device: DCIP3, alias: Film, colorspace: p3dci8}
device_defaults: [sRGB, DCIP3]
alias_defaults: [Film, Log, Raw]

I feel that the term 'alias' is simpler to understand, but then again
I wrote it so if you have a better term I'm open to ideas.
Ok thats a bit clearer. But I think having this as a flat list is not so nice.

After playing around with this a bit I came up with this layout. This makes it clearer that you have a set of displays and a set of views on each of them.

displays:
sRGB:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: srgb8}
DCIP3:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: p3dci8}
active_displays: [sRGB, DCIP3] # or active_devices:
active_views: [Film, Log, Raw]

You'll see that the default value is also explicitly specified now.
Under common circumstances, only the 1st value will be returned as
default, but a full search order is allowed for corner cases where not
all aliases are defined for all devices, or there are OCIO_DEVICE_MASK
specified that disallow particular device options.

The idea behind OCIO_DEVICE_MASK is that your config will contain the
master list of all devices in use on a show, but still allow the
flexibility (through the use of envvars) to control which an end user
sees. This allows for example, a facility to roll out code to make
sure the user only has the "sRGB" option on desktop machines. (Which
DLP connected machines may have all the options: sRGB, DCIP3, etc).
I think this is great!

.malcolm

-- Jeremy

On Sat, Jan 22, 2011 at 9:40 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297ed0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated. What previous
was 'TransformName' is now called a 'DisplayAlias', to minimize
confusion with new users. (The old Transforms has nothing
to do with OCIO::Transform, so this name was misleading). A new
environment variable is available, $OCIO_DEVICE_MASK, which allows
for optional runtime speicification of connected display devices. The
config format has been updated to reflect these modified names. Also
available are two new entries, device_defaults + alias_defaults which
allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively use
the public OCIO for all upcoming productions.

-- Jeremy


Joseph Slomka <jsl...@...>
 

Malcom,

I like your layout. I think that calling the

active_displays: [sRGB, DCIP3] # or active_devices:
default_displays:[sRGB, DCIP3]
The name change will allow the opportunity to have a list of default display that can be different from what the active displays are.
I think that this can be important given the ability to dynamically generate colorspaces and display devices.


-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:23 PM
To: OpenColorIO Developers
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi,

Here's a chunk from spi-vfx with the new options:

displays:
- !<Display> {device: sRGB, alias: Raw, colorspace: nc10}
- !<Display> {device: sRGB, alias: Log, colorspace: lg10}
- !<Display> {device: sRGB, alias: Film, colorspace: srgb8}
- !<Display> {device: DCIP3, alias: Raw, colorspace: nc10}
- !<Display> {device: DCIP3, alias: Log, colorspace: lg10}
- !<Display> {device: DCIP3, alias: Film, colorspace: p3dci8}
device_defaults: [sRGB, DCIP3]
alias_defaults: [Film, Log, Raw]

I feel that the term 'alias' is simpler to understand, but then again
I wrote it so if you have a better term I'm open to ideas.
Ok thats a bit clearer. But I think having this as a flat list is not so nice.

After playing around with this a bit I came up with this layout. This makes it clearer that you have a set of displays and a set of views on each of them.

displays:
sRGB:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: srgb8}
DCIP3:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: p3dci8}
active_displays: [sRGB, DCIP3] # or active_devices:
active_views: [Film, Log, Raw]

You'll see that the default value is also explicitly specified now.
Under common circumstances, only the 1st value will be returned as
default, but a full search order is allowed for corner cases where not
all aliases are defined for all devices, or there are OCIO_DEVICE_MASK
specified that disallow particular device options.

The idea behind OCIO_DEVICE_MASK is that your config will contain the
master list of all devices in use on a show, but still allow the
flexibility (through the use of envvars) to control which an end user
sees. This allows for example, a facility to roll out code to make
sure the user only has the "sRGB" option on desktop machines. (Which
DLP connected machines may have all the options: sRGB, DCIP3, etc).
I think this is great!

.malcolm

-- Jeremy

On Sat, Jan 22, 2011 at 9:40 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297e
d0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated. What previous
was 'TransformName' is now called a 'DisplayAlias', to minimize
confusion with new users. (The old Transforms has nothing to do
with OCIO::Transform, so this name was misleading). A new
environment variable is available, $OCIO_DEVICE_MASK, which allows
for optional runtime speicification of connected display devices.
The config format has been updated to reflect these modified names.
Also available are two new entries, device_defaults +
alias_defaults which allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively use
the public OCIO for all upcoming productions.

-- Jeremy


Malcolm Humphreys <malcolmh...@...>
 

Hi Joesph,

I like your layout. I think that calling the

active_displays: [sRGB, DCIP3] # or active_devices:
default_displays:[sRGB, DCIP3]
The name change will allow the opportunity to have a list of default display that can be different from what the active displays are.
I think that this can be important given the ability to dynamically generate colorspaces and display devices.
Oh I was thinking in the profile the list of active_displays would be the defaults. Which then you could dynamically override with $OCIO_ACTIVE_DISPLAYS (which was called $OCIO_DEVICE_MASK).

.malcolm

-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:23 PM
To: OpenColorIO Developers
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi,

Here's a chunk from spi-vfx with the new options:

displays:
- !<Display> {device: sRGB, alias: Raw, colorspace: nc10}
- !<Display> {device: sRGB, alias: Log, colorspace: lg10}
- !<Display> {device: sRGB, alias: Film, colorspace: srgb8}
- !<Display> {device: DCIP3, alias: Raw, colorspace: nc10}
- !<Display> {device: DCIP3, alias: Log, colorspace: lg10}
- !<Display> {device: DCIP3, alias: Film, colorspace: p3dci8}
device_defaults: [sRGB, DCIP3]
alias_defaults: [Film, Log, Raw]

I feel that the term 'alias' is simpler to understand, but then again
I wrote it so if you have a better term I'm open to ideas.
Ok thats a bit clearer. But I think having this as a flat list is not so nice.

After playing around with this a bit I came up with this layout. This makes it clearer that you have a set of displays and a set of views on each of them.

displays:
sRGB:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: srgb8}
DCIP3:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: p3dci8}
active_displays: [sRGB, DCIP3] # or active_devices:
active_views: [Film, Log, Raw]

You'll see that the default value is also explicitly specified now.
Under common circumstances, only the 1st value will be returned as
default, but a full search order is allowed for corner cases where not
all aliases are defined for all devices, or there are OCIO_DEVICE_MASK
specified that disallow particular device options.

The idea behind OCIO_DEVICE_MASK is that your config will contain the
master list of all devices in use on a show, but still allow the
flexibility (through the use of envvars) to control which an end user
sees. This allows for example, a facility to roll out code to make
sure the user only has the "sRGB" option on desktop machines. (Which
DLP connected machines may have all the options: sRGB, DCIP3, etc).
I think this is great!

.malcolm

-- Jeremy

On Sat, Jan 22, 2011 at 9:40 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297e
d0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated. What previous
was 'TransformName' is now called a 'DisplayAlias', to minimize
confusion with new users. (The old Transforms has nothing to do
with OCIO::Transform, so this name was misleading). A new
environment variable is available, $OCIO_DEVICE_MASK, which allows
for optional runtime speicification of connected display devices.
The config format has been updated to reflect these modified names.
Also available are two new entries, device_defaults +
alias_defaults which allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively use
the public OCIO for all upcoming productions.

-- Jeremy


Joseph Slomka <jsl...@...>
 

Malcom,

I'm thinking of an edge case where you want to query the defalt displays of a color configuration independently of the active displays. The example I could think of is writing a script to check to see if a display is supported by default and creating one if it is not.

Looking a little more closely I don't understand the need to have multiple defaults in the active_views
active_views: [Film, Log, Raw]
Unless you want to explictly exclude a defined view as a default.

-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:49 PM
To: ocio...@googlegroups.com
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi Joesph,

I like your layout. I think that calling the

active_displays: [sRGB, DCIP3] # or active_devices:
default_displays:[sRGB, DCIP3]
The name change will allow the opportunity to have a list of default display that can be different from what the active displays are.
I think that this can be important given the ability to dynamically generate colorspaces and display devices.
Oh I was thinking in the profile the list of active_displays would be the defaults. Which then you could dynamically override with $OCIO_ACTIVE_DISPLAYS (which was called $OCIO_DEVICE_MASK).

.malcolm

-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On
Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:23 PM
To: OpenColorIO Developers
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi,

Here's a chunk from spi-vfx with the new options:

displays:
- !<Display> {device: sRGB, alias: Raw, colorspace: nc10}
- !<Display> {device: sRGB, alias: Log, colorspace: lg10}
- !<Display> {device: sRGB, alias: Film, colorspace: srgb8}
- !<Display> {device: DCIP3, alias: Raw, colorspace: nc10}
- !<Display> {device: DCIP3, alias: Log, colorspace: lg10}
- !<Display> {device: DCIP3, alias: Film, colorspace: p3dci8}
device_defaults: [sRGB, DCIP3]
alias_defaults: [Film, Log, Raw]

I feel that the term 'alias' is simpler to understand, but then again
I wrote it so if you have a better term I'm open to ideas.
Ok thats a bit clearer. But I think having this as a flat list is not so nice.

After playing around with this a bit I came up with this layout. This makes it clearer that you have a set of displays and a set of views on each of them.

displays:
sRGB:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: srgb8}
DCIP3:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: p3dci8}
active_displays: [sRGB, DCIP3] # or active_devices:
active_views: [Film, Log, Raw]

You'll see that the default value is also explicitly specified now.
Under common circumstances, only the 1st value will be returned as
default, but a full search order is allowed for corner cases where
not all aliases are defined for all devices, or there are
OCIO_DEVICE_MASK specified that disallow particular device options.

The idea behind OCIO_DEVICE_MASK is that your config will contain the
master list of all devices in use on a show, but still allow the
flexibility (through the use of envvars) to control which an end user
sees. This allows for example, a facility to roll out code to make
sure the user only has the "sRGB" option on desktop machines. (Which
DLP connected machines may have all the options: sRGB, DCIP3, etc).
I think this is great!

.malcolm

-- Jeremy

On Sat, Jan 22, 2011 at 9:40 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297
e
d0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated. What previous
was 'TransformName' is now called a 'DisplayAlias', to minimize
confusion with new users. (The old Transforms has nothing to do
with OCIO::Transform, so this name was misleading). A new
environment variable is available, $OCIO_DEVICE_MASK, which allows
for optional runtime speicification of connected display devices.
The config format has been updated to reflect these modified names.
Also available are two new entries, device_defaults +
alias_defaults which allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively
use the public OCIO for all upcoming productions.

-- Jeremy


Jeremy Selan <jeremy...@...>
 

Would this syntax preserve Display order? I think that's important.

-- Jeremy

displays:
  sRGB:
     -!<View> {name: Raw, colorspace: nc10}
     -!<View> {name: Log, colorspace: lg10}
     -!<View> {name: Film, colorspace: srgb8}
  DCIP3:
     -!<View> {name: Raw, colorspace: nc10}
     -!<View> {name: Log, colorspace: lg10}
     -!<View> {name: Film, colorspace: p3dci8}


Jeremy Selan <jeremy...@...>
 

Oh, and have we agreed to use 'View' rather than 'Alias'? I'm cool with that...

-- Jeremy

On Tue, Jan 25, 2011 at 4:51 PM, Jeremy Selan <jeremy...@gmail.com> wrote:
Would this syntax preserve Display order?  I think that's important.

-- Jeremy

displays:
  sRGB:
     -!<View> {name: Raw, colorspace: nc10}
     -!<View> {name: Log, colorspace: lg10}
     -!<View> {name: Film, colorspace: srgb8}
  DCIP3:
     -!<View> {name: Raw, colorspace: nc10}
     -!<View> {name: Log, colorspace: lg10}
     -!<View> {name: Film, colorspace: p3dci8}


Joseph Slomka <jsl...@...>
 

Would the 'view' terminology be able to encompass your concept of looks? Id it does then I'm onboard
-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On Behalf Of Jeremy Selan
Sent: Tuesday, January 25, 2011 4:54 PM
To: ocio...@googlegroups.com
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Oh, and have we agreed to use 'View' rather than 'Alias'? I'm cool with that...

-- Jeremy

On Tue, Jan 25, 2011 at 4:51 PM, Jeremy Selan <jeremy...@gmail.com> wrote:
Would this syntax preserve Display order?  I think that's important.

-- Jeremy

displays:
  sRGB:
     -!<View> {name: Raw, colorspace: nc10}
     -!<View> {name: Log, colorspace: lg10}
     -!<View> {name: Film, colorspace: srgb8}
  DCIP3:
     -!<View> {name: Raw, colorspace: nc10}
     -!<View> {name: Log, colorspace: lg10}
     -!<View> {name: Film, colorspace: p3dci8}


Malcolm Humphreys <malcolmh...@...>
 

I'm thinking of an edge case where you want to query the defalt displays of a color configuration independently of the active displays. The example I could think of is writing a script to check to see if a display is supported by default and creating one if it is not.
Could this not be part of the API? the core could just keep around the list that was in the profile as the default list and then the active would either be a copy of this or what was ever dynamically set.

Looking a little more closely I don't understand the need to have multiple defaults in the active_views
active_views: [Film, Log, Raw]
Unless you want to explictly exclude a defined view as a default.
This might answer jeremy's questions as well.

I was thinking the order is important in active_displays and active_views.

I guess the use case for all this is:

Say we have 3 groups of machines.
group1: dual sRGB heads
group2: sRGB and one Dreamcolor (DCI-P3 emulation) heads
group3: sRGB and a DCI projector head

In the profile it would be nice to model that you want both sRGB and Dream as the visible displays (say in the nuke node) if you load the profile directly with sRGB being the default. eg. active_displays: [sRGB, Dream]

For group2 you would might want the Dream display to be the default so you could set the environment var $OCIO_ACTIVE_DISPLAYS = Dream,sRGB

And the same for group3, $OCIO_ACTIVE_DISPLAYS = DCI,sRGB (and the Dream display would not be visible)

The active_views would be identify the default as the first item and then the order the api would return them in. This would work similarly in being able to override the order for different machines.


....
I gota run guys to Australian Day celebrations.

Happy Australia Day everyone! (get a beer into you)

.malcolm


-Joseph


-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:49 PM
To: ocio...@googlegroups.com
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi Joesph,

I like your layout. I think that calling the

active_displays: [sRGB, DCIP3] # or active_devices:
default_displays:[sRGB, DCIP3]
The name change will allow the opportunity to have a list of default display that can be different from what the active displays are.
I think that this can be important given the ability to dynamically generate colorspaces and display devices.
Oh I was thinking in the profile the list of active_displays would be the defaults. Which then you could dynamically override with $OCIO_ACTIVE_DISPLAYS (which was called $OCIO_DEVICE_MASK).

.malcolm

-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On
Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:23 PM
To: OpenColorIO Developers
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi,

Here's a chunk from spi-vfx with the new options:

displays:
- !<Display> {device: sRGB, alias: Raw, colorspace: nc10}
- !<Display> {device: sRGB, alias: Log, colorspace: lg10}
- !<Display> {device: sRGB, alias: Film, colorspace: srgb8}
- !<Display> {device: DCIP3, alias: Raw, colorspace: nc10}
- !<Display> {device: DCIP3, alias: Log, colorspace: lg10}
- !<Display> {device: DCIP3, alias: Film, colorspace: p3dci8}
device_defaults: [sRGB, DCIP3]
alias_defaults: [Film, Log, Raw]

I feel that the term 'alias' is simpler to understand, but then again
I wrote it so if you have a better term I'm open to ideas.
Ok thats a bit clearer. But I think having this as a flat list is not so nice.

After playing around with this a bit I came up with this layout. This makes it clearer that you have a set of displays and a set of views on each of them.

displays:
sRGB:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: srgb8}
DCIP3:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: p3dci8}
active_displays: [sRGB, DCIP3] # or active_devices:
active_views: [Film, Log, Raw]

You'll see that the default value is also explicitly specified now.
Under common circumstances, only the 1st value will be returned as
default, but a full search order is allowed for corner cases where
not all aliases are defined for all devices, or there are
OCIO_DEVICE_MASK specified that disallow particular device options.

The idea behind OCIO_DEVICE_MASK is that your config will contain the
master list of all devices in use on a show, but still allow the
flexibility (through the use of envvars) to control which an end user
sees. This allows for example, a facility to roll out code to make
sure the user only has the "sRGB" option on desktop machines. (Which
DLP connected machines may have all the options: sRGB, DCIP3, etc).
I think this is great!

.malcolm

-- Jeremy

On Sat, Jan 22, 2011 at 9:40 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297
e
d0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated. What previous
was 'TransformName' is now called a 'DisplayAlias', to minimize
confusion with new users. (The old Transforms has nothing to do
with OCIO::Transform, so this name was misleading). A new
environment variable is available, $OCIO_DEVICE_MASK, which allows
for optional runtime speicification of connected display devices.
The config format has been updated to reflect these modified names.
Also available are two new entries, device_defaults +
alias_defaults which allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively
use the public OCIO for all upcoming productions.

-- Jeremy



Malcolm Humphreys <malcolmh...@...>
 

Did you have any thoughts on this?

On 26/01/2011, at 12:12 PM, Malcolm Humphreys wrote:


I'm thinking of an edge case where you want to query the defalt displays of a color configuration independently of the active displays. The example I could think of is writing a script to check to see if a display is supported by default and creating one if it is not.
Could this not be part of the API? the core could just keep around the list that was in the profile as the default list and then the active would either be a copy of this or what was ever dynamically set.

Looking a little more closely I don't understand the need to have multiple defaults in the active_views
active_views: [Film, Log, Raw]
Unless you want to explictly exclude a defined view as a default.
This might answer jeremy's questions as well.

I was thinking the order is important in active_displays and active_views.

I guess the use case for all this is:

Say we have 3 groups of machines.
group1: dual sRGB heads
group2: sRGB and one Dreamcolor (DCI-P3 emulation) heads
group3: sRGB and a DCI projector head

In the profile it would be nice to model that you want both sRGB and Dream as the visible displays (say in the nuke node) if you load the profile directly with sRGB being the default. eg. active_displays: [sRGB, Dream]

For group2 you would might want the Dream display to be the default so you could set the environment var $OCIO_ACTIVE_DISPLAYS = Dream,sRGB

And the same for group3, $OCIO_ACTIVE_DISPLAYS = DCI,sRGB (and the Dream display would not be visible)

The active_views would be identify the default as the first item and then the order the api would return them in. This would work similarly in being able to override the order for different machines.


....
I gota run guys to Australian Day celebrations.

Happy Australia Day everyone! (get a beer into you)

.malcolm


-Joseph


-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:49 PM
To: ocio...@googlegroups.com
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi Joesph,

I like your layout. I think that calling the

active_displays: [sRGB, DCIP3] # or active_devices:
default_displays:[sRGB, DCIP3]
The name change will allow the opportunity to have a list of default display that can be different from what the active displays are.
I think that this can be important given the ability to dynamically generate colorspaces and display devices.
Oh I was thinking in the profile the list of active_displays would be the defaults. Which then you could dynamically override with $OCIO_ACTIVE_DISPLAYS (which was called $OCIO_DEVICE_MASK).

.malcolm

-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On
Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:23 PM
To: OpenColorIO Developers
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi,

Here's a chunk from spi-vfx with the new options:

displays:
- !<Display> {device: sRGB, alias: Raw, colorspace: nc10}
- !<Display> {device: sRGB, alias: Log, colorspace: lg10}
- !<Display> {device: sRGB, alias: Film, colorspace: srgb8}
- !<Display> {device: DCIP3, alias: Raw, colorspace: nc10}
- !<Display> {device: DCIP3, alias: Log, colorspace: lg10}
- !<Display> {device: DCIP3, alias: Film, colorspace: p3dci8}
device_defaults: [sRGB, DCIP3]
alias_defaults: [Film, Log, Raw]

I feel that the term 'alias' is simpler to understand, but then again
I wrote it so if you have a better term I'm open to ideas.
Ok thats a bit clearer. But I think having this as a flat list is not so nice.

After playing around with this a bit I came up with this layout. This makes it clearer that you have a set of displays and a set of views on each of them.

displays:
sRGB:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: srgb8}
DCIP3:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: p3dci8}
active_displays: [sRGB, DCIP3] # or active_devices:
active_views: [Film, Log, Raw]

You'll see that the default value is also explicitly specified now.
Under common circumstances, only the 1st value will be returned as
default, but a full search order is allowed for corner cases where
not all aliases are defined for all devices, or there are
OCIO_DEVICE_MASK specified that disallow particular device options.

The idea behind OCIO_DEVICE_MASK is that your config will contain the
master list of all devices in use on a show, but still allow the
flexibility (through the use of envvars) to control which an end user
sees. This allows for example, a facility to roll out code to make
sure the user only has the "sRGB" option on desktop machines. (Which
DLP connected machines may have all the options: sRGB, DCIP3, etc).
I think this is great!

.malcolm

-- Jeremy

On Sat, Jan 22, 2011 at 9:40 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297
e
d0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated. What previous
was 'TransformName' is now called a 'DisplayAlias', to minimize
confusion with new users. (The old Transforms has nothing to do
with OCIO::Transform, so this name was misleading). A new
environment variable is available, $OCIO_DEVICE_MASK, which allows
for optional runtime speicification of connected display devices.
The config format has been updated to reflect these modified names.
Also available are two new entries, device_defaults +
alias_defaults which allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively
use the public OCIO for all upcoming productions.

-- Jeremy



Jeremy Selan <jeremy...@...>
 

Yes, I like it. Just haven't had a chance to update the code and
re-submit yet. Sorry...

-- Jeremy

On Wed, Jan 26, 2011 at 4:08 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Did you have any thoughts on this?

On 26/01/2011, at 12:12 PM, Malcolm Humphreys wrote:


I'm thinking of an edge case where you want to query the defalt displays of a color configuration independently of the active displays. The example I could think of is writing a script to check to see if a display is supported by default and creating one if it is not.
Could this not be part of the API? the core could just keep around the list that was in the profile as the default list and then the active would either be a copy of this or what was ever dynamically set.

Looking a little more closely I don't understand the need to have multiple defaults in the active_views
active_views: [Film, Log, Raw]
Unless you want to explictly exclude a defined view as a default.
This might answer jeremy's questions as well.

I was thinking the order is important in active_displays and active_views.

I guess the use case for all this is:

Say we have 3 groups of machines.
group1:  dual sRGB heads
group2:  sRGB and one Dreamcolor (DCI-P3 emulation) heads
group3:  sRGB and a DCI projector head

In the profile it would be nice to model that you want both sRGB and Dream as the visible displays (say in the nuke node) if you load the profile directly with sRGB being the default. eg. active_displays: [sRGB, Dream]

For group2 you would might want the Dream display to be the default so you could set the environment var $OCIO_ACTIVE_DISPLAYS = Dream,sRGB

And the same for group3, $OCIO_ACTIVE_DISPLAYS = DCI,sRGB (and the Dream display would not be visible)

The active_views would be identify the default as the first item and then the order the api would return them in. This would work similarly in being able to override the order for different machines.


....
I gota run guys to Australian Day celebrations.

Happy Australia Day everyone! (get a beer into you)

.malcolm


-Joseph


-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:49 PM
To: ocio...@googlegroups.com
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi Joesph,

I like your layout. I think that calling the

active_displays: [sRGB, DCIP3] # or active_devices:
default_displays:[sRGB, DCIP3]
The name change will allow the opportunity to have a list of default display that can be different from what the active displays are.
I think that this can be important  given the ability to dynamically generate colorspaces and display devices.
Oh I was thinking in the profile the list of active_displays would be the defaults. Which then you could dynamically override with $OCIO_ACTIVE_DISPLAYS (which was called $OCIO_DEVICE_MASK).

.malcolm

-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On
Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:23 PM
To: OpenColorIO Developers
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi,

Here's a chunk from spi-vfx with the new options:

displays:
- !<Display> {device: sRGB, alias: Raw, colorspace: nc10}
- !<Display> {device: sRGB, alias: Log, colorspace: lg10}
- !<Display> {device: sRGB, alias: Film, colorspace: srgb8}
- !<Display> {device: DCIP3, alias: Raw, colorspace: nc10}
- !<Display> {device: DCIP3, alias: Log, colorspace: lg10}
- !<Display> {device: DCIP3, alias: Film, colorspace: p3dci8}
device_defaults: [sRGB, DCIP3]
alias_defaults: [Film, Log, Raw]

I feel that the term 'alias' is simpler to understand, but then again
I wrote it so if you have a better term I'm open to ideas.
Ok thats a bit clearer. But I think having this as a flat list is not so nice.

After playing around with this a bit I came up with this layout. This makes it clearer that you have a set of displays and a set of views on each of them.

displays:
sRGB:
   -!<View> {name: Raw, colorspace: nc10}
   -!<View> {name: Log, colorspace: lg10}
   -!<View> {name: Film, colorspace: srgb8}
DCIP3:
   -!<View> {name: Raw, colorspace: nc10}
   -!<View> {name: Log, colorspace: lg10}
   -!<View> {name: Film, colorspace: p3dci8}
active_displays: [sRGB, DCIP3] # or active_devices:
active_views: [Film, Log, Raw]

You'll see that the default value is also explicitly specified now.
Under common circumstances, only the 1st value will be returned as
default, but a full search order is allowed for corner cases where
not all aliases are defined for all devices, or there are
OCIO_DEVICE_MASK specified that disallow particular device options.

The idea behind OCIO_DEVICE_MASK is that your config will contain the
master list of all devices in use on a show, but still allow the
flexibility (through the use of envvars) to control which an end user
sees. This allows for example, a facility to roll out code to make
sure the user only has the "sRGB" option on desktop machines. (Which
DLP connected machines may have all the options: sRGB, DCIP3, etc).
I think this is great!

.malcolm

-- Jeremy

On Sat, Jan 22, 2011 at 9:40 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297
e
d0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated.    What previous
was 'TransformName' is now called a 'DisplayAlias',  to minimize
confusion with new users.  (The old Transforms has nothing to do
with OCIO::Transform, so this name was misleading).  A new
environment variable is available, $OCIO_DEVICE_MASK,  which allows
for optional runtime speicification of connected display devices.
The config format has been updated to reflect these modified names.
Also available are two new entries,  device_defaults +
alias_defaults which allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively
use the public OCIO for all upcoming productions.

-- Jeremy



Malcolm Humphreys <malcolmh...@...>
 

Cool, no pressure just wanted to know if this was the direction we were thinking of going.

.malcolm

On 27/01/2011, at 11:21 AM, Jeremy Selan wrote:

Yes, I like it. Just haven't had a chance to update the code and
re-submit yet. Sorry...

-- Jeremy

On Wed, Jan 26, 2011 at 4:08 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Did you have any thoughts on this?

On 26/01/2011, at 12:12 PM, Malcolm Humphreys wrote:


I'm thinking of an edge case where you want to query the defalt displays of a color configuration independently of the active displays. The example I could think of is writing a script to check to see if a display is supported by default and creating one if it is not.
Could this not be part of the API? the core could just keep around the list that was in the profile as the default list and then the active would either be a copy of this or what was ever dynamically set.

Looking a little more closely I don't understand the need to have multiple defaults in the active_views
active_views: [Film, Log, Raw]
Unless you want to explictly exclude a defined view as a default.
This might answer jeremy's questions as well.

I was thinking the order is important in active_displays and active_views.

I guess the use case for all this is:

Say we have 3 groups of machines.
group1: dual sRGB heads
group2: sRGB and one Dreamcolor (DCI-P3 emulation) heads
group3: sRGB and a DCI projector head

In the profile it would be nice to model that you want both sRGB and Dream as the visible displays (say in the nuke node) if you load the profile directly with sRGB being the default. eg. active_displays: [sRGB, Dream]

For group2 you would might want the Dream display to be the default so you could set the environment var $OCIO_ACTIVE_DISPLAYS = Dream,sRGB

And the same for group3, $OCIO_ACTIVE_DISPLAYS = DCI,sRGB (and the Dream display would not be visible)

The active_views would be identify the default as the first item and then the order the api would return them in. This would work similarly in being able to override the order for different machines.


....
I gota run guys to Australian Day celebrations.

Happy Australia Day everyone! (get a beer into you)

.malcolm


-Joseph


-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:49 PM
To: ocio...@googlegroups.com
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi Joesph,

I like your layout. I think that calling the

active_displays: [sRGB, DCIP3] # or active_devices:
default_displays:[sRGB, DCIP3]
The name change will allow the opportunity to have a list of default display that can be different from what the active displays are.
I think that this can be important given the ability to dynamically generate colorspaces and display devices.
Oh I was thinking in the profile the list of active_displays would be the defaults. Which then you could dynamically override with $OCIO_ACTIVE_DISPLAYS (which was called $OCIO_DEVICE_MASK).

.malcolm

-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On
Behalf Of Malcolm Humphreys
Sent: Tuesday, January 25, 2011 3:23 PM
To: OpenColorIO Developers
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Hi,

Here's a chunk from spi-vfx with the new options:

displays:
- !<Display> {device: sRGB, alias: Raw, colorspace: nc10}
- !<Display> {device: sRGB, alias: Log, colorspace: lg10}
- !<Display> {device: sRGB, alias: Film, colorspace: srgb8}
- !<Display> {device: DCIP3, alias: Raw, colorspace: nc10}
- !<Display> {device: DCIP3, alias: Log, colorspace: lg10}
- !<Display> {device: DCIP3, alias: Film, colorspace: p3dci8}
device_defaults: [sRGB, DCIP3]
alias_defaults: [Film, Log, Raw]

I feel that the term 'alias' is simpler to understand, but then again
I wrote it so if you have a better term I'm open to ideas.
Ok thats a bit clearer. But I think having this as a flat list is not so nice.

After playing around with this a bit I came up with this layout. This makes it clearer that you have a set of displays and a set of views on each of them.

displays:
sRGB:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: srgb8}
DCIP3:
-!<View> {name: Raw, colorspace: nc10}
-!<View> {name: Log, colorspace: lg10}
-!<View> {name: Film, colorspace: p3dci8}
active_displays: [sRGB, DCIP3] # or active_devices:
active_views: [Film, Log, Raw]

You'll see that the default value is also explicitly specified now.
Under common circumstances, only the 1st value will be returned as
default, but a full search order is allowed for corner cases where
not all aliases are defined for all devices, or there are
OCIO_DEVICE_MASK specified that disallow particular device options.

The idea behind OCIO_DEVICE_MASK is that your config will contain the
master list of all devices in use on a show, but still allow the
flexibility (through the use of envvars) to control which an end user
sees. This allows for example, a facility to roll out code to make
sure the user only has the "sRGB" option on desktop machines. (Which
DLP connected machines may have all the options: sRGB, DCIP3, etc).
I think this is great!

.malcolm

-- Jeremy

On Sat, Jan 22, 2011 at 9:40 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
Hi,

Can you post an example profile with a few more display lines. The code for this looks fine, I'm just not too sure of the structure in the yaml and how clear the names device and alias are as terminology in this context.

eg, We have a mixture displays of different make and models and each of these I would call a device (we do group these into manageable sets and calibrate them to an 'ideal' device). I keep wanting to call these a 'target' or 'target-device'.

But I feel like I'm maybe missing something so an example would be good.

.malcolm

On 21/01/2011, at 10:01 AM, Jeremy Selan wrote:

Commit:
http://github.com/jeremyselan/OpenColorIO/commit/2ac16ae5e55949e297
e
d0d14baa585f04ff4d452

Issues:
https://github.com/imageworks/OpenColorIO/issues#issue/25
https://github.com/imageworks/OpenColorIO/issues#issue/21
https://github.com/imageworks/OpenColorIO/issues#issue/22

The API to get/set display devices has been updated. What previous
was 'TransformName' is now called a 'DisplayAlias', to minimize
confusion with new users. (The old Transforms has nothing to do
with OCIO::Transform, so this name was misleading). A new
environment variable is available, $OCIO_DEVICE_MASK, which allows
for optional runtime speicification of connected display devices.
The config format has been updated to reflect these modified names.
Also available are two new entries, device_defaults +
alias_defaults which allow for a specification of defaults for devices and alises.

This breaks compatibility with both the API and the .config format.

FYI, Pretty soon we hope to have a stable branch locked off!
We're going to be switching Imageworks this month to exclusively
use the public OCIO for all upcoming productions.

-- Jeremy



Malcolm Humphreys <malcolmh...@...>
 

I would think looks would be something separate from views.

Terminology we currently have:
- Transform - functions that transform RGBA data
- ReferenceSpace - a space that connects ColorSpaces
- ColorSpace - a meaningful space that can be transferred to and from the reference space
- Display - a virtual or physical display device
- View - a meaningful view of the reference space on a Display
- Role - abstract colorspace naming

I would say a Look is a meaningful group of Transforms that can be applied between the reference space and other transformations to create consistent creative styles.

.malcolm

On 26/01/2011, at 12:00 PM, Joseph Slomka wrote:

Would the 'view' terminology  be able to encompass your concept of looks? Id it does then I'm onboard
-Joseph

-----Original Message-----
From: ocio...@... [mailto:ocio...@...] On Behalf Of Jeremy Selan
Sent: Tuesday, January 25, 2011 4:54 PM
To: ocio...@...
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Oh, and have we agreed to use 'View' rather than 'Alias'?  I'm cool with that...

-- Jeremy

On Tue, Jan 25, 2011 at 4:51 PM, Jeremy Selan <jeremy...@...> wrote:
Would this syntax preserve Display order?  I think that's important.

-- Jeremy

displays:
  sRGB:
     -!<View> {name: Raw, colorspace: nc10}
     -!<View> {name: Log, colorspace: lg10}
     -!<View> {name: Film, colorspace: srgb8}
  DCIP3:
     -!<View> {name: Raw, colorspace: nc10}
     -!<View> {name: Log, colorspace: lg10}
     -!<View> {name: Film, colorspace: p3dci8}





Jeremy Selan <jeremy...@...>
 

I think that's a perfect description of all the terminology. I'm
thinking a glossary section (front page of webpage?, inside the FAQ?)
would be appropriate.

I'm thinking of naming the class that handles looks,
LookModificationTransform (LMT). This is the terminology the Academy
/ IIF is using, and it would be a nice fit to use the same terminology
inside OpenColorIO.

-- Jeremy

On Wed, Jan 26, 2011 at 11:01 PM, Malcolm Humphreys
<malcolmh...@mac.com> wrote:
I would think looks would be something separate from views.
Terminology we currently have:
- Transform - functions that transform RGBA data
- ReferenceSpace - a space that connects ColorSpaces
- ColorSpace - a meaningful space that can be transferred to and from the
reference space
- Display - a virtual or physical display device
- View - a meaningful view of the reference space on a Display
- Role - abstract colorspace naming
I would say a Look is a meaningful group of Transforms that can be applied
between the reference space and other transformations to create consistent
creative styles.
.malcolm
On 26/01/2011, at 12:00 PM, Joseph Slomka wrote:

Would the 'view' terminology  be able to encompass your concept of looks? Id
it does then I'm onboard
-Joseph

-----Original Message-----
From: ocio...@googlegroups.com [mailto:ocio...@googlegroups.com] On Behalf
Of Jeremy Selan
Sent: Tuesday, January 25, 2011 4:54 PM
To: ocio...@googlegroups.com
Subject: Re: [ocio-dev] Review: DisplayTransform interface update

Oh, and have we agreed to use 'View' rather than 'Alias'?  I'm cool with
that...

-- Jeremy

On Tue, Jan 25, 2011 at 4:51 PM, Jeremy Selan <jeremy...@gmail.com>
wrote:

Would this syntax preserve Display order?  I think that's important.

-- Jeremy

displays:

  sRGB:

     -!<View> {name: Raw, colorspace: nc10}

     -!<View> {name: Log, colorspace: lg10}

     -!<View> {name: Film, colorspace: srgb8}

  DCIP3:

     -!<View> {name: Raw, colorspace: nc10}

     -!<View> {name: Log, colorspace: lg10}

     -!<View> {name: Film, colorspace: p3dci8}





Jeremy Selan <jeremy...@...>
 

Here's an update that addresses all previous comments.
http://github.com/jeremyselan/OpenColorIO/commit/2b926355196bcd1690f9dd5a924c3d04ff24cd53

This commit updates the APIs to use our newer terminology + functionality:
- Display - a virtual or physical display device
- View - a meaningful view of the reference space on a Display

It also changes the .ocio config format:

displays:
DCIP3:
- !<View> {name: Raw, colorspace: nc10}
- !<View> {name: Log, colorspace: lg10}
- !<View> {name: Film, colorspace: p3dci8}
sRGB:
- !<View> {name: Raw, colorspace: nc10}
- !<View> {name: Log, colorspace: lg10}
- !<View> {name: Film, colorspace: srgb8}
Cheese:
- !<View> {name: Raw, colorspace: nc10}
- !<View> {name: Log, colorspace: lg10}
active_displays: [sRGB, DCIP3, Cheese]
active_views: [Film, Log, Raw]

(The old format is still allowed for backwards compatibility purposes.)

New environment variables are exposed:
$OCIO_ACTIVE_DISPLAYS
$OCIO_ACTIVE_VIEWS
which allow these lists to be pruned / prioritized at runtime.

Upon this commit being approved, I will put out updated configurations
that match this spec.

-- Jeremy


dbr/Ben <dbr....@...>
 

Looks good. I think the display/view terminology is much clearer/more descriptive

On 02/02/2011, at 8:18, Jeremy Selan <jeremy...@gmail.com> wrote:

Here's an update that addresses all previous comments.
http://github.com/jeremyselan/OpenColorIO/commit/2b926355196bcd1690f9dd5a924c3d04ff24cd53

This commit updates the APIs to use our newer terminology + functionality:
- Display - a virtual or physical display device
- View - a meaningful view of the reference space on a Display

It also changes the .ocio config format:

displays:
DCIP3:
- !<View> {name: Raw, colorspace: nc10}
- !<View> {name: Log, colorspace: lg10}
- !<View> {name: Film, colorspace: p3dci8}
sRGB:
- !<View> {name: Raw, colorspace: nc10}
- !<View> {name: Log, colorspace: lg10}
- !<View> {name: Film, colorspace: srgb8}
Cheese:
- !<View> {name: Raw, colorspace: nc10}
- !<View> {name: Log, colorspace: lg10}
active_displays: [sRGB, DCIP3, Cheese]
active_views: [Film, Log, Raw]

(The old format is still allowed for backwards compatibility purposes.)

New environment variables are exposed:
$OCIO_ACTIVE_DISPLAYS
$OCIO_ACTIVE_VIEWS
which allow these lists to be pruned / prioritized at runtime.

Upon this commit being approved, I will put out updated configurations
that match this spec.

-- Jeremy


Jeremy Selan <jeremy...@...>
 

Committed.

-- Jeremy

On Tue, Feb 1, 2011 at 2:37 PM, dbr/Ben <dbr....@gmail.com> wrote:
Looks good. I think the display/view terminology is much clearer/more descriptive