Good point about the viewers. Thinking about it now, I wouldn't use the viewer-proc registration from the OCIO installation, as it'd be untweakable.. So, perhaps this would be more appropriate as part of the documentation, rather than something installed by default?
I've made some changes to the Sphinx docs which, among other things, mention the ocio_populate_viewer - shall write a separate "Review:" mail about this to keep things tidy.
Thanks for all the feedback! - Ben
toggle quoted message
Show quoted text
On 12/01/2011, at 10:58 AM, Jeremy Selan wrote: Done.
I've checked this into master, with a few changes: * Nuke_INSTALL_PATH is now NUKE_INSTALL_PATH (all caps)
I know the old value predates this checkin, but now that it's publicized I figure we should make it all caps to match all the other CMake configuration options.
* OCIO python module is now put in the global namespace, so it's available to other scripts (and the script panel).
* The ocio viewer mojo is not executed by default in menu.py. Users are free to call ocio_populate_menu() though at any time to run the code though.
-- Jeremy
On Tue, Jan 11, 2011 at 1:21 PM, Malcolm Humphreys <malcolmh...@...> wrote:
It all looks great other than the ocio_viewer as I would need to disable this for our install.
I think the nuke nodes should only be registered as part of the ocio project initialisation.
Viewer gizmo's are normally a per company/project configuration, maybe it would be better to include this as a separate example gizmo for people to copy in to their setup.
.malcolm
On 12/01/2011, at 6:07 AM, Jeremy Selan wrote:
Thanks for the commits!
Look great at first glance. (I'll run it all this afternoon to make sure it works multi-platform, etc). I like all the nuke cleanup, very sensible.
My one concern is I'm not convinced the pre-filled display nodes at startup are appropriate in menu.py. Your new code is an excellent example to point folks in the right direction, but it may a bit too overbearing to actually create instances for the user at startup. Would you expect the average facility to use the code, as written? Or, is this just an example which you would expect people to customize? Perhaps this function should be in a different file, which the user is encouraged to customize as needed?
You can link into the viewer's gain/gamma (just make an expression to Viewer1.gain, Viewer1.gamma), but there's no way to prevent nuke from applying the cc math when the sliders are moved. In the short term maybe the foundry could expose monitor options to disable the gain/gamma math? (In the long terms, there's potential to have nuke directly ship with builtin OCIO color management)
-- Jeremy
On Tue, Jan 11, 2011 at 4:28 AM, dbr/Ben <dbr....@...> wrote:
I've made a few minor changes, partly to familiarise myself with the code, partly to say thanks for open-sourcing this extremely useful project!
First change - there was a hardcoded Nuke path, which meant you couldn't do "cmake -D Nuke_INSTALL_PATH=/blah". Not sure if there's a reason this this was hardcoded, but it's a (trivially) nicer than using the env-variable:
https://github.com/dbr/OpenColorIO/commit/321625205caa1ad9a8735571f617a226493c6b44
Second a slightly less trivial - to support Python installations that use --exec-prefix to put arch-specific stuff in a separate directory - before it would fail to compile, complaining "pyconfig.h was not found" (I guess it's pretty uncommon to use --exec-prefix, as even PyQT had/has this issue..)
Tested on CentOS, with the exec-prefix'd Python, and OS X 10.6 with the default system Python, both worked work fine.
https://github.com/dbr/OpenColorIO/commit/131efac091419aaa9d7729ba7f330c241d75917f
Final two commits are to the init.py and menu.py - automagical loading/ menu'ing of the OCIO nodes, and a first attempt at registering OCIODisplay nodes as Nuke viewer processes.
It adds one process for every display and every transform (e.g "Film1D (sRGB)", "Log (sRGB)", "Film1D (P3)", "Log (P3)") - seemed like the most Nuke'ish solution given the limitations of the viewer customisation.
On that subject, I wonder if it's possible to somehow tie the viewer's exposure/gamma controls to the OCIODIsplay node.. I suspect not currently.
https://github.com/dbr/OpenColorIO/commit/0cdf665eba7bd9dbeadcb94d9d446a4424a81303 https://github.com/dbr/OpenColorIO/commit/8151eca9edf3acf027e2a60ea3857f2240af6461
As I said, nothing too exciting.. I'm hoping to integrate OCIO into the pipeline at work soon, so will almost certainly have more patches/ questions/feature-requests soon!
Oh, I've not signed a CLA yet - these changes seemed trivial enough for it not to be necessary, but I will do so soon. Let me know if this is a problem
Anyway, thanks again to everyone involved in this project! - Ben Dickson
|