Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve ocioview mac support and simplify dependencies #1853

Merged
merged 4 commits into from
Oct 30, 2023

Conversation

remia
Copy link
Collaborator

@remia remia commented Sep 10, 2023

This is the branch I shared earlier with some fixes to make it launch on my version of mac OS. I'll leave that in Draft for the time being as there are still some rough edges and I haven't confirmed if this is due to my changes or just the current development state.

  • Migration to PySide6
  • Remove imath and use numpy instead
  • Make OIIO optional and use imageio if not found

To comment on last week TSC discussion, adding a "bookmark" with Ctrl+Number then toggling the current output at the top of the viewer does refresh the image correctly for me.

Note that I originally tried to run it with PySide2 but got stuck with errors like this one and gave up after some time as it seemed easier to just migrate on version 6 which just works out of the box.

Traceback (most recent call last):
  File "/Users/remi/ColorCode/OpenColorIO/src/apps/ocioview/main.py", line 13, in <module>
    from ocioview.main_window import OCIOView
  File "/Users/remi/ColorCode/OpenColorIO/src/apps/ocioview/ocioview/main_window.py", line 13, in <module>
    from .config_dock import ConfigDock
  File "/Users/remi/ColorCode/OpenColorIO/src/apps/ocioview/ocioview/config_dock.py", line 9, in <module>
    from .items import (
  File "/Users/remi/ColorCode/OpenColorIO/src/apps/ocioview/ocioview/items/__init__.py", line 4, in <module>
    from .color_space_edit import ColorSpaceEdit
  File "/Users/remi/ColorCode/OpenColorIO/src/apps/ocioview/ocioview/items/color_space_edit.py", line 12, in <module>
    from ..widgets import (
  File "/Users/remi/ColorCode/OpenColorIO/src/apps/ocioview/ocioview/widgets/__init__.py", line 15, in <module>
    from .list_widget import StringListWidget, ItemModelListWidget
  File "/Users/remi/ColorCode/OpenColorIO/src/apps/ocioview/ocioview/widgets/list_widget.py", line 10, in <module>
    from .item_view import BaseItemView
  File "/Users/remi/ColorCode/OpenColorIO/src/apps/ocioview/ocioview/widgets/item_view.py", line 14, in <module>
    class BaseItemView(QtWidgets.QFrame):
  File "/Users/remi/ColorCode/OpenColorIO/src/apps/ocioview/ocioview/widgets/item_view.py", line 24, in BaseItemView
    QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsSelectable
                                                         ^^^^^^
TypeError: 'PySide2.QtCore.Qt.ItemFlag' object cannot be interpreted as an integer

@KelSolaar
Copy link
Contributor

Moving to PySide 6 makes sense anyway, the VFX Reference Platform 2024 is on Qt 6.

@michdolan
Copy link
Collaborator

as there are still some rough edges and I haven't confirmed if this is due to my changes or just the current development state.

Any specific issues you are seeing?

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Oct 5, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: remia / name: Rémi Achard (b0b47d0, 86be306)
  • ✅ login: KelSolaar / name: Thomas Mansencal (99f7c07)
  • ✅ login: michdolan / name: Michael Dolan (c1fa6d7)

@remia
Copy link
Collaborator Author

remia commented Oct 5, 2023

Any specific issues you are seeing?

I took a look again today, using this branch (on a Windows workstation though). I realised I broke the pixel probe by adding the imageio support so fixed that in the new commit. I still see an issue with bookmarks switching: when assigning views from different displays (eg. ACES SDR from sRGB and Rec.2100), the switch don't work unless the display you want to switch to is selected in the right panel, hopefully that make sense? Otherwise it seems to work pretty well.

@michdolan
Copy link
Collaborator

@KelSolaar
Copy link
Contributor

The branch has been generally working for me, I think it would be useful to merge it so that we can move forward. We can fix problems as they come!

@remia remia force-pushed the ocioview-mac branch 2 times, most recently from 094dcf3 to 4f16b94 Compare October 27, 2023 10:05
Signed-off-by: Rémi Achard <[email protected]>

Remove Imath

Signed-off-by: Rémi Achard <[email protected]>

Support imageio as fallback for openimageio

Signed-off-by: Rémi Achard <[email protected]>

Further adjustments following latest updates

Signed-off-by: Rémi Achard <[email protected]>

Fix pixel probe

Signed-off-by: Remi Achard <[email protected]>

Add OpenColorIO to requirements

Signed-off-by: Remi Achard <[email protected]>
@remia
Copy link
Collaborator Author

remia commented Oct 27, 2023

This should be ready to merge, sorry about rebasing it may reset the review status of Github unfortunately.

Signed-off-by: Remi Achard <[email protected]>
Copy link
Contributor

@KelSolaar KelSolaar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, lets roll!

@michdolan michdolan merged commit 45544ce into AcademySoftwareFoundation:main Oct 30, 2023
23 checks passed
@KelSolaar
Copy link
Contributor

Nice!

@remia remia deleted the ocioview-mac branch November 16, 2023 09:20
doug-walker pushed a commit to autodesk-forks/OpenColorIO that referenced this pull request Dec 6, 2023
…reFoundation#1853)

* PySide 6, remove imath, add imageio support

Signed-off-by: Rémi Achard <[email protected]>

Remove Imath

Signed-off-by: Rémi Achard <[email protected]>

Support imageio as fallback for openimageio

Signed-off-by: Rémi Achard <[email protected]>

Further adjustments following latest updates

Signed-off-by: Rémi Achard <[email protected]>

Fix pixel probe

Signed-off-by: Remi Achard <[email protected]>

Add OpenColorIO to requirements

Signed-off-by: Remi Achard <[email protected]>

* Fix rebase issue

Signed-off-by: Remi Achard <[email protected]>

---------

Signed-off-by: Remi Achard <[email protected]>
Signed-off-by: Thomas Mansencal <[email protected]>
Signed-off-by: Michael Dolan <[email protected]>
Co-authored-by: Thomas Mansencal <[email protected]>
Co-authored-by: Michael Dolan <[email protected]>
Signed-off-by: Doug Walker <[email protected]>
doug-walker pushed a commit to autodesk-forks/OpenColorIO that referenced this pull request Dec 6, 2023
…reFoundation#1853)

* PySide 6, remove imath, add imageio support

Signed-off-by: Rémi Achard <[email protected]>

Remove Imath

Signed-off-by: Rémi Achard <[email protected]>

Support imageio as fallback for openimageio

Signed-off-by: Rémi Achard <[email protected]>

Further adjustments following latest updates

Signed-off-by: Rémi Achard <[email protected]>

Fix pixel probe

Signed-off-by: Remi Achard <[email protected]>

Add OpenColorIO to requirements

Signed-off-by: Remi Achard <[email protected]>

* Fix rebase issue

Signed-off-by: Remi Achard <[email protected]>

---------

Signed-off-by: Remi Achard <[email protected]>
Signed-off-by: Thomas Mansencal <[email protected]>
Signed-off-by: Michael Dolan <[email protected]>
Co-authored-by: Thomas Mansencal <[email protected]>
Co-authored-by: Michael Dolan <[email protected]>
(cherry picked from commit 45544ce)
Signed-off-by: Doug Walker <[email protected]>
doug-walker added a commit that referenced this pull request Dec 8, 2023
* Fix support for X86 32-bit (#1842)

Signed-off-by: Mark Reid <[email protected]>
(cherry picked from commit 16b3157)
Signed-off-by: Doug Walker <[email protected]>

* Add some small arm neon optimizations (#1847)

* Remove unused includes

Signed-off-by: Mark Reid <[email protected]>

* Use neon hardware support for f16 conversions

Signed-off-by: Mark Reid <[email protected]>

* Add some small neon optimizations
use blendv,floor and fma intrinsics were possible

Signed-off-by: Mark Reid <[email protected]>

---------

Signed-off-by: Mark Reid <[email protected]>
(cherry picked from commit 14f0afa)
Signed-off-by: Doug Walker <[email protected]>

* Add links to new release notes documentation (#1848)

Signed-off-by: Kevin Wheatley <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 87126fa)
Signed-off-by: Doug Walker <[email protected]>

* Changing version to 2.4.0 (#1852)

Signed-off-by: Cédrik Fuoco <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 381d1fc)
Signed-off-by: Doug Walker <[email protected]>

* Correctly recover CXX_FLAGS in CheckSupportSSE2.cmake (#1861)

Signed-off-by: Chongyun Lee <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit c429400)
Signed-off-by: Doug Walker <[email protected]>

* Fix regression in cccid handling when no value is supplied (#1855)

In v1 of OCIO FileTransforms are able to load .cc files
without specifying a cccid. In v2 this broke causing an
exception to be raised instead of using the first cc found
in the file.

Signed-off-by: Kevin Wheatley <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit c7ad353)
Signed-off-by: Doug Walker <[email protected]>

* Fix missing cache id reset on look update. (#1873)

Signed-off-by: Eric Renaud-Houde <[email protected]>
(cherry picked from commit dddbee0)
Signed-off-by: Doug Walker <[email protected]>

* ocioview: Curve Inspector improvements (#1845)

* Curve inspector improvements

- Move README to root app folder
- Change curve inspector grid to always render as a square with 10 segments.
- Add transform init callback to set new transform subscriptions to the current viewer if set to passthrough.

Signed-off-by: Michael Dolan <[email protected]>

* Improve log range calculation

Signed-off-by: Michael Dolan <[email protected]>

* Improve channel sample comparison

Signed-off-by: Michael Dolan <[email protected]>

* Update src/apps/ocioview/ocioview/inspect/curve_inspector.py

Signed-off-by: Michael Dolan <[email protected]>

Co-authored-by: Doug Walker <[email protected]>
Signed-off-by: Michael Dolan <[email protected]>

---------

Signed-off-by: Michael Dolan <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 8add374)
Signed-off-by: Doug Walker <[email protected]>

* Fix missing Default View Transform on equal operator (#1886)

Add the missing assignment of the the default view transform when a config is copied using the equal operator

Signed-off-by: Michael De Caria <[email protected]>
Signed-off-by: Doug Walker <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit bc8569b)
Signed-off-by: Doug Walker <[email protected]>

* Remove circular import caused by typing annotations. (#1882)

Signed-off-by: Thomas Mansencal <[email protected]>
Signed-off-by: Doug Walker <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 1fad466)
Signed-off-by: Doug Walker <[email protected]>

* fix(grammatical): Spelling mistakes (#1892)

Signed-off-by: AbhineshJha <[email protected]>
Signed-off-by: Doug Walker <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 0d00b2c)
Signed-off-by: Doug Walker <[email protected]>

* Improve ocioview mac support and simplify dependencies (#1853)

* PySide 6, remove imath, add imageio support

Signed-off-by: Rémi Achard <[email protected]>

Remove Imath

Signed-off-by: Rémi Achard <[email protected]>

Support imageio as fallback for openimageio

Signed-off-by: Rémi Achard <[email protected]>

Further adjustments following latest updates

Signed-off-by: Rémi Achard <[email protected]>

Fix pixel probe

Signed-off-by: Remi Achard <[email protected]>

Add OpenColorIO to requirements

Signed-off-by: Remi Achard <[email protected]>

* Fix rebase issue

Signed-off-by: Remi Achard <[email protected]>

---------

Signed-off-by: Remi Achard <[email protected]>
Signed-off-by: Thomas Mansencal <[email protected]>
Signed-off-by: Michael Dolan <[email protected]>
Co-authored-by: Thomas Mansencal <[email protected]>
Co-authored-by: Michael Dolan <[email protected]>
(cherry picked from commit 45544ce)
Signed-off-by: Doug Walker <[email protected]>

* Issue #1874 Cast to unsigned char for isspace. (#1888)

* Issue #1874 Cast to unsigned char for isspace.

Signed-off-by: pylee <[email protected]>

* Add unit test.

Signed-off-by: pylee <[email protected]>

* Add test comment as suggested in code review.

Signed-off-by: pylee <[email protected]>

---------

Signed-off-by: pylee <[email protected]>
Signed-off-by: Doug Walker <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit ed85207)
Signed-off-by: Doug Walker <[email protected]>

* Tentative fix for the doxygen installation in the CI (Windows) (#1890)

Signed-off-by: Cédrik Fuoco <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit b94a184)
Signed-off-by: Doug Walker <[email protected]>

* Simplify the Findyaml-cpp module (#1891)

This fixes compatibility with yaml-cpp 0.8, which previously failed
because of a `get_property` call with the wrong target name.
I took the liberty to add a few simplifications along the way.

Signed-off-by: Tobias Mayer <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 1d3b695)
Signed-off-by: Doug Walker <[email protected]>

* Skip processor concatenation if the display color space is also data. (#1896)

* Skip processor concatenation if the display view transform is also data.

Signed-off-by: Eric Renaud-Houde <[email protected]>

* Moved missing display color space exception before processor creation.

Signed-off-by: Eric Renaud-Houde <[email protected]>

---------

Signed-off-by: Eric Renaud-Houde <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 52b4965)
Signed-off-by: Doug Walker <[email protected]>

* Restore GPU workflow and minor updates to CI (#1899)

* Restore GPU workflow runs

Signed-off-by: Rémi Achard <[email protected]>

* Enable undefined behaviour sanitizer

Signed-off-by: Rémi Achard <[email protected]>

* Fix SIMD option for platform_latest

Signed-off-by: Rémi Achard <[email protected]>

* Fix install_docs_env on CI workflow (not used at the moment)

Signed-off-by: Rémi Achard <[email protected]>

* Fix OpenEXR build flag

Signed-off-by: Rémi Achard <[email protected]>

---------

Signed-off-by: Rémi Achard <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 382dcb6)
Signed-off-by: Doug Walker <[email protected]>

* Improve handling of pystring include dir (#1901)

Signed-off-by: Rémi Achard <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 9078753)
Signed-off-by: Doug Walker <[email protected]>

* Improve compatibility with minizip-ng COMPAT mode (#1902)

Signed-off-by: Rémi Achard <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit ffd0f70)
Signed-off-by: Doug Walker <[email protected]>

* Fix NamedTransform context var issue (#1905)

Signed-off-by: Doug Walker <[email protected]>
(cherry picked from commit 4d64b32)
Signed-off-by: Doug Walker <[email protected]>

* Fix env serialization for v1 configs (#1904)

Signed-off-by: Doug Walker <[email protected]>
(cherry picked from commit 4f4f30e)
Signed-off-by: Doug Walker <[email protected]>

* Fix yaml-cpp build issues (#1907)

Signed-off-by: Rémi Achard <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit 41441bb)
Signed-off-by: Doug Walker <[email protected]>

* Adsk Contrib - Improve heuristics for finding known color spaces (#1913)

* Improve heuristics

Signed-off-by: Doug Walker <[email protected]>

* Add some comments

Signed-off-by: Doug Walker <[email protected]>

---------

Signed-off-by: Doug Walker <[email protected]>
(cherry picked from commit d8852b5)
Signed-off-by: Doug Walker <[email protected]>

* Add Python 3.12 wheels (#1898)

Signed-off-by: Rémi Achard <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit f2cfec3)
Signed-off-by: Doug Walker <[email protected]>

* Increment library version to 2.3.1

Signed-off-by: Doug Walker <[email protected]>

* Fix wrong RPATH being injected into Python bindings DSO (#1849)

Signed-off-by: Kevin Wheatley <[email protected]>
Co-authored-by: Doug Walker <[email protected]>
(cherry picked from commit ba2b41e)
Signed-off-by: Doug Walker <[email protected]>

---------

Signed-off-by: Mark Reid <[email protected]>
Signed-off-by: Doug Walker <[email protected]>
Signed-off-by: Kevin Wheatley <[email protected]>
Signed-off-by: Cédrik Fuoco <[email protected]>
Signed-off-by: Chongyun Lee <[email protected]>
Signed-off-by: Eric Renaud-Houde <[email protected]>
Signed-off-by: Michael Dolan <[email protected]>
Signed-off-by: Michael De Caria <[email protected]>
Signed-off-by: Doug Walker <[email protected]>
Signed-off-by: Thomas Mansencal <[email protected]>
Signed-off-by: AbhineshJha <[email protected]>
Signed-off-by: Remi Achard <[email protected]>
Signed-off-by: pylee <[email protected]>
Signed-off-by: Tobias Mayer <[email protected]>
Signed-off-by: Rémi Achard <[email protected]>
Co-authored-by: Mark Reid <[email protected]>
Co-authored-by: Kevin Wheatley <[email protected]>
Co-authored-by: Cédrik Fuoco <[email protected]>
Co-authored-by: Uchiha Kakashi <[email protected]>
Co-authored-by: Éric Renaud-Houde <[email protected]>
Co-authored-by: Michael Dolan <[email protected]>
Co-authored-by: Michael De Caria <[email protected]>
Co-authored-by: Thomas Mansencal <[email protected]>
Co-authored-by: Abhinesh <[email protected]>
Co-authored-by: Rémi Achard <[email protected]>
Co-authored-by: PenneLee <[email protected]>
Co-authored-by: tobim <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants