OpenTimelineIO icon indicating copy to clipboard operation
OpenTimelineIO copied to clipboard

pyside 6.2.4 not working for otioview

Open meshula opened this issue 2 years ago • 9 comments

Bug Report

otioview works if one does pip install pyside6==6.2.3 otioview does not work if one does pip install pyside6==6.2.4

the symptom is that the timeline does not render with 6.2.4, and the UI is unresponsive.

To Reproduce

  1. Operating System

macos 10.13 and greater x86_64, and M1

  1. Python version

verified under 3.9 and 3.10

meshula avatar Mar 22 '22 17:03 meshula

I was able to reproduce this bug on MacOS 12.6 with Python 3.8. It also happens with 6.3.0 installed over pip.

otioview works again with 6.3.1 from pip, but it breaks with an error message when using 6.3.2 from pip. That seems to be a separate issue, with the following error: IndexError: Signature "triggered()" not found for signal: "triggered". Available candidates: "triggered(QAction*)". I found a potential fix for 6.3.2 by updating the otioview code based on the error message, but that fix doesn't change the empty timeline behavior in PySide 6.2.4 or 6.3.0.

This seems to be a case of otioview hitting a bug or otherwise being incompatible with specific builds of PySide6. I'm not familiar enough with PySide6 to know what changes to that library are related.

alexanderhong avatar Oct 11 '22 00:10 alexanderhong

Thanks for the update.

meshula avatar Oct 11 '22 00:10 meshula

Hello all

I'm facing the same issue

Python 3.11.1
PySide6 6.4.2

I was also able to put otioviewer working on previous version

(otio-p37) $ python --version
Python 3.7.16
(otio-p37) $ pip list
Package            Version
------------------ -------
OpenTimelineIO     0.15.0
pip                23.0.1
pyaaf2             1.6.0
PySide6            6.3.1
PySide6-Addons     6.3.1
PySide6-Essentials 6.3.1
setuptools         62.6.0
shiboken6          6.3.1

waldirio avatar Mar 04 '23 17:03 waldirio

This is definitely a case where the assistance of a Qt or PySide expert would be needed. Beyond recommending an old PySide, or speculatively rewriting the timeline widget in hopes of dodging the problem through luck, I'm not sure how to move forward here. If anyone knows an expert please direct them to this issue.

meshula avatar Mar 04 '23 20:03 meshula

I'll also direct you, as a possibility, to our new project https://github.com/OpenTimelineIO/raven Written in C++ and on Dear ImGui, it's got a very high performance timeline render, and already does more than otioview.

meshula avatar Mar 04 '23 20:03 meshula

Hello,

Thank you @meshula, I'm trying it now and I'm getting some issues to build.

(otio-p37) [wpinheir@ironman build]$ cmake ..
-- Checking for module 'gtk+-3.0'
--   Package 'gtk+-3.0', required by 'virtual:world', not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:607 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:829 (_pkg_check_modules_internal)
  libs/CMakeLists.txt:6 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/home/wpinheir/code/raven/build/CMakeFiles/CMakeOutput.log".

I'll check it once I get back.

Thanks Waldirio

waldirio avatar Mar 11 '23 22:03 waldirio

@meshula

FYI https://github.com/OpenTimelineIO/raven/issues/9

waldirio avatar Mar 12 '23 03:03 waldirio

Glad to see you got raven building. I'm leaving this issue open since of course it would be good if things worked with pyside 6.2.4.

meshula avatar Mar 12 '23 22:03 meshula

Thanks for reporting this issue @meshula and @waldirio. I had IndexError: Signature "triggered()" not found for signal: "triggered". Available candidates: "triggered(QAction*)" too with PySide 6.6.0. Thanks to both of you I was able to run otioview. I thought I would share my pyproject.toml that I used to set up my Python virtual environment (I use pyenv and Poetry) since that could help other users:

[tool.poetry]
name = "opentimelineio-toolset"
version = "0.15.0"
description = "To be able to run otioview <https://github.com/AcademySoftwareFoundation/OpenTimelineIO/issues/1247>"
authors = ["Gwenaël Hagenmuller <https://github.com/gwenael-hagenmuller>"]

[tool.poetry.dependencies]
# PySide 6.3.1 requirements: "<3.11,>=3.6"
# opentimelineio 0.15.0 requirements: ">2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.9.0"
python = "<3.11,>=3.10" 


[tool.poetry.group.dev.dependencies]
pyside6 = "6.3.1"
opentimelineio = "0.15.0"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

gwenael-hagenmuller avatar Oct 18 '23 20:10 gwenael-hagenmuller