From 241ff2697ea87318767bc53e805153b5ff2c7165 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Thu, 8 Apr 2021 16:41:03 +0200 Subject: [PATCH 01/94] Dockerfile to build OpenPype using docker --- .dockerignore | 143 ++++++++++++++++++++++++++++++++++++ Dockerfile | 64 ++++++++++++++++ tools/build.ps1 | 18 +++-- tools/build.sh | 18 +++-- tools/create_env.ps1 | 20 +++-- tools/create_env.sh | 20 +++-- tools/create_zip.ps1 | 18 +++-- tools/create_zip.sh | 18 +++-- tools/docker_build.sh | 31 ++++++++ tools/make_docs.ps1 | 19 +++-- tools/make_docs.sh | 19 +++-- tools/run_mongo.ps1 | 18 +++-- tools/run_mongo.sh | 18 +++-- tools/run_settings.sh | 70 ++++-------------- tools/run_tests.ps1 | 18 +++-- tools/run_tests.sh | 18 +++-- tools/run_tray.sh | 66 ----------------- tools/update_submodules.ps1 | 18 +++-- tools/update_submodules.sh | 17 ++++- 19 files changed, 437 insertions(+), 194 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 tools/docker_build.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000..c48c47562e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,143 @@ +# Created by .ignore support plugin (hsz.mobi) +### Python template +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +vendor/bin +docs/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..2499b26278 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,64 @@ +# Build Pype docker image +FROM centos:7 AS builder +ARG OPENPYPE_PYTHON_VERSION=3.7.10 + +LABEL org.opencontainers.image.name="pypeclub/openpype" +LABEL org.opencontainers.image.title="OpenPype Docker Image" +LABEL org.opencontainers.image.url="https://openpype.io/" +LABEL org.opencontainers.image.source="https://github.com/pypeclub/pype" + +USER root + +RUN yum -y update \ + && yum -y install epel-release centos-release-scl \ + && yum -y install \ + bash \ + which \ + git \ + devtoolset-7-gcc* \ + make \ + cmake \ + curl \ + wget \ + gcc \ + zlib-devel \ + bzip2 \ + bzip2-devel \ + readline-devel \ + sqlite sqlite-devel \ + openssl-devel \ + tk-devel libffi-devel \ + qt5-qtbase-devel \ + && yum clean all + +RUN mkdir /opt/openpype +RUN useradd -m pype +RUN chown pype /opt/openpype +USER pype + +RUN curl https://pyenv.run | bash +ENV PYTHON_CONFIGURE_OPTS --enable-shared + +RUN echo 'export PATH="$HOME/.pyenv/bin:$PATH"'>> $HOME/.bashrc \ + && echo 'eval "$(pyenv init -)"' >> $HOME/.bashrc \ + && echo 'eval "$(pyenv virtualenv-init -)"' >> $HOME/.bashrc +RUN cat $HOME/.bashrc && source $HOME/.bashrc && pyenv install ${OPENPYPE_PYTHON_VERSION} + +COPY . /opt/openpype/ +USER root +RUN chown -R pype /opt/openpype +RUN chmod +x /opt/openpype/tools/create_env.sh && chmod +x /opt/openpype/tools/build.sh + +USER pype + +WORKDIR /opt/openpype + +RUN cd /opt/openpype \ + && source $HOME/.bashrc \ + && pyenv local ${OPENPYPE_PYTHON_VERSION} + +RUN source $HOME/.bashrc \ + && ./tools/create_env.sh + +RUN source $HOME/.bashrc \ + && bash ./tools/build.sh diff --git a/tools/build.ps1 b/tools/build.ps1 index 412bb111c1..783e531b83 100644 --- a/tools/build.ps1 +++ b/tools/build.ps1 @@ -76,11 +76,19 @@ function Install-Poetry() { $art = @" -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · "@ diff --git a/tools/build.sh b/tools/build.sh index b95e2969c4..68934f82a3 100755 --- a/tools/build.sh +++ b/tools/build.sh @@ -6,11 +6,19 @@ art () { cat <<-EOF -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · EOF } diff --git a/tools/create_env.ps1 b/tools/create_env.ps1 index 44e1799be8..7732576176 100644 --- a/tools/create_env.ps1 +++ b/tools/create_env.ps1 @@ -88,11 +88,21 @@ Set-Location -Path $openpype_root $art = @" -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · + "@ diff --git a/tools/create_env.sh b/tools/create_env.sh index 7bdb8503fd..34f9b5af0f 100755 --- a/tools/create_env.sh +++ b/tools/create_env.sh @@ -7,11 +7,19 @@ art () { cat <<-EOF -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · EOF } @@ -169,7 +177,7 @@ main () { # cx_freeze will crash on missing __pychache__ on these but # reinstalling them solves the problem. echo -e "${BIGreen}>>>${RST} Fixing pycache bug ..." - poetry run python -m pip install --upgrade pip + poetry run python -m pip install --force-reinstall pip poetry run pip install --force-reinstall setuptools poetry run pip install --force-reinstall wheel poetry run python -m pip install --force-reinstall pip diff --git a/tools/create_zip.ps1 b/tools/create_zip.ps1 index d18806c40b..466c5315dd 100644 --- a/tools/create_zip.ps1 +++ b/tools/create_zip.ps1 @@ -41,11 +41,19 @@ Set-Location -Path $openpype_root $art = @" -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · "@ diff --git a/tools/create_zip.sh b/tools/create_zip.sh index 6e7f792f1d..044d2ab67d 100755 --- a/tools/create_zip.sh +++ b/tools/create_zip.sh @@ -8,11 +8,19 @@ art () { cat <<-EOF -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · EOF } diff --git a/tools/docker_build.sh b/tools/docker_build.sh new file mode 100644 index 0000000000..d64ca9b60e --- /dev/null +++ b/tools/docker_build.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +############################################################################## +# Return absolute path +# Globals: +# None +# Arguments: +# Path to resolve +# Returns: +# None +############################################################################### +realpath () { + echo $(cd $(dirname "$1"); pwd)/$(basename "$1") +} + +# Main +main () { + # Directories + + openpype_root=$(realpath $(dirname $(dirname "${BASH_SOURCE[0]}"))) + pushd "$openpype_root" > /dev/null || return > /dev/null + + version_command="import os;exec(open(os.path.join('$openpype_root', 'openpype', 'version.py')).read());print(__version__);" + openpype_version="$(python3 <<< ${version_command})" + + docker build -t pypeclub/openpype:$openpype_version . + id="$(docker create pypeclub/openpype:$openpype_version)" + docker cp "$id:/opt/openpype/build.linux-x86-64-3.7" "$openpype_root/build" +} + +main diff --git a/tools/make_docs.ps1 b/tools/make_docs.ps1 index aa526bbdc9..d72005f230 100644 --- a/tools/make_docs.ps1 +++ b/tools/make_docs.ps1 @@ -21,12 +21,19 @@ Set-Location -Path $openpype_root $art = @" - -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · "@ diff --git a/tools/make_docs.sh b/tools/make_docs.sh index 2ac12d3d95..bb2bbbfb83 100755 --- a/tools/make_docs.sh +++ b/tools/make_docs.sh @@ -7,11 +7,20 @@ art () { cat <<-EOF -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · + EOF } diff --git a/tools/run_mongo.ps1 b/tools/run_mongo.ps1 index 7e43a355e5..05fc497d34 100644 --- a/tools/run_mongo.ps1 +++ b/tools/run_mongo.ps1 @@ -13,11 +13,19 @@ PS> .\run_mongo.ps1 $art = @" -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · "@ diff --git a/tools/run_mongo.sh b/tools/run_mongo.sh index 1c788abcaf..15bff62b35 100755 --- a/tools/run_mongo.sh +++ b/tools/run_mongo.sh @@ -7,11 +7,19 @@ art () { cat <<-EOF -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · EOF } diff --git a/tools/run_settings.sh b/tools/run_settings.sh index 0c8a951d7c..aae5afdd96 100755 --- a/tools/run_settings.sh +++ b/tools/run_settings.sh @@ -6,11 +6,19 @@ art () { cat <<-EOF -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · EOF } @@ -49,53 +57,6 @@ BIPurple='\033[1;95m' # Purple BICyan='\033[1;96m' # Cyan BIWhite='\033[1;97m' # White - -############################################################################## -# Detect required version of python -# Globals: -# colors -# PYTHON -# Arguments: -# None -# Returns: -# None -############################################################################### -detect_python () { - echo -e "${BIGreen}>>>${RST} Using python \c" - local version_command="import sys;print('{0}.{1}'.format(sys.version_info[0], sys.version_info[1]))" - local python_version="$(python3 <<< ${version_command})" - oIFS="$IFS" - IFS=. - set -- $python_version - IFS="$oIFS" - if [ "$1" -ge "3" ] && [ "$2" -ge "6" ] ; then - if [ "$2" -gt "7" ] ; then - echo -e "${BIWhite}[${RST} ${BIRed}$1.$2 ${BIWhite}]${RST} - ${BIRed}FAILED${RST} ${BIYellow}Version is new and unsupported, use${RST} ${BIPurple}3.7.x${RST}"; return 1; - else - echo -e "${BIWhite}[${RST} ${BIGreen}$1.$2${RST} ${BIWhite}]${RST}" - fi - else - command -v python3 >/dev/null 2>&1 || { echo -e "${BIRed}$1.$2$ - ${BIRed}FAILED${RST} ${BIYellow}Version is old and unsupported${RST}"; return 1; } - fi -} - -############################################################################## -# Clean pyc files in specified directory -# Globals: -# None -# Arguments: -# Optional path to clean -# Returns: -# None -############################################################################### -clean_pyc () { - local path - path=$oepnpype_root - echo -e "${BIGreen}>>>${RST} Cleaning pyc at [ ${BIWhite}$path${RST} ] ... \c" - find "$path" -regex '^.*\(__pycache__\|\.py[co]\)$' -delete - echo -e "${BIGreen}DONE${RST}" -} - ############################################################################## # Return absolute path # Globals: @@ -111,11 +72,6 @@ realpath () { # Main main () { - echo -e "${BGreen}" - art - echo -e "${RST}" - detect_python || return 1 - # Directories openpype_root=$(realpath $(dirname $(dirname "${BASH_SOURCE[0]}"))) pushd "$openpype_root" > /dev/null || return > /dev/null diff --git a/tools/run_tests.ps1 b/tools/run_tests.ps1 index 5070591c02..5a55f7acc7 100644 --- a/tools/run_tests.ps1 +++ b/tools/run_tests.ps1 @@ -32,11 +32,19 @@ function Show-PSWarning() { $art = @" -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · "@ diff --git a/tools/run_tests.sh b/tools/run_tests.sh index 0af052ca01..94deb1e065 100755 --- a/tools/run_tests.sh +++ b/tools/run_tests.sh @@ -6,11 +6,19 @@ art () { cat <<-EOF -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · EOF } diff --git a/tools/run_tray.sh b/tools/run_tray.sh index 8174f7e38a..d39920efb8 100755 --- a/tools/run_tray.sh +++ b/tools/run_tray.sh @@ -1,20 +1,6 @@ #!/usr/bin/env bash - # Run OpenPype Tray - -art () { - cat <<-EOF - -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io - -EOF -} - # Colors for terminal RST='\033[0m' # Text Reset @@ -50,53 +36,6 @@ BICyan='\033[1;96m' # Cyan BIWhite='\033[1;97m' # White -############################################################################## -# Detect required version of python -# Globals: -# colors -# PYTHON -# Arguments: -# None -# Returns: -# None -############################################################################### -detect_python () { - echo -e "${BIGreen}>>>${RST} Using python \c" - local version_command="import sys;print('{0}.{1}'.format(sys.version_info[0], sys.version_info[1]))" - local python_version="$(python3 <<< ${version_command})" - oIFS="$IFS" - IFS=. - set -- $python_version - IFS="$oIFS" - if [ "$1" -ge "3" ] && [ "$2" -ge "6" ] ; then - if [ "$2" -gt "7" ] ; then - echo -e "${BIWhite}[${RST} ${BIRed}$1.$2 ${BIWhite}]${RST} - ${BIRed}FAILED${RST} ${BIYellow}Version is new and unsupported, use${RST} ${BIPurple}3.7.x${RST}"; return 1; - else - echo -e "${BIWhite}[${RST} ${BIGreen}$1.$2${RST} ${BIWhite}]${RST}" - fi - PYTHON="python3" - else - command -v python3 >/dev/null 2>&1 || { echo -e "${BIRed}$1.$2$ - ${BIRed}FAILED${RST} ${BIYellow}Version is old and unsupported${RST}"; return 1; } - fi -} - -############################################################################## -# Clean pyc files in specified directory -# Globals: -# None -# Arguments: -# Optional path to clean -# Returns: -# None -############################################################################### -clean_pyc () { - local path - path=$openpype_root - echo -e "${BIGreen}>>>${RST} Cleaning pyc at [ ${BIWhite}$path${RST} ] ... \c" - find "$path" -regex '^.*\(__pycache__\|\.py[co]\)$' -delete - echo -e "${BIGreen}DONE${RST}" -} - ############################################################################## # Return absolute path # Globals: @@ -112,11 +51,6 @@ realpath () { # Main main () { - echo -e "${BGreen}" - art - echo -e "${RST}" - detect_python || return 1 - # Directories openpype_root=$(realpath $(dirname $(dirname "${BASH_SOURCE[0]}"))) pushd "$openpype_root" > /dev/null || return > /dev/null diff --git a/tools/update_submodules.ps1 b/tools/update_submodules.ps1 index d0f93d9f7e..8ecc278510 100644 --- a/tools/update_submodules.ps1 +++ b/tools/update_submodules.ps1 @@ -10,11 +10,19 @@ PS> .\update_submodules.ps1 $art = @" -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. - https://openpype.io + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · "@ diff --git a/tools/update_submodules.sh b/tools/update_submodules.sh index 465827bfbb..49a3d08afb 100644 --- a/tools/update_submodules.sh +++ b/tools/update_submodules.sh @@ -6,10 +6,19 @@ art () { cat <<-EOF -▒█▀▀▀█ █▀▀█ █▀▀ █▀▀▄ ▒█▀▀█ █░░█ █▀▀█ █▀▀ ▀█▀ ▀█▀ ▀█▀ -▒█░░▒█ █░░█ █▀▀ █░░█ ▒█▄▄█ █▄▄█ █░░█ █▀▀ ▒█░ ▒█░ ▒█░ -▒█▄▄▄█ █▀▀▀ ▀▀▀ ▀░░▀ ▒█░░░ ▄▄▄█ █▀▀▀ ▀▀▀ ▄█▄ ▄█▄ ▄█▄ - .---= [ by Pype Club ] =---. + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · EOF } From a2b8ee03cf541a62c34de01b0ea36d8adbec4bf8 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Thu, 8 Apr 2021 17:15:56 +0200 Subject: [PATCH 02/94] updated docs --- website/docs/dev_build.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/website/docs/dev_build.md b/website/docs/dev_build.md index 9523035705..114c896f44 100644 --- a/website/docs/dev_build.md +++ b/website/docs/dev_build.md @@ -1,6 +1,6 @@ --- id: dev_build -title: Build openPYPE from source +title: Build OpenPYPE from source sidebar_label: Build --- @@ -45,12 +45,12 @@ To start OpenPype from source you need to 2) Run `.\tools\run_tray.ps1` if you have all required dependencies on your machine you should be greeted with OpenPype igniter window and once you give it your Mongo URL, with OpenPype icon in the system tray. -### To build openPype: +### To build OpenPype: 1) Run `.\tools\create_env.ps1` to create virtual environment in `.\venv` 2) Run `.\tools\build.ps1` to build pype executables in `.\build\` -To create distributable openPype versions, run `./tools/create_zip.ps1` - that will +To create distributable OpenPype versions, run `./tools/create_zip.ps1` - that will create zip file with name `pype-vx.x.x.zip` parsed from current pype repository and copy it to user data dir. You can specify `--path /path/to/zip` to force it into a different location. This can be used to prepare new version releases for artists in the studio environment @@ -61,7 +61,17 @@ without the need to re-build the whole package -To build pype on linux you wil need: +#### Docker +You can use Docker to build OpenPype. Just run: +```sh +sudo ./tools/docker_build.sh +``` +and you should have built OpenPype in `build` directory. It is using **Centos 7** +as a base image. + + +#### Manual build +To build OpenPype on Linux you wil need: - **[curl](https://curl.se)** on systems that doesn't have one preinstalled. - Python header files installed (**python3-dev** on Ubuntu for example). @@ -143,7 +153,7 @@ pyenv local 3.7.9 To build pype on MacOS you wil need: - **[Homebrew](https://brew.sh)**, Easy way of installing everything necessary is to use. -- **[CMake](https://cmake.org/)** to build some external openPype dependencies. +- **[CMake](https://cmake.org/)** to build some external OpenPype dependencies. - **XCode Command Line Tools** (or some other build system) 1) Install **Homebrew**: From 29bc94dd8ec09b2a04f68bafbdeb037826556f18 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Thu, 8 Apr 2021 17:23:19 +0200 Subject: [PATCH 03/94] pull command in docs --- website/docs/dev_build.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/website/docs/dev_build.md b/website/docs/dev_build.md index 114c896f44..368388a1c0 100644 --- a/website/docs/dev_build.md +++ b/website/docs/dev_build.md @@ -69,6 +69,11 @@ sudo ./tools/docker_build.sh and you should have built OpenPype in `build` directory. It is using **Centos 7** as a base image. +You can pull the image: + +```sh +docker pull pypeclub/openpype:latest +``` #### Manual build To build OpenPype on Linux you wil need: From 9b9ee210ec731dd559c82733aabc967f10b9316a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Samohel?= <33513211+antirotor@users.noreply.github.com> Date: Wed, 14 Apr 2021 10:29:21 +0200 Subject: [PATCH 04/94] remove latest tag on docker image update docker tags info --- website/docs/dev_build.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/docs/dev_build.md b/website/docs/dev_build.md index 368388a1c0..14efeaa850 100644 --- a/website/docs/dev_build.md +++ b/website/docs/dev_build.md @@ -72,8 +72,10 @@ as a base image. You can pull the image: ```sh -docker pull pypeclub/openpype:latest +# replace 3.0.0 tag with version you want +docker pull pypeclub/openpype:3.0.0 ``` +See https://hub.docker.com/r/pypeclub/openpype/tag for more. #### Manual build To build OpenPype on Linux you wil need: From c2a1017c1da5875967dd51f8596cbab9336954f3 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 27 Apr 2021 17:02:12 +0200 Subject: [PATCH 05/94] PS - all published instances could be grouped with a task name Subset in a group will show up together in Loader --- .../hosts/photoshop/plugins/publish/collect_instances.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/openpype/hosts/photoshop/plugins/publish/collect_instances.py b/openpype/hosts/photoshop/plugins/publish/collect_instances.py index 5390df768b..6acf961d7d 100644 --- a/openpype/hosts/photoshop/plugins/publish/collect_instances.py +++ b/openpype/hosts/photoshop/plugins/publish/collect_instances.py @@ -1,3 +1,4 @@ +import os import pyblish.api from avalon import photoshop @@ -19,6 +20,8 @@ class CollectInstances(pyblish.api.ContextPlugin): families_mapping = { "image": [] } + # True will add all instances to same group in Loader + group_by_task_name = False def process(self, context): stub = photoshop.stub() @@ -49,6 +52,12 @@ class CollectInstances(pyblish.api.ContextPlugin): layer_data["family"] ] instance.data["publish"] = layer.visible + + if self.group_by_task_name: + task = os.getenv("AVALON_TASK", None) + sanitized_task_name = task[0].upper() + task[1:] + instance.data["subsetGroup"] = sanitized_task_name + instance_names.append(layer_data["subset"]) # Produce diagnostic message for any graphical From c9006c3f819de8afa89121e34a89980a0ecb0d9c Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 27 Apr 2021 17:07:42 +0200 Subject: [PATCH 06/94] PS - task name pulled from avalon.api instead of env --- openpype/hosts/photoshop/plugins/publish/collect_instances.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openpype/hosts/photoshop/plugins/publish/collect_instances.py b/openpype/hosts/photoshop/plugins/publish/collect_instances.py index 6acf961d7d..37d0592d51 100644 --- a/openpype/hosts/photoshop/plugins/publish/collect_instances.py +++ b/openpype/hosts/photoshop/plugins/publish/collect_instances.py @@ -1,5 +1,5 @@ -import os import pyblish.api +import avalon.api from avalon import photoshop @@ -54,7 +54,7 @@ class CollectInstances(pyblish.api.ContextPlugin): instance.data["publish"] = layer.visible if self.group_by_task_name: - task = os.getenv("AVALON_TASK", None) + task = avalon.api.Session["AVALON_TASK"] sanitized_task_name = task[0].upper() + task[1:] instance.data["subsetGroup"] = sanitized_task_name From 0f57e21f8b0812237a45554fb797110811a155a6 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 29 Apr 2021 15:23:09 +0200 Subject: [PATCH 07/94] PS subset grouping - added to schema and defaults --- .../defaults/project_settings/global.json | 10 ++++- .../schemas/schema_global_publish.json | 37 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/openpype/settings/defaults/project_settings/global.json b/openpype/settings/defaults/project_settings/global.json index 61db35ba79..ec67ca1654 100644 --- a/openpype/settings/defaults/project_settings/global.json +++ b/openpype/settings/defaults/project_settings/global.json @@ -109,7 +109,15 @@ "prerender" ] } - } + }, + "subset_grouping_profiles": [ + { + "families": [], + "hosts": ["photoshop"], + "tasks": [], + "template": "{Task}" + } + ] }, "ProcessSubmittedJobOnFarm": { "enabled": true, diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json index 1bd028ac79..2150ee57f2 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json @@ -416,6 +416,43 @@ "type": "raw-json", "key": "template_name_profiles", "label": "template_name_profiles" + }, + { + "type": "list", + "key": "subset_grouping_profiles", + "label": "Subset grouping profiles", + "use_label_wrap": true, + "object_type": { + "type": "dict", + "children": [ + { + "key": "families", + "label": "Families", + "type": "list", + "object_type": "text" + }, + { + "key": "hosts", + "label": "Hosts", + "type": "list", + "object_type": "text" + }, + { + "key": "tasks", + "label": "Task names", + "type": "list", + "object_type": "text" + }, + { + "type": "separator" + }, + { + "type": "text", + "key": "template", + "label": "Template" + } + ] + } } ] }, From f75fd3c139ca9de007e81863b2f6711fac4bc6ff Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 29 Apr 2021 17:24:22 +0200 Subject: [PATCH 08/94] PS subset grouping - added resolving subsetGroup from Setting's profiles --- openpype/plugins/publish/integrate_new.py | 66 ++++++++++++++++++++--- 1 file changed, 58 insertions(+), 8 deletions(-) diff --git a/openpype/plugins/publish/integrate_new.py b/openpype/plugins/publish/integrate_new.py index ab9b85983b..a05811b0a6 100644 --- a/openpype/plugins/publish/integrate_new.py +++ b/openpype/plugins/publish/integrate_new.py @@ -16,6 +16,7 @@ from avalon.vendor import filelink import openpype.api from datetime import datetime # from pype.modules import ModulesManager +from openpype.lib.profiles_filtering import filter_profiles # this is needed until speedcopy for linux is fixed if sys.platform == "win32": @@ -697,14 +698,7 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): subset = io.find_one({"_id": _id}) - # add group if available - if instance.data.get("subsetGroup"): - io.update_many({ - 'type': 'subset', - '_id': io.ObjectId(subset["_id"]) - }, {'$set': {'data.subsetGroup': - instance.data.get('subsetGroup')}} - ) + self._set_subset_group(instance, subset["_id"]) # Update families on subset. families = [instance.data["family"]] @@ -716,6 +710,62 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): return subset + def _set_subset_group(self, instance, subset_id): + """ + Mark subset as belonging to group in DB. + + Uses Settings > Global > Publish plugins > IntegrateAssetNew + + Args: + instance (dict): processed instance + subset_id (str): DB's subset _id + + """ + # add group if available + integrate_new_sett = (instance.context.data["project_settings"] + ["global"] + ["publish"] + ["IntegrateAssetNew"]) + + profiles = integrate_new_sett["subset_grouping_profiles"] + + filtering_criteria = { + "families": instance.data["anatomyData"]["family"], + "hosts": instance.data["anatomyData"]["app"], + "tasks": instance.data["anatomyData"]["task"] or + io.Session["AVALON_TASK"] + } + matching_profile = filter_profiles(profiles, filtering_criteria) + + filled_template = None + fill_pairs = None + if matching_profile: + template = matching_profile["template"] + fill_pairs = { + "family": filtering_criteria["families"], + "task": filtering_criteria["tasks"], + "Family": filtering_criteria["families"].capitalize(), + "Task": filtering_criteria["tasks"].capitalize() + } + filled_template = template.format(**fill_pairs) + + if instance.data.get("subsetGroup") or filled_template: + subset_group = instance.data.get('subsetGroup') or filled_template + + if '{' in subset_group: # some unfilled keys + keys = [] + if fill_pairs: + keys = [item[0] for item in fill_pairs] + msg = "Subset grouping failed. " \ + "Only {} are expected in Settings".format(','.join(keys)) + raise ValueError(msg) + + io.update_many({ + 'type': 'subset', + '_id': io.ObjectId(subset_id) + }, {'$set': {'data.subsetGroup': subset_group}} + ) + def create_version(self, subset, version_number, data=None): """ Copy given source to destination From 47cec33e62508b7e41961c2a4dd5c22c8d28ef28 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 29 Apr 2021 17:26:23 +0200 Subject: [PATCH 09/94] PS subset grouping - reverted back implementation in collect_instances.py --- .../hosts/photoshop/plugins/publish/collect_instances.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/openpype/hosts/photoshop/plugins/publish/collect_instances.py b/openpype/hosts/photoshop/plugins/publish/collect_instances.py index 37d0592d51..5390df768b 100644 --- a/openpype/hosts/photoshop/plugins/publish/collect_instances.py +++ b/openpype/hosts/photoshop/plugins/publish/collect_instances.py @@ -1,5 +1,4 @@ import pyblish.api -import avalon.api from avalon import photoshop @@ -20,8 +19,6 @@ class CollectInstances(pyblish.api.ContextPlugin): families_mapping = { "image": [] } - # True will add all instances to same group in Loader - group_by_task_name = False def process(self, context): stub = photoshop.stub() @@ -52,12 +49,6 @@ class CollectInstances(pyblish.api.ContextPlugin): layer_data["family"] ] instance.data["publish"] = layer.visible - - if self.group_by_task_name: - task = avalon.api.Session["AVALON_TASK"] - sanitized_task_name = task[0].upper() + task[1:] - instance.data["subsetGroup"] = sanitized_task_name - instance_names.append(layer_data["subset"]) # Produce diagnostic message for any graphical From df9b15a59d811656090cb54391a0d612f9e92a3a Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 29 Apr 2021 17:46:36 +0200 Subject: [PATCH 10/94] PS subset grouping - wrong placeholders throw only warning Instance is not marked as in group --- openpype/plugins/publish/integrate_new.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/openpype/plugins/publish/integrate_new.py b/openpype/plugins/publish/integrate_new.py index a05811b0a6..26da19baa2 100644 --- a/openpype/plugins/publish/integrate_new.py +++ b/openpype/plugins/publish/integrate_new.py @@ -747,19 +747,20 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): "Family": filtering_criteria["families"].capitalize(), "Task": filtering_criteria["tasks"].capitalize() } - filled_template = template.format(**fill_pairs) + try: + filled_template = template.format(**fill_pairs) + except KeyError: + keys = [] + if fill_pairs: + keys = fill_pairs.keys() + + msg = "Subset grouping failed. " \ + "Only {} are expected in Settings".format(','.join(keys)) + self.log.warning(msg) if instance.data.get("subsetGroup") or filled_template: subset_group = instance.data.get('subsetGroup') or filled_template - if '{' in subset_group: # some unfilled keys - keys = [] - if fill_pairs: - keys = [item[0] for item in fill_pairs] - msg = "Subset grouping failed. " \ - "Only {} are expected in Settings".format(','.join(keys)) - raise ValueError(msg) - io.update_many({ 'type': 'subset', '_id': io.ObjectId(subset_id) From b7743757ce714aa5188e77a8b6c87d12bd3cd72c Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 29 Apr 2021 17:51:21 +0200 Subject: [PATCH 11/94] PS subset grouping - changed defaults, added label --- openpype/settings/defaults/project_settings/global.json | 4 ++-- .../projects_schema/schemas/schema_global_publish.json | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/openpype/settings/defaults/project_settings/global.json b/openpype/settings/defaults/project_settings/global.json index ec67ca1654..ed61878854 100644 --- a/openpype/settings/defaults/project_settings/global.json +++ b/openpype/settings/defaults/project_settings/global.json @@ -113,9 +113,9 @@ "subset_grouping_profiles": [ { "families": [], - "hosts": ["photoshop"], + "hosts": [], "tasks": [], - "template": "{Task}" + "template": "" } ] }, diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json index 2150ee57f2..5c8b339a1f 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json @@ -425,6 +425,10 @@ "object_type": { "type": "dict", "children": [ + { + "type": "label", + "label": "Set all published instances as a part of specific group named according to 'Template'.
Implemented placeholders [{task},{Task},{family},{Family}]" + }, { "key": "families", "label": "Families", From 53b737949b90ec9a08be3946e8677c3e98c1aeb7 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 29 Apr 2021 17:55:12 +0200 Subject: [PATCH 12/94] Hound --- openpype/plugins/publish/integrate_new.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/openpype/plugins/publish/integrate_new.py b/openpype/plugins/publish/integrate_new.py index 26da19baa2..f74325fe09 100644 --- a/openpype/plugins/publish/integrate_new.py +++ b/openpype/plugins/publish/integrate_new.py @@ -733,7 +733,7 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): "families": instance.data["anatomyData"]["family"], "hosts": instance.data["anatomyData"]["app"], "tasks": instance.data["anatomyData"]["task"] or - io.Session["AVALON_TASK"] + io.Session["AVALON_TASK"] } matching_profile = filter_profiles(profiles, filtering_criteria) @@ -743,7 +743,7 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): template = matching_profile["template"] fill_pairs = { "family": filtering_criteria["families"], - "task": filtering_criteria["tasks"], + "task": filtering_criteria["tasks"], "Family": filtering_criteria["families"].capitalize(), "Task": filtering_criteria["tasks"].capitalize() } @@ -762,10 +762,9 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): subset_group = instance.data.get('subsetGroup') or filled_template io.update_many({ - 'type': 'subset', - '_id': io.ObjectId(subset_id) - }, {'$set': {'data.subsetGroup': subset_group}} - ) + 'type': 'subset', + '_id': io.ObjectId(subset_id) + }, {'$set': {'data.subsetGroup': subset_group}}) def create_version(self, subset, version_number, data=None): """ Copy given source to destination From a294665ec63ab19a2be42288aff45f3326bde435 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 29 Apr 2021 19:14:11 +0200 Subject: [PATCH 13/94] SyncServer - handle if globally enabled, but no projects --- .../modules/sync_server/sync_server_module.py | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/openpype/modules/sync_server/sync_server_module.py b/openpype/modules/sync_server/sync_server_module.py index 59c3787789..d8e8b99355 100644 --- a/openpype/modules/sync_server/sync_server_module.py +++ b/openpype/modules/sync_server/sync_server_module.py @@ -401,6 +401,17 @@ class SyncServerModule(PypeModule, ITrayModule): return remote_site + def get_enabled_projects(self): + """Returns list of projects which have SyncServer enabled.""" + enabled_projects = [] + for project in self.connection.projects(): + project_name = project["name"] + project_settings = self.get_sync_project_setting(project_name) + if project_settings: + enabled_projects.append(project_name) + + return enabled_projects + """ End of Public API """ def get_local_file_path(self, collection, site_name, file_path): @@ -413,7 +424,7 @@ class SyncServerModule(PypeModule, ITrayModule): return local_file_path def _get_remote_sites_from_settings(self, sync_settings): - if not self.enabled or not sync_settings['enabled']: + if not self.enabled or not sync_settings.get('enabled'): return [] remote_sites = [self.DEFAULT_SITE, self.LOCAL_SITE] @@ -424,7 +435,7 @@ class SyncServerModule(PypeModule, ITrayModule): def _get_enabled_sites_from_settings(self, sync_settings): sites = [self.DEFAULT_SITE] - if self.enabled and sync_settings['enabled']: + if self.enabled and sync_settings.get('enabled'): sites.append(self.LOCAL_SITE) return sites @@ -445,6 +456,11 @@ class SyncServerModule(PypeModule, ITrayModule): if not self.enabled: return + enabled_projects = self.get_enabled_projects() + if not enabled_projects: + self.enabled = False + return + self.lock = threading.Lock() try: From d92d70a4df50002222a76ff3c5de0425b6a6b9e5 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 29 Apr 2021 19:22:58 +0200 Subject: [PATCH 14/94] Revert "SyncServer - handle if globally enabled, but no projects" This reverts commit a294665ec63ab19a2be42288aff45f3326bde435. --- .../modules/sync_server/sync_server_module.py | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/openpype/modules/sync_server/sync_server_module.py b/openpype/modules/sync_server/sync_server_module.py index d8e8b99355..59c3787789 100644 --- a/openpype/modules/sync_server/sync_server_module.py +++ b/openpype/modules/sync_server/sync_server_module.py @@ -401,17 +401,6 @@ class SyncServerModule(PypeModule, ITrayModule): return remote_site - def get_enabled_projects(self): - """Returns list of projects which have SyncServer enabled.""" - enabled_projects = [] - for project in self.connection.projects(): - project_name = project["name"] - project_settings = self.get_sync_project_setting(project_name) - if project_settings: - enabled_projects.append(project_name) - - return enabled_projects - """ End of Public API """ def get_local_file_path(self, collection, site_name, file_path): @@ -424,7 +413,7 @@ class SyncServerModule(PypeModule, ITrayModule): return local_file_path def _get_remote_sites_from_settings(self, sync_settings): - if not self.enabled or not sync_settings.get('enabled'): + if not self.enabled or not sync_settings['enabled']: return [] remote_sites = [self.DEFAULT_SITE, self.LOCAL_SITE] @@ -435,7 +424,7 @@ class SyncServerModule(PypeModule, ITrayModule): def _get_enabled_sites_from_settings(self, sync_settings): sites = [self.DEFAULT_SITE] - if self.enabled and sync_settings.get('enabled'): + if self.enabled and sync_settings['enabled']: sites.append(self.LOCAL_SITE) return sites @@ -456,11 +445,6 @@ class SyncServerModule(PypeModule, ITrayModule): if not self.enabled: return - enabled_projects = self.get_enabled_projects() - if not enabled_projects: - self.enabled = False - return - self.lock = threading.Lock() try: From cc88ff5fa4e75709e334ff40d27c70c02f1166a5 Mon Sep 17 00:00:00 2001 From: kalisp Date: Fri, 30 Apr 2021 10:43:14 +0000 Subject: [PATCH 15/94] Create draft PR for #1435 From 68f81b8a3dd2bce4e618a75327a9e106b4975ea6 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Fri, 30 Apr 2021 17:24:48 +0200 Subject: [PATCH 16/94] WIP on shader assignment --- openpype/hosts/maya/api/lib.py | 73 +++- openpype/hosts/maya/plugins/load/load_look.py | 2 + .../hosts/maya/plugins/load/load_vrayproxy.py | 84 ++++- .../maya/plugins/publish/collect_vrayproxy.py | 21 ++ openpype/tools/mayalookassigner/app.py | 18 +- openpype/tools/mayalookassigner/commands.py | 24 ++ .../tools/mayalookassigner/vray_proxies.py | 324 ++++++++++++++++++ openpype/tools/mayalookassigner/widgets.py | 3 + 8 files changed, 531 insertions(+), 18 deletions(-) create mode 100644 openpype/hosts/maya/plugins/publish/collect_vrayproxy.py create mode 100644 openpype/tools/mayalookassigner/vray_proxies.py diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index ae2d329a97..ddbd70fc6e 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -1124,19 +1124,18 @@ def get_id_required_nodes(referenced_nodes=False, nodes=None): def get_id(node): - """ - Get the `cbId` attribute of the given node + """Get the `cbId` attribute of the given node. + Args: node (str): the name of the node to retrieve the attribute from - Returns: str """ - if node is None: return + print(">< {}".format(node)) sel = om.MSelectionList() sel.add(node) @@ -2688,3 +2687,69 @@ def show_message(title, msg): pass else: message_window.message(title=title, message=msg, parent=parent) + + +def iter_shader_edits(relationships, shader_nodes, nodes_by_id, label=None): + """Yield edits as a set of actions.""" + + attributes = relationships.get("attributes", []) + shader_data = relationships.get("relationships", {}) + + shading_engines = cmds.ls(shader_nodes, type="objectSet", long=True) + assert shading_engines, "Error in retrieving objectSets from reference" + + # region compute lookup + shading_engines_by_id = defaultdict(list) + for shad in shading_engines: + shading_engines_by_id[get_id(shad)].append(shad) + # endregion + + # region assign shading engines and other sets + for data in shader_data.values(): + # collect all unique IDs of the set members + shader_uuid = data["uuid"] + member_uuids = [ + (member["uuid"], member.get("components")) + for member in data["members"]] + + filtered_nodes = list() + for _uuid, components in member_uuids: + nodes = nodes_by_id.get(_uuid, None) + if nodes is None: + continue + + if components: + # Assign to the components + nodes = [".".join([node, components]) for node in nodes] + + filtered_nodes.extend(nodes) + + id_shading_engines = shading_engines_by_id[shader_uuid] + if not id_shading_engines: + log.error("{} - No shader found with cbId " + "'{}'".format(label, shader_uuid)) + continue + elif len(id_shading_engines) > 1: + log.error("{} - Skipping shader assignment. " + "More than one shader found with cbId " + "'{}'. (found: {})".format(label, shader_uuid, + id_shading_engines)) + continue + + if not filtered_nodes: + log.warning("{} - No nodes found for shading engine " + "'{}'".format(label, id_shading_engines[0])) + continue + + yield {"action": "assign", + "uuid": data["uuid"], + "nodes": filtered_nodes, + "shader": id_shading_engines[0]} + + for data in attributes: + nodes = nodes_by_id.get(data["uuid"], []) + attr_value = data["attributes"] + yield {"action": "setattr", + "uuid": data["uuid"], + "nodes": nodes, + "attributes": attr_value} diff --git a/openpype/hosts/maya/plugins/load/load_look.py b/openpype/hosts/maya/plugins/load/load_look.py index c39bbc497e..fca612eff4 100644 --- a/openpype/hosts/maya/plugins/load/load_look.py +++ b/openpype/hosts/maya/plugins/load/load_look.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- +"""Look loader.""" import openpype.hosts.maya.api.plugin from avalon import api, io import json diff --git a/openpype/hosts/maya/plugins/load/load_vrayproxy.py b/openpype/hosts/maya/plugins/load/load_vrayproxy.py index 2bff6e0a77..b5d9564462 100644 --- a/openpype/hosts/maya/plugins/load/load_vrayproxy.py +++ b/openpype/hosts/maya/plugins/load/load_vrayproxy.py @@ -1,12 +1,21 @@ -from avalon.maya import lib -from avalon import api -from openpype.api import get_project_settings +# -*- coding: utf-8 -*- +"""Loader for Vray Proxy files. + +If there are Alembics published along vray proxy (in the same version), +loader will use them instead of native vray vrmesh format. + +""" import os + import maya.cmds as cmds +from avalon.maya import lib +from avalon import api, io +from openpype.api import get_project_settings + class VRayProxyLoader(api.Loader): - """Load VRayMesh proxy""" + """Load VRayMesh proxy.""" families = ["vrayproxy"] representations = ["vrmesh"] @@ -16,8 +25,17 @@ class VRayProxyLoader(api.Loader): icon = "code-fork" color = "orange" - def load(self, context, name, namespace, data): + def load(self, context, name=None, namespace=None, options=None): + # type: (dict, str, str, dict) -> None + """Loader entry point. + Args: + context (dict): Loaded representation context. + name (str): Name of container. + namespace (str): Optional namespace name. + options (dict): Optional loader options. + + """ from avalon.maya.pipeline import containerise from openpype.hosts.maya.api.lib import namespaced @@ -26,6 +44,9 @@ class VRayProxyLoader(api.Loader): except ValueError: family = "vrayproxy" + # get all representations for this version + self.fname = self._get_abc(context["version"]["_id"]) or self.fname + asset_name = context['asset']["name"] namespace = namespace or lib.unique_namespace( asset_name + "_", @@ -39,8 +60,8 @@ class VRayProxyLoader(api.Loader): with lib.maintained_selection(): cmds.namespace(addNamespace=namespace) with namespaced(namespace, new=False): - nodes, group_node = self.create_vray_proxy(name, - filename=self.fname) + nodes, group_node = self.create_vray_proxy( + name, filename=self.fname) self[:] = nodes if not nodes: @@ -63,7 +84,8 @@ class VRayProxyLoader(api.Loader): loader=self.__class__.__name__) def update(self, container, representation): - + # type: (dict, dict) -> None + """Update container with specified representation.""" node = container['objectName'] assert cmds.objExists(node), "Missing container" @@ -71,7 +93,8 @@ class VRayProxyLoader(api.Loader): vraymeshes = cmds.ls(members, type="VRayMesh") assert vraymeshes, "Cannot find VRayMesh in container" - filename = api.get_representation_path(representation) + # get all representations for this version + filename = self._get_abc(representation["parent"]) or api.get_representation_path(representation) # noqa: E501 for vray_mesh in vraymeshes: cmds.setAttr("{}.fileName".format(vray_mesh), @@ -84,7 +107,8 @@ class VRayProxyLoader(api.Loader): type="string") def remove(self, container): - + # type: (dict) -> None + """Remove loaded container.""" # Delete container and its contents if cmds.objExists(container['objectName']): members = cmds.sets(container['objectName'], query=True) or [] @@ -101,18 +125,22 @@ class VRayProxyLoader(api.Loader): "still has members: %s", namespace) def switch(self, container, representation): + # type: (dict, dict) -> None + """Switch loaded representation.""" self.update(container, representation) def create_vray_proxy(self, name, filename): + # type: (str, str) -> (list, str) """Re-create the structure created by VRay to support vrmeshes Args: - name(str): name of the asset + name (str): Name of the asset. + filename (str): File name of vrmesh. Returns: nodes(list) - """ + """ # Create nodes vray_mesh = cmds.createNode('VRayMesh', name="{}_VRMS".format(name)) mesh_shape = cmds.createNode("mesh", name="{}_GEOShape".format(name)) @@ -159,3 +187,35 @@ class VRayProxyLoader(api.Loader): cmds.setAttr("{}.geomType".format(vray_mesh), 2) return nodes, group_node + + def _get_abc(self, version_id): + # type: (str) -> str + """Get abc representation file path if present. + + If here is published Alembic (abc) representation published along + vray proxy, get is file path. + + Args: + version_id (str): Version hash id. + + Returns: + str: Path to file. + None: If abc not found. + + """ + self.log.debug( + "Looking for abc in published representations of this version.") + abc_rep = io.find_one( + { + "type": "representation", + "parent": io.ObjectId(version_id), + "name": "abc" + }) + + if abc_rep: + self.log.debug("Found, we'll link alembic to vray proxy.") + file_name = api.get_representation_path(abc_rep) + self.log.debug("File: {}".format(self.fname)) + return file_name + + return None diff --git a/openpype/hosts/maya/plugins/publish/collect_vrayproxy.py b/openpype/hosts/maya/plugins/publish/collect_vrayproxy.py new file mode 100644 index 0000000000..5bc682d6f4 --- /dev/null +++ b/openpype/hosts/maya/plugins/publish/collect_vrayproxy.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +"""Collect Vray Proxy.""" +import pyblish.api + + +class CollectVrayProxy(pyblish.api.InstancePlugin): + """Collect Vray Proxy instance. + + Add `pointcache` family for it. + """ + order = pyblish.api.CollectorOrder + 0.01 + label = 'Collect Vray Proxy' + families = ["vrayproxy"] + + def process(self, instance): + """Collector entry point.""" + if not instance.data.get('families'): + instance.data["families"] = [] + if "pointcache" not in instance.data["families"]: + instance.data["families"].append("pointcache") + self.log.debug("adding to pointcache family") diff --git a/openpype/tools/mayalookassigner/app.py b/openpype/tools/mayalookassigner/app.py index 09782ea6ac..b708101a6e 100644 --- a/openpype/tools/mayalookassigner/app.py +++ b/openpype/tools/mayalookassigner/app.py @@ -15,6 +15,8 @@ import maya.api.OpenMaya as om from . import widgets from . import commands +from . vray_proxies import vrayproxy_assign_look + module = sys.modules[__name__] module.window = None @@ -211,9 +213,21 @@ class App(QtWidgets.QWidget): subset_name, asset)) + print(">>> get vray mesh nodes ...") + vray_proxies = set(cmds.ls(type="VRayMesh")) + print("-" * 40) + print(item["nodes"]) + print(vray_proxies) + nodes = set(item["nodes"]).difference(vray_proxies) + print(nodes) + # Assign look - assign_look_by_version(nodes=item["nodes"], - version_id=version["_id"]) + if nodes: + assign_look_by_version([nodes], version_id=version["_id"]) + + if vray_proxies: + for vp in vray_proxies: + vrayproxy_assign_look(vp, subset_name) end = time.time() diff --git a/openpype/tools/mayalookassigner/commands.py b/openpype/tools/mayalookassigner/commands.py index 98eb3d37b7..b5d622c581 100644 --- a/openpype/tools/mayalookassigner/commands.py +++ b/openpype/tools/mayalookassigner/commands.py @@ -8,6 +8,9 @@ from openpype.hosts.maya.api import lib from avalon import io, api + +import vray_proxies + log = logging.getLogger(__name__) @@ -132,6 +135,27 @@ def create_items_from_nodes(nodes): asset_view_items = [] id_hashes = create_asset_id_hash(nodes) + + print("*" * 40) + print(id_hashes) + + # get ids from alembic + vray_proxy_nodes = cmds.ls(nodes, type="VRayMesh") + for vp in vray_proxy_nodes: + path = cmds.getAttr("{}.fileName".format(vp)) + ids = vray_proxies.get_alembic_ids_cache(path) + parent_id = {} + for k, n in ids.items(): + pid = k.split(":")[0] + if not parent_id.get(pid): + parent_id.update({pid: [vp]}) + + print("adding ids from alembic {}".format(path)) + id_hashes.update(parent_id) + + print("*" * 40) + print(id_hashes) + if not id_hashes: return asset_view_items diff --git a/openpype/tools/mayalookassigner/vray_proxies.py b/openpype/tools/mayalookassigner/vray_proxies.py new file mode 100644 index 0000000000..87366118d4 --- /dev/null +++ b/openpype/tools/mayalookassigner/vray_proxies.py @@ -0,0 +1,324 @@ +# -*- coding: utf-8 -*- +"""Tools for loading looks to vray proxies.""" +import os +from collections import defaultdict +import logging +import json + +import six + +import alembic.Abc +from maya import cmds + +import avalon.io as io +import avalon.maya +import avalon.api as api + +import openpype.hosts.maya.api.lib as lib + + +log = logging.getLogger(__name__) + + +def get_alembic_paths_by_property(filename, attr, verbose=False): + # type: (str, str, bool) -> dict + """Return attribute value per objects in the Alembic file. + + Reads an Alembic archive hierarchy and retrieves the + value from the `attr` properties on the objects. + + Args: + filename (str): Full path to Alembic archive to read. + attr (str): Id attribute. + verbose (bool): Whether to verbosely log missing attributes. + + Returns: + dict: Mapping of node full path with its id + + """ + # Normalize alembic path + filename = os.path.normpath(filename) + filename = filename.replace("\\", "/") + filename = str(filename) # path must be string + + archive = alembic.Abc.IArchive(filename) + root = archive.getTop() + + iterator = list(root.children) + obj_ids = {} + + for obj in iterator: + name = obj.getFullName() + + # include children for coming iterations + iterator.extend(obj.children) + + props = obj.getProperties() + if props.getNumProperties() == 0: + # Skip those without properties, e.g. '/materials' in a gpuCache + continue + + # THe custom attribute is under the properties' first container under + # the ".arbGeomParams" + prop = props.getProperty(0) # get base property + + _property = None + try: + geo_params = prop.getProperty('.arbGeomParams') + _property = geo_params.getProperty(attr) + except KeyError: + if verbose: + log.debug("Missing attr on: {0}".format(name)) + continue + + if not _property.isConstant(): + log.warning("Id not constant on: {0}".format(name)) + + # Get first value sample + value = _property.getValue()[0] + + obj_ids[name] = value + + return obj_ids + + +def get_alembic_ids_cache(path): + # type: (str) -> dict + """Build a id to node mapping in Alembic file. + + Nodes without IDs are ignored. + + Returns: + dict: Mapping of id to nodes in the Alembic. + + """ + node_ids = get_alembic_paths_by_property(path, attr="cbId") + id_nodes = defaultdict(list) + for node, _id in six.iteritems(node_ids): + id_nodes[_id].append(node) + + return dict(six.iteritems(id_nodes)) + + +def assign_vrayproxy_shaders(vrayproxy, assignments): + # type: (str, dict) -> None + """Assign shaders to content of Vray Proxy. + + This will create shader overrides on Vray Proxy to assign shaders to its + content. + + Todo: + Allow to optimize and assign a single shader to multiple shapes at + once or maybe even set it to the highest available path? + + Args: + vrayproxy (str): Name of Vray Proxy + assignments (dict): Mapping of shader assignments. + + Returns: + None + + """ + # Clear all current shader assignments + plug = vrayproxy + ".shaders" + num = cmds.getAttr(plug, size=True) + for i in reversed(range(num)): + cmds.removeMultiInstance("{}[{}]".format(plug, i), b=True) + + # Create new assignment overrides + index = 0 + for material, paths in assignments.items(): + for path in paths: + plug = "{}.shaders[{}]".format(proxy, index) + cmds.setAttr(plug + ".shadersNames", path, type="string") + cmds.connectAttr(material + ".outColor", + plug + ".shadersConnections", force=True) + index += 1 + + +def get_look_relationships(version_id): + # type: (str) -> dict + """Get relations for the look. + + Args: + version_id (str): Parent version Id. + + Returns: + dict: Dictionary of relations. + + """ + json_representation = io.find_one({"type": "representation", + "parent": version_id, + "name": "json"}) + + # Load relationships + shader_relation = api.get_representation_path(json_representation) + with open(shader_relation, "r") as f: + relationships = json.load(f) + + return relationships + + +def load_look(version_id): + # type: (str) -> list + """Load look from version. + + Get look from version and invoke Loader for it. + + Args: + version_id (str): Version ID + + Returns: + list of shader nodes. + + """ + # Get representations of shader file and relationships + look_representation = io.find_one({"type": "representation", + "parent": version_id, + "name": "ma"}) + + # See if representation is already loaded, if so reuse it. + host = api.registered_host() + representation_id = str(look_representation['_id']) + for container in host.ls(): + if (container['loader'] == "LookLoader" and + container['representation'] == representation_id): + log.info("Reusing loaded look ...") + container_node = container['objectName'] + break + else: + log.info("Using look for the first time ...") + + # Load file + loaders = api.loaders_from_representation(api.discover(api.Loader), + representation_id) + loader = next((i for i in loaders if i.__name__ == "LookLoader"), None) + if loader is None: + raise RuntimeError("Could not find LookLoader, this is a bug") + + # Reference the look file + with avalon.maya.maintained_selection(): + container_node = api.load(loader, look_representation) + + # Get container members + shader_nodes = cmds.sets(container_node, query=True) + return shader_nodes + + +def get_latest_version(asset_id, subset): + # type: (str, str) -> dict + """Get latest version of subset. + + Args: + asset_id (str): Asset ID + subset (str): Subset name. + + Returns: + Latest version + + Throws: + RuntimeError: When subset or version doesn't exist. + + """ + subset = io.find_one({"name": subset, + "parent": io.ObjectId(asset_id), + "type": "subset"}) + if not subset: + raise RuntimeError("Subset does not exist: %s" % subset) + + version = io.find_one({"type": "version", + "parent": subset["_id"]}, + sort=[("name", -1)]) + if not version: + raise RuntimeError("Version does not exist.") + + return version + + +def vrayproxy_assign_look(vrayproxy, subset="lookDefault"): + # type: (str, str) -> None + """Assign look to vray proxy. + + Args: + vrayproxy (str): Name of vrayproxy to apply look to. + subset (str): Name of look subset. + + Returns: + None + + """ + path = cmds.getAttr(vrayproxy + ".fileName") + + nodes_by_id = get_alembic_ids_cache(path) + if not nodes_by_id: + log.warning("Alembic file has no cbId attributes: %s" % path) + return + + # Group by asset id so we run over the look per asset + node_ids_by_asset_id = defaultdict(set) + for node_id in nodes_by_id: + asset_id = node_id.split(":", 1)[0] + node_ids_by_asset_id[asset_id].add(node_id) + + for asset_id, node_ids in node_ids_by_asset_id.items(): + + # Get latest look version + try: + version = get_latest_version(asset_id, subset=subset) + except RuntimeError as exc: + print(exc) + continue + + relationships = get_look_relationships(version["_id"]) + shadernodes = load_look(version["_id"]) + + # Get only the node ids and paths related to this asset + # And get the shader edits the look supplies + asset_nodes_by_id = {node_id: vrayproxy for node_id in node_ids} + print("-" * 80) + print(node_ids) + print("+" * 80) + print(relationships) + print("+-" * 40) + print(shadernodes) + print("+-" * 40) + print(asset_nodes_by_id) + print("+" * 80) + edits = list(lib.iter_shader_edits(relationships, shadernodes, asset_nodes_by_id)) + + # Create assignments + assignments = {} + for edit in edits: + if edit["action"] == "assign": + nodes = edit["nodes"] + shader = edit["shader"] + if not cmds.ls(shader, type="shadingEngine"): + print("Skipping non-shader: %s" % shader) + continue + + inputs = cmds.listConnections(shader + ".surfaceShader", source=True) + if not inputs: + print("Shading engine missing material: %s" % shader) + + # Strip off component assignments + for i, node in enumerate(nodes): + if "." in node: + log.warning( + "Converting face assignment to full object assignment. This conversion can be lossy: %s" % node) + nodes[i] = node.split(".")[0] + + material = inputs[0] + assignments[material] = nodes + + assign_vrayproxy_shaders(vrayproxy, assignments) + + +# Example usage +if __name__ == "__main__": + + # Ensure V-Ray is loaded + cmds.loadPlugin("vrayformaya", quiet=True) + + # Assign lookDefault to all V-Ray Proxies + for proxy in cmds.ls(sl=True, dag=True, type="VRayProxy"): + vrayproxy_assign_look(proxy, subset="lookDefault") \ No newline at end of file diff --git a/openpype/tools/mayalookassigner/widgets.py b/openpype/tools/mayalookassigner/widgets.py index bfa8492e69..188d6386ca 100644 --- a/openpype/tools/mayalookassigner/widgets.py +++ b/openpype/tools/mayalookassigner/widgets.py @@ -93,6 +93,9 @@ class AssetOutliner(QtWidgets.QWidget): with lib.preserve_selection(self.view): self.clear() nodes = commands.get_all_asset_nodes() + print("_" * 40) + print(nodes) + print("_" * 40) items = commands.create_items_from_nodes(nodes) self.add_items(items) From 36a98caeffd89671620b78da5637a8096a667094 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 4 May 2021 12:45:04 +0200 Subject: [PATCH 17/94] new style vray proxy --- openpype/hosts/maya/api/lib.py | 1 - .../hosts/maya/plugins/load/load_vrayproxy.py | 52 +++---------------- openpype/tools/mayalookassigner/app.py | 8 +-- openpype/tools/mayalookassigner/commands.py | 16 ++---- .../tools/mayalookassigner/vray_proxies.py | 23 +------- openpype/tools/mayalookassigner/widgets.py | 5 +- 6 files changed, 17 insertions(+), 88 deletions(-) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index ddbd70fc6e..2a3db5aba4 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -1135,7 +1135,6 @@ def get_id(node): if node is None: return - print(">< {}".format(node)) sel = om.MSelectionList() sel.add(node) diff --git a/openpype/hosts/maya/plugins/load/load_vrayproxy.py b/openpype/hosts/maya/plugins/load/load_vrayproxy.py index b5d9564462..3112a37c19 100644 --- a/openpype/hosts/maya/plugins/load/load_vrayproxy.py +++ b/openpype/hosts/maya/plugins/load/load_vrayproxy.py @@ -15,7 +15,7 @@ from openpype.api import get_project_settings class VRayProxyLoader(api.Loader): - """Load VRayMesh proxy.""" + """Load VRay Proxy with Alembic or VrayMesh.""" families = ["vrayproxy"] representations = ["vrmesh"] @@ -141,52 +141,16 @@ class VRayProxyLoader(api.Loader): nodes(list) """ - # Create nodes - vray_mesh = cmds.createNode('VRayMesh', name="{}_VRMS".format(name)) - mesh_shape = cmds.createNode("mesh", name="{}_GEOShape".format(name)) - vray_mat = cmds.shadingNode("VRayMeshMaterial", asShader=True, - name="{}_VRMM".format(name)) - vray_mat_sg = cmds.sets(name="{}_VRSG".format(name), - empty=True, - renderable=True, - noSurfaceShader=True) - cmds.setAttr("{}.fileName".format(vray_mesh), - filename, - type="string") + if name is None: + name = os.path.splitext(os.path.basename(filename))[0] - # Create important connections - cmds.connectAttr("time1.outTime", - "{0}.currentFrame".format(vray_mesh)) - cmds.connectAttr("{}.fileName2".format(vray_mesh), - "{}.fileName".format(vray_mat)) - cmds.connectAttr("{}.instancing".format(vray_mesh), - "{}.instancing".format(vray_mat)) - cmds.connectAttr("{}.output".format(vray_mesh), - "{}.inMesh".format(mesh_shape)) - cmds.connectAttr("{}.overrideFileName".format(vray_mesh), - "{}.overrideFileName".format(vray_mat)) - cmds.connectAttr("{}.currentFrame".format(vray_mesh), - "{}.currentFrame".format(vray_mat)) + parent = cmds.createNode("transform", name=name) + proxy = cmds.createNode("VRayProxy", name=name + "Shape", parent=parent) + cmds.setAttr(proxy + ".fileName", filename, type="string") + cmds.connectAttr("time1.outTime", proxy + ".currentFrame") - # Set surface shader input - cmds.connectAttr("{}.outColor".format(vray_mat), - "{}.surfaceShader".format(vray_mat_sg)) - - # Connect mesh to shader - cmds.sets([mesh_shape], addElement=vray_mat_sg) - - group_node = cmds.group(empty=True, name="{}_GRP".format(name)) - mesh_transform = cmds.listRelatives(mesh_shape, - parent=True, fullPath=True) - cmds.parent(mesh_transform, group_node) - nodes = [vray_mesh, mesh_shape, vray_mat, vray_mat_sg, group_node] - - # Fix: Force refresh so the mesh shows correctly after creation - cmds.refresh() - cmds.setAttr("{}.geomType".format(vray_mesh), 2) - - return nodes, group_node + return [parent, proxy], parent def _get_abc(self, version_id): # type: (str) -> str diff --git a/openpype/tools/mayalookassigner/app.py b/openpype/tools/mayalookassigner/app.py index b708101a6e..81aa841eb7 100644 --- a/openpype/tools/mayalookassigner/app.py +++ b/openpype/tools/mayalookassigner/app.py @@ -213,13 +213,9 @@ class App(QtWidgets.QWidget): subset_name, asset)) - print(">>> get vray mesh nodes ...") - vray_proxies = set(cmds.ls(type="VRayMesh")) - print("-" * 40) - print(item["nodes"]) - print(vray_proxies) + self.echo("Getting vray proxy nodes ...") + vray_proxies = set(cmds.ls(type="VRayProxy")) nodes = set(item["nodes"]).difference(vray_proxies) - print(nodes) # Assign look if nodes: diff --git a/openpype/tools/mayalookassigner/commands.py b/openpype/tools/mayalookassigner/commands.py index b5d622c581..974f68ba33 100644 --- a/openpype/tools/mayalookassigner/commands.py +++ b/openpype/tools/mayalookassigner/commands.py @@ -68,9 +68,7 @@ def get_selected_nodes(): selection = cmds.ls(selection=True, long=True) hierarchy = list_descendents(selection) - nodes = list(set(selection + hierarchy)) - - return nodes + return list(set(selection + hierarchy)) def get_all_asset_nodes(): @@ -136,11 +134,8 @@ def create_items_from_nodes(nodes): id_hashes = create_asset_id_hash(nodes) - print("*" * 40) - print(id_hashes) - # get ids from alembic - vray_proxy_nodes = cmds.ls(nodes, type="VRayMesh") + vray_proxy_nodes = cmds.ls(nodes, type="VRayProxy") for vp in vray_proxy_nodes: path = cmds.getAttr("{}.fileName".format(vp)) ids = vray_proxies.get_alembic_ids_cache(path) @@ -150,12 +145,9 @@ def create_items_from_nodes(nodes): if not parent_id.get(pid): parent_id.update({pid: [vp]}) - print("adding ids from alembic {}".format(path)) + print("Adding ids from alembic {}".format(path)) id_hashes.update(parent_id) - print("*" * 40) - print(id_hashes) - if not id_hashes: return asset_view_items @@ -196,7 +188,7 @@ def remove_unused_looks(): host = api.registered_host() - unused = list() + unused = [] for container in host.ls(): if container['loader'] == "LookLoader": members = cmds.sets(container['objectName'], query=True) diff --git a/openpype/tools/mayalookassigner/vray_proxies.py b/openpype/tools/mayalookassigner/vray_proxies.py index 87366118d4..ecc7de1330 100644 --- a/openpype/tools/mayalookassigner/vray_proxies.py +++ b/openpype/tools/mayalookassigner/vray_proxies.py @@ -129,7 +129,7 @@ def assign_vrayproxy_shaders(vrayproxy, assignments): index = 0 for material, paths in assignments.items(): for path in paths: - plug = "{}.shaders[{}]".format(proxy, index) + plug = "{}.shaders[{}]".format(vrayproxy, index) cmds.setAttr(plug + ".shadersNames", path, type="string") cmds.connectAttr(material + ".outColor", plug + ".shadersConnections", force=True) @@ -274,16 +274,7 @@ def vrayproxy_assign_look(vrayproxy, subset="lookDefault"): # Get only the node ids and paths related to this asset # And get the shader edits the look supplies - asset_nodes_by_id = {node_id: vrayproxy for node_id in node_ids} - print("-" * 80) - print(node_ids) - print("+" * 80) - print(relationships) - print("+-" * 40) - print(shadernodes) - print("+-" * 40) - print(asset_nodes_by_id) - print("+" * 80) + asset_nodes_by_id = {node_id: nodes_by_id[node_id] for node_id in node_ids} edits = list(lib.iter_shader_edits(relationships, shadernodes, asset_nodes_by_id)) # Create assignments @@ -312,13 +303,3 @@ def vrayproxy_assign_look(vrayproxy, subset="lookDefault"): assign_vrayproxy_shaders(vrayproxy, assignments) - -# Example usage -if __name__ == "__main__": - - # Ensure V-Ray is loaded - cmds.loadPlugin("vrayformaya", quiet=True) - - # Assign lookDefault to all V-Ray Proxies - for proxy in cmds.ls(sl=True, dag=True, type="VRayProxy"): - vrayproxy_assign_look(proxy, subset="lookDefault") \ No newline at end of file diff --git a/openpype/tools/mayalookassigner/widgets.py b/openpype/tools/mayalookassigner/widgets.py index 188d6386ca..2dab266af9 100644 --- a/openpype/tools/mayalookassigner/widgets.py +++ b/openpype/tools/mayalookassigner/widgets.py @@ -93,9 +93,6 @@ class AssetOutliner(QtWidgets.QWidget): with lib.preserve_selection(self.view): self.clear() nodes = commands.get_all_asset_nodes() - print("_" * 40) - print(nodes) - print("_" * 40) items = commands.create_items_from_nodes(nodes) self.add_items(items) @@ -125,7 +122,7 @@ class AssetOutliner(QtWidgets.QWidget): # Collect the asset item entries per asset # and collect the namespaces we'd like to apply - assets = dict() + assets = {} asset_namespaces = defaultdict(set) for item in items: asset_id = str(item["asset"]["_id"]) From 4be9417fe042a2b3d9e8ae4bf1bf93ce053f8e63 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 4 May 2021 12:55:32 +0200 Subject: [PATCH 18/94] hound fixes --- .../hosts/maya/plugins/load/load_vrayproxy.py | 5 +++-- openpype/tools/mayalookassigner/commands.py | 2 +- .../tools/mayalookassigner/vray_proxies.py | 19 +++++++++++++------ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/openpype/hosts/maya/plugins/load/load_vrayproxy.py b/openpype/hosts/maya/plugins/load/load_vrayproxy.py index 3112a37c19..d5d4a941e3 100644 --- a/openpype/hosts/maya/plugins/load/load_vrayproxy.py +++ b/openpype/hosts/maya/plugins/load/load_vrayproxy.py @@ -146,7 +146,8 @@ class VRayProxyLoader(api.Loader): name = os.path.splitext(os.path.basename(filename))[0] parent = cmds.createNode("transform", name=name) - proxy = cmds.createNode("VRayProxy", name=name + "Shape", parent=parent) + proxy = cmds.createNode( + "VRayProxy", name="{}Shape".format(name), parent=parent) cmds.setAttr(proxy + ".fileName", filename, type="string") cmds.connectAttr("time1.outTime", proxy + ".currentFrame") @@ -182,4 +183,4 @@ class VRayProxyLoader(api.Loader): self.log.debug("File: {}".format(self.fname)) return file_name - return None + return "" diff --git a/openpype/tools/mayalookassigner/commands.py b/openpype/tools/mayalookassigner/commands.py index 974f68ba33..2add5d3499 100644 --- a/openpype/tools/mayalookassigner/commands.py +++ b/openpype/tools/mayalookassigner/commands.py @@ -140,7 +140,7 @@ def create_items_from_nodes(nodes): path = cmds.getAttr("{}.fileName".format(vp)) ids = vray_proxies.get_alembic_ids_cache(path) parent_id = {} - for k, n in ids.items(): + for k, _ in ids.items(): pid = k.split(":")[0] if not parent_id.get(pid): parent_id.update({pid: [vp]}) diff --git a/openpype/tools/mayalookassigner/vray_proxies.py b/openpype/tools/mayalookassigner/vray_proxies.py index ecc7de1330..d2f345e628 100644 --- a/openpype/tools/mayalookassigner/vray_proxies.py +++ b/openpype/tools/mayalookassigner/vray_proxies.py @@ -192,7 +192,8 @@ def load_look(version_id): # Load file loaders = api.loaders_from_representation(api.discover(api.Loader), representation_id) - loader = next((i for i in loaders if i.__name__ == "LookLoader"), None) + loader = next( + (i for i in loaders if i.__name__ == "LookLoader"), None) if loader is None: raise RuntimeError("Could not find LookLoader, this is a bug") @@ -274,8 +275,12 @@ def vrayproxy_assign_look(vrayproxy, subset="lookDefault"): # Get only the node ids and paths related to this asset # And get the shader edits the look supplies - asset_nodes_by_id = {node_id: nodes_by_id[node_id] for node_id in node_ids} - edits = list(lib.iter_shader_edits(relationships, shadernodes, asset_nodes_by_id)) + asset_nodes_by_id = { + node_id: nodes_by_id[node_id] for node_id in node_ids + } + edits = list( + lib.iter_shader_edits( + relationships, shadernodes, asset_nodes_by_id)) # Create assignments assignments = {} @@ -287,7 +292,8 @@ def vrayproxy_assign_look(vrayproxy, subset="lookDefault"): print("Skipping non-shader: %s" % shader) continue - inputs = cmds.listConnections(shader + ".surfaceShader", source=True) + inputs = cmds.listConnections( + shader + ".surfaceShader", source=True) if not inputs: print("Shading engine missing material: %s" % shader) @@ -295,11 +301,12 @@ def vrayproxy_assign_look(vrayproxy, subset="lookDefault"): for i, node in enumerate(nodes): if "." in node: log.warning( - "Converting face assignment to full object assignment. This conversion can be lossy: %s" % node) + ("Converting face assignment to full object " + "assignment. This conversion can be lossy: " + "{}").format(node)) nodes[i] = node.split(".")[0] material = inputs[0] assignments[material] = nodes assign_vrayproxy_shaders(vrayproxy, assignments) - From 3ae43b0cef03d384b3286394d369ded6da787e0c Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 4 May 2021 13:29:57 +0200 Subject: [PATCH 19/94] add documentation for vray proxy --- website/docs/artist_hosts_maya.md | 37 ++++++++++++++++++ .../docs/assets/maya-vray_proxy-loader.jpg | Bin 0 -> 62930 bytes website/docs/assets/maya-vray_proxy.jpg | Bin 0 -> 67551 bytes 3 files changed, 37 insertions(+) create mode 100644 website/docs/assets/maya-vray_proxy-loader.jpg create mode 100644 website/docs/assets/maya-vray_proxy.jpg diff --git a/website/docs/artist_hosts_maya.md b/website/docs/artist_hosts_maya.md index d19bde7b49..fc94f20f02 100644 --- a/website/docs/artist_hosts_maya.md +++ b/website/docs/artist_hosts_maya.md @@ -715,3 +715,40 @@ Once data are marked as Redshift Proxy instance, they can be published - **OpenP Published proxy files can be loaded with OpenPype Loader. It will create mesh and attach Redshift Proxy parameters to it - Redshift will then represent proxy with bounding box. + +## Using VRay Proxies + +OpenPype support publishing, loading and using of VRay Proxy in look management. Their underlaying format +can be either vrmesh or alembic. + +:::warning vrmesh or alembic and look management +Be aware that **vrmesh** cannot be used with looks as it doesn't retain IDs necessary to map shaders to geometry. +::: + +### Creating VRay Proxy + +To create VRay Proxy, select geometry you want and - **OpenPype → Create ...** select **VRay Proxy**. Name your +subset as you want and press **Create** button. + +This will create `vrayproxy` set for your subset. You can set some options in Attribute editor, mainly if you want +export animation instead of single frame. + +![Maya - VRay Proxy Creation](assets/maya-vray_proxy.jpg) + +### Publishing VRay Proxies + +VRay Proxy can be published - **OpenPype → Publish ...**. It will publish data as VRays `vrmesh` format and as +Alembic file. + +## Using VRay Proxies + +You can load VRay Proxy using loader - **OpenPype → Loader ...** + +![Maya - VRay Proxy Creation](assets/maya-vray_proxy-loader.jpg) + +Select your subset and right-click. Select **Import VRay Proxy (vrmesh)** to import it. + +:::note +Note that even if it states `vrmesh` in descriptions, if loader finds Alembic published along (default behavior) it will +use abc file instead of vrmesh as it is more flexible and without it looks doesn't work. +::: diff --git a/website/docs/assets/maya-vray_proxy-loader.jpg b/website/docs/assets/maya-vray_proxy-loader.jpg new file mode 100644 index 0000000000000000000000000000000000000000..29632796ea6ee9942c662f2f9dd8d82911b701a2 GIT binary patch literal 62930 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 literal 0 HcmV?d00001 diff --git a/website/docs/assets/maya-vray_proxy.jpg b/website/docs/assets/maya-vray_proxy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..181b77db8978e847882315e12a80733ea7bba630 GIT binary patch literal 67551 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%0ACh2u!c8<6 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 literal 0 HcmV?d00001 From 623f19c5fa8b628cfed72a3f34d71ab721a51384 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 4 May 2021 16:03:23 +0200 Subject: [PATCH 20/94] PS subset group - added new standard function Implementation should follow Create subset name approach --- openpype/lib/__init__.py | 1 + openpype/lib/plugin_tools.py | 19 ++++++++++++++- openpype/plugins/publish/integrate_new.py | 23 +++++++++++-------- .../schemas/schema_global_publish.json | 2 +- 4 files changed, 34 insertions(+), 11 deletions(-) diff --git a/openpype/lib/__init__.py b/openpype/lib/__init__.py index 895d11601f..f0b2db4c1c 100644 --- a/openpype/lib/__init__.py +++ b/openpype/lib/__init__.py @@ -112,6 +112,7 @@ from .profiles_filtering import filter_profiles from .plugin_tools import ( TaskNotSetError, get_subset_name, + prepare_template_data, filter_pyblish_plugins, source_hash, get_unique_layer_name, diff --git a/openpype/lib/plugin_tools.py b/openpype/lib/plugin_tools.py index 9a2d30d1a7..4119ba072a 100644 --- a/openpype/lib/plugin_tools.py +++ b/openpype/lib/plugin_tools.py @@ -73,6 +73,23 @@ def get_subset_name( ("family", family), ("task", task_name) ) + return template.format(**prepare_template_data(fill_pairs)) + + +def prepare_template_data(fill_pairs): + """ + Prepares formatted data for filling template. + + It produces mutliple variants of keys (key, Key, KEY) to control + format of filled template. + + Args: + fill_pairs (iterable) of tuples (key, value) + Returns: + (dict) + ('host', 'maya') > {'host':'maya', 'Host': 'Maya', 'HOST': 'MAYA'} + + """ fill_data = {} for key, value in fill_pairs: # Handle cases when value is `None` (standalone publisher) @@ -94,7 +111,7 @@ def get_subset_name( capitalized += value[1:] fill_data[key.capitalize()] = capitalized - return template.format(**fill_data) + return fill_data def filter_pyblish_plugins(plugins): diff --git a/openpype/plugins/publish/integrate_new.py b/openpype/plugins/publish/integrate_new.py index f74325fe09..19b12e953d 100644 --- a/openpype/plugins/publish/integrate_new.py +++ b/openpype/plugins/publish/integrate_new.py @@ -12,11 +12,13 @@ import shutil from pymongo import DeleteOne, InsertOne import pyblish.api from avalon import io +from avalon.api import format_template_with_optional_keys from avalon.vendor import filelink import openpype.api from datetime import datetime # from pype.modules import ModulesManager from openpype.lib.profiles_filtering import filter_profiles +from openpype.lib import prepare_template_data # this is needed until speedcopy for linux is fixed if sys.platform == "win32": @@ -730,7 +732,7 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): profiles = integrate_new_sett["subset_grouping_profiles"] filtering_criteria = { - "families": instance.data["anatomyData"]["family"], + "families": instance.data["family"], "hosts": instance.data["anatomyData"]["app"], "tasks": instance.data["anatomyData"]["task"] or io.Session["AVALON_TASK"] @@ -738,17 +740,20 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): matching_profile = filter_profiles(profiles, filtering_criteria) filled_template = None - fill_pairs = None if matching_profile: template = matching_profile["template"] - fill_pairs = { - "family": filtering_criteria["families"], - "task": filtering_criteria["tasks"], - "Family": filtering_criteria["families"].capitalize(), - "Task": filtering_criteria["tasks"].capitalize() - } + fill_pairs = ( + ("family", filtering_criteria["families"]), + ("task", filtering_criteria["tasks"]), + ("host", filtering_criteria["hosts"]), + ("subset", instance.data["subset"]), + ("renderlayer", instance.data.get("renderlayer")) + ) + fill_pairs = prepare_template_data(fill_pairs) + try: - filled_template = template.format(**fill_pairs) + filled_template = \ + format_template_with_optional_keys(fill_pairs, template) except KeyError: keys = [] if fill_pairs: diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json index 5c8b339a1f..581b22545c 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json @@ -427,7 +427,7 @@ "children": [ { "type": "label", - "label": "Set all published instances as a part of specific group named according to 'Template'.
Implemented placeholders [{task},{Task},{family},{Family}]" + "label": "Set all published instances as a part of specific group named according to 'Template'.
Implemented all variants of placeholders [{task},{family},{host},{subset},{renderlayer}]" }, { "key": "families", From 30b8405f59f26ae0e1fc1d2cbf90e5a0d02ef486 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 5 May 2021 12:02:50 +0200 Subject: [PATCH 21/94] resolve: documentation init - adding images and wip docs --- website/docs/artist_hosts_resolve.md | 209 ++++++++++++++++++ ...p_instances_pink_with_marker_in_middle.png | Bin 0 -> 55598 bytes .../resolve_create_audio_resolution.png | Bin 0 -> 4180 bytes website/docs/assets/resolve_create_clips.png | Bin 0 -> 115419 bytes ...esolve_create_object_naming_convention.png | Bin 0 -> 4689 bytes .../assets/resolve_create_renaming_clips.png | Bin 0 -> 31720 bytes ..._create_single_track_rename_hero_track.png | Bin 0 -> 4174 bytes ...esolve_create_subset_name_review_track.png | Bin 0 -> 8173 bytes .../resolve_create_template_filling.png | Bin 0 -> 30472 bytes ...olve_create_vertical_rename_creator_ui.png | Bin 0 -> 6444 bytes ...esolve_create_vertical_rename_timeline.png | Bin 0 -> 56099 bytes ...olve_creator_clip_marker_do_not_change.png | Bin 0 -> 39964 bytes .../resolve_creator_framestart_handles.png | Bin 0 -> 4666 bytes .../assets/resolve_creator_subset_name.png | Bin 0 -> 25909 bytes website/docs/assets/resolve_menu_openpype.png | Bin 0 -> 176818 bytes .../assets/resolve_menu_openpype_opened.png | Bin 0 -> 5971 bytes .../assets/resolve_remame_track_names.png | Bin 0 -> 41134 bytes ...esolve_select_clips_timeline_chocolate.png | Bin 0 -> 62488 bytes website/sidebars.js | 1 + 19 files changed, 210 insertions(+) create mode 100644 website/docs/artist_hosts_resolve.md create mode 100644 website/docs/assets/resolve_clip_instances_pink_with_marker_in_middle.png create mode 100644 website/docs/assets/resolve_create_audio_resolution.png create mode 100644 website/docs/assets/resolve_create_clips.png create mode 100644 website/docs/assets/resolve_create_object_naming_convention.png create mode 100644 website/docs/assets/resolve_create_renaming_clips.png create mode 100644 website/docs/assets/resolve_create_single_track_rename_hero_track.png create mode 100644 website/docs/assets/resolve_create_subset_name_review_track.png create mode 100644 website/docs/assets/resolve_create_template_filling.png create mode 100644 website/docs/assets/resolve_create_vertical_rename_creator_ui.png create mode 100644 website/docs/assets/resolve_create_vertical_rename_timeline.png create mode 100644 website/docs/assets/resolve_creator_clip_marker_do_not_change.png create mode 100644 website/docs/assets/resolve_creator_framestart_handles.png create mode 100644 website/docs/assets/resolve_creator_subset_name.png create mode 100644 website/docs/assets/resolve_menu_openpype.png create mode 100644 website/docs/assets/resolve_menu_openpype_opened.png create mode 100644 website/docs/assets/resolve_remame_track_names.png create mode 100644 website/docs/assets/resolve_select_clips_timeline_chocolate.png diff --git a/website/docs/artist_hosts_resolve.md b/website/docs/artist_hosts_resolve.md new file mode 100644 index 0000000000..015ed2d9c1 --- /dev/null +++ b/website/docs/artist_hosts_resolve.md @@ -0,0 +1,209 @@ +--- +id: artist_hosts_resolve +title: Blackmagic DaVinci Resolve +sidebar_label: Blackmagic DaVinci Resolve +--- + + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +:::warning +Before you will be able to start with OpenPype tools in Blackmagic DaVinci Resolve (BMDVR) installation of own Python 3.6 interpreter and PySide 2 has to be done. Follow [this](#installation-of-python-and-pyside) link for more information +::: + + + +## OpenPype global tools + +- [Work Files](artist_tools.md#workfiles) +- [Create](artist_tools.md#creator) +- [Load](artist_tools.md#loader) +- [Manage (Inventory)](artist_tools.md#inventory) +- [Publish](artist_tools.md#publisher) + + +## Creating Instances from timeline items +Before any clip can be published with [Publisher](artist_tools.md#publisher) timeline items has to be marked with OpenPype specific marker with metadata. This way it is converted to publishable instance. + +Lets do it step by step. + +### Color clips before Create +Timeline video clips should be colored to `Chocolate` color for OpenPype to se it as selected for instance creation. + + +## Publishing Shots + + + +
+ +With OpenPype, you can use Hiero/NKS as a starting point for creating a project's **shots** as *assets* from timeline clips with its *hierarchycal parents* like **episodes**, **sequences**, **folders**, and its child **tasks**. Most importantly it will create **versions** of plate *subsets*, with or without **reference video**. Publishig is naturally creating clip's **thumbnails** and assigns it to shot *asset*. Hiero is also publishing **audio** *subset* and various **soft-effects** either as retiming component as part of published plates or **color-tranformations**, that will be evailable later on for compositor artists to use either as *viewport input-process* or *loaded nodes* in graph editor. +



+ +### Preparing timeline for conversion to instances +Because we don't support on-fly data conversion so in case of working with raw camera sources or some other formats which need to be converted for 2D/3D work. We suggest to convert those before and reconform the timeline. Before any clips in timeline could be converted to publishable instances we recomend following. +1. Merge all tracks which supposed to be one and they are multipy only because of editor's style +2. Rename tracks to follow basic structure > if only one layer then `main` in case of multiple layer (elements) for one shot then `main`, and other elements for example: `bg`, `greenscreen`, `fg01`, `fg02`, `display01`, etc. please avoid using [-/_.,%&*] or spaces. These names will be later used in *subset* name creation as `{family}{trackName}` so for example **plateMain** or **plateFg01** +3. Define correct `Set Media Color Transform` at all clips as those will be also published to metadata and used for later loading with correct color transformation. +4. Reviewable video material which you wish to be used as preview videos on any supported Projec manager platform (Ftrack) has to be added ideally to track named **review**. This can be offline edit used as reference video for 2D/3D artists. This video material can be edited to fit length of **main** timeline track or it cand be one long video clip under all clips in **main** track, because OpenPype will trim this to appropriate length with use of FFMPEG. Please be avare we only support MP4(h264) or JPG sequence at the moment. + +
+ +![Create menu](assets/hiero_timelinePrep.png) + +
+ + +### Converting timeline clips to instances + +Every clip on timeline which is inteded to be published has to be converted to publishable instance. + +
+ +In OpenPype it is done by tagging a clip with our own metadata. Select all clips you wish to convert and `menu > OpenPype > Create`. +



+ +
+ +
+ +![Create menu](assets/hiero_menuCreate.png) + +
+ +
+ +Then chose `Create Publishable Clip` in **Instance Creator** dialogue. +

+ +Then you can alter Subset name, but this will be changed dynamically and replaces with timeline's track name. +

+ +Keep **Use selection** on. +

+ +Hit **Create** +

+
+ +
+ +![Instance Creator](assets/hiero_instanceCreator.png) + +
+
+ +Dialogue `Pype publish attributes creator` will open. Here you can define instance properties. If you wish to rename clips dynamically during creation then Keep **Rename clips** ticked. +

+ +In case you wish to use *multiple elements of shots* workflow then keep **Enamble vertical sync** ticked on and define correct hero track which is holding main plates, this is usually the **main** track. +
+ +
+ +![Create menu](assets/hiero_createUIRename.png) + +
+
+ +Subset name is created dynamically if `` is selected on **Subset name**. +

+ +I case you wish to publish reviewable video as explained above then find the appropriate track from drop down menu **Use review track**. Usually named `review` +

+ +Hover above each input field for help. +

+ +Handles can be defined here to. In case you wish to have individual clip set differently we recomend to set here the default value and later change those in the created OpenPype tag's metadata under `handleStart` and `handleEnd` properties (look bellow for details) +
+ +
+ +![Create menu](assets/hiero_createUIFrames.png) + +
+
+ +After you hit **Ok** tags are added to selected clips (except clips in **review** tracks). +

+ +If you wish to change any individual propertie of the shot then you are able to do it here. In this example we can change `handleStart` and `handleEnd` to some other values. +
+ +
+ +![Create menu](assets/hiero_tagHandles.png) + +
+
+ + +## Installation of Python and PySide +### Installing Resolve's own python 3.6 interpreter. +BMDVR uses a hardcoded method to look for the python executable path. All of tho following paths are defined automatically by Python msi installer. We are using Python 3.6.2. + + + + + +`{LOCALAPPDATA}/Programs/Python/Python36` + + + + +`/opt/Python/3.6/bin` + + + + +`~/Library/Python/3.6/bin` + + + + + +### Installing PySide2 into python 3.6 for correct gui work: + +OpenPype is using own window widget inside Resolve, for that reason PySide2 has to be installed into the python 3.6 (as explained above). Follow this step-by-step: +open terminal > windows menu > type cmd +paste this to terminal > %LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2 +after installation finished then all is done + + + + + +1. Open Windows menu and search for terminal: type cmd +2. then paste this to the terminal `%LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2` + + + + +`/opt/Python/3.6/bin` + + + + +`~/Library/Python/3.6/bin` + + + + +### Set Resolve's Fusion settings for Python 3.6 interpereter: +As it is shown in bellow picture you have to go to Fusion Tab and then in Fusion menu find Fusion Settings. Go to Fusion/Script and find Default Python Version and swith to Python 3.6 \ No newline at end of file diff --git a/website/docs/assets/resolve_clip_instances_pink_with_marker_in_middle.png b/website/docs/assets/resolve_clip_instances_pink_with_marker_in_middle.png new file mode 100644 index 0000000000000000000000000000000000000000..403f6e94338aa7fa2d91ea95830c56f51e717257 GIT binary patch literal 55598 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 literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_create_audio_resolution.png b/website/docs/assets/resolve_create_audio_resolution.png new file mode 100644 index 0000000000000000000000000000000000000000..af22c7467e9906c0900e042996132de1b28535c9 GIT binary patch literal 4180 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 literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_create_clips.png b/website/docs/assets/resolve_create_clips.png new file mode 100644 index 0000000000000000000000000000000000000000..b589bfb61eecca0296b2888f75521675c40611cf GIT binary patch literal 115419 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%0A$Kxm&i92!?TjnAD|tcy#LnO--Xhq*KDD zLRR=3AD9;P(TbCJ{Dn)|jK5eN%5_kAgn0!IhpLUqpPx2Zg>URFHLO!$JDxI5~+U4WJ>u%2&M5&IS5(5P#& zyovgJm`%q>vRY595wVabb)N88dp{acWXLsi@cd)Y=LXEf9CpywPeU30-<+||l?Ak$ zg$+${pviM`ydD29x-C#Vc#^yt6b8ITaP^6s*Yn${vqowmD@kn%_j_=gbL_)?zP5k* zhKSWcd2VtoBYCrOq`0jVDYJHG+;uTkE#LkfSY}2*MMEjnObb@7gyH@Gk38bkbwgBc9A26z?jXRj?ekDh&3Jgd6;Faib zg+jL{_sxiGH!ZeYt1@C7L*B7Y2~yt?*T;7G9i?d)qlye24t7=FxR1o=`}w z#HU}9O3u>+#f!m)Fj<5t(F?Z4tK8f`(kU!)Wmm%YCuLz*hXn<1nSrUpE;}F}5PB(n<~uID1k4*eU#JQ4<1T`1>+g{9kh>1gB1sx`-)9 z_acDqMtrb*9L_ERkTF0Fehp}RQna*o%0&(Q1va5o#nqPl0^N%BLi}9H zG|O`XYIi8hAWxsBJh-gClo{My=ZMK}taQS}K^TZ>^o=T>1z|XSoA~IZJ(Dv*SoBfB zGq~Y2-Og!ru*eL+qY}U)$_$aMO(f{zVwOTQ9$=&Gf{MFV?Y6j!P{`14tO1lTLqhr| z@MEPD8oCOks4~=HOtnNnshRvhfOO;-F`&a6|7 z^VpkLnHyJKQ`Ocscm$n~_-6&R1FGM%0)93#f}M7c-S77x06hiTF8Ht>gt8Cd5GVKMI+B(!BS8}7g09h>W`RU%Zm%k3V?(Lm+jOev-b&ZL= zWix}-yx;;DytiAOmc79xo3|U^8(DP6oyU0JeMkz@Xp3+pdMV2!8ywcyph>#v*UeqY z?za}ZFj5OTQ`n(QBWRt^#Bqa5NFzyvRCuk5uS+-T>xN44m00C$Km3So$nrJsOs4Yg zlqLo5^Pbr7e|=7!Z<@2H0OwAP$J2YgCpP_G-;#I3`DR2uoUq++-tfr{XIuWRGwgo6 zX3u5q&=z>J5d;7zkDLRZ_^k`}I#KQ>m0zN$HhMw32O3jv>limplx+L*?}Mw8!(>_Q zcYoLMb(O#vW3R{-4GMQ2IIpwH%p70f_I8JKL%S?|ZxPZv$(s7ox@V|8@BX{nCOm^5N{hXR-t8;$9wf0%Jw4gFsp$4NTv1)8?D))u zvR~Vqnn4h$eUfcm{N;I#W{tr`~Kec}m%!MY?%vF!dbDJ#sf? zi!8Cx*fx?UqZeLpnZGJG(I=KRaK!UP%I*K(fxhPJnvDLnny=x<`u#b>$Ur#a3G>j! z{W4}i-TS=vFk6d@cD1hnJ(4m%!<$Bm#qG@l_sNsgeS-;Rah;#9=VP<=_@GSScRkU+ ztMu}27X+jYw3=WOTC^H=$C}%;Z)uSZ%zs}@m2mT&^o3Pvq0Qk`%ulk~e zUiTS~&RnWy}&l8TO=03@zYxpK~T{wcyw{>}Z%$|CiHDh zG0utBGjW5stJ#o$`*FHk<_Mgt*6_7XOOhkyDYm+!(wZtZQ(dp7M!Kvn>xRtxFZAvH z*f>OV`EcRKzK?09zh*mAm6WGY_sTca?kk1=O@-&BHDmc|l|UXE>0^m0+j~DP@L~4Z z{zqQJ`Y{D#`gu-G?`mI;T+Q58ezNTI-IC1-v@O@xbn%Ee{>+9-;-}+6A94m76hT`*2j5F^FUffNu9jWpc{Z=*CUu2s<&f;=` zTiko|_xFWfcZ27?cXs)HZ+CJk-Q3v=t#hYlArR+hxH9E|-b}2aKP7Q2@c}RX>|E!^ z#(*-{J|;7LCFyzx*_h+`-;TU;b4v9w>(4(1PZN?W&T>|x@@I&r$`wQsYLl;og7ge-$x(r2mKi7>`F78IrnVeO^q#1jbd6~pT520GxTm<;byBi>OEUm z6TXq1Nf?uC1lY=4fv*kul)QUBqG#iXV)5{n)vAs$i`zPs))+`?xF&t5VdCh_cM}bc z>yWV^P-@>y?Xekl%VlrBcTjMyef&#K+Y;M%FMEXZnV;XRB+u*L4OCPrd$Wo>D4Bgv zBGJ=5|AvMB()@&KUeWw}TyWoY^EUwlsrOY&a|d1>A%s55e`9yk-XO?kFsiiw=Qe-C zLO%BWb??<_#oD|6`taiz;m6(U7diX7$Y)6I(Ea_bw#*V4wN1qUYjx}V`#BT`HGjPK z;)wM2+WwU5Zw22V?YRK8_qn43|H?mVa}gWaIqZ|a6pzjR(L&yap&1`z>EznAV{Lb? z?$>^>wrQ}{=C+LXg7N1g1nv541HQ6HFV&sy%|v@vu3Z1G|FP_3S<+0$n1QBX3*sc92AYSrC4Q{v6gG`)Q%kA$v&@xbQqbN=lv0{9C{wLvo`U``9$p2^Kl=f0ep z*&jt!ZPYa05hHR-GT^9wTK8IU+da|Faz!)dxEFiY8jKg(8&uhRy}M*!_jBsBeZE{X z@>)YqiRpfDBEXvdvB{hDP2wf={+^_gqr4Rvo;hSVr3Ku3@828i*`Q9LF2?`pBgE;? zI$LYJDf7Rd-X#Bm)x>-F!g{l5rUAF;rMs_H1Kcl~41c#^b{U?ndGw;-Vz|ght}Ef} z2A+nhkN8ft_bh0Ncu3jLTgEJi1;J#bIu0(SPbYUSDPfc{YjI(2=rx1pYllny{xwZs zbCU1ky`zOT3pC=#kC zLBqaHUj=Q#WwgJC^9wCr3TW?Davq*_MMQ@@B$^l5CbxJoHm`YJq_}JMl9=acuY#Jv z_)uGur-HuuaA3{AYoDM)3TO6ZjrutG>`?RN{F-}}+ESP|5MYz~rR_!O(~6{3;x13r zj+f)Qn%u`DGWwr868mj6_FSY^@faNYXm#$iYfZfFSGT%^&4TZSpZCVSW#U-rdalqs z$3{J^SamU$`Dv-jnslWzAvvRKI3Zw@9*L7_u?m98h0czl1rL0jKT$89di*6;=Ej+7oeipN$k2n*_Wnk znZ7>%REPW{RwK0~(1b-+Am<^boSTon2 z?{6!bq{+|wp(ZCFgKg<^?Oa5GdS4}_@d>4^$HiJ0@AZ8H?PV8oaT{}CTzIwhfBBcJ zBG=z=k_fNbdN41%b5DeGqrPp(Oy6u8-(Y8eFSi7xO51lhX+mp8l0$bFL!!24ko}Lb z@k}zW_@ZGhuV${R$&jE##hT(5DlSB~p7LsgylUQ5#d*um1g)U*rmFPzwx;~*&Y57% zr12)_l!i}J^RIFO^iJn|4M;xN?cx-XquT2txwwS2IjhLCl6?)+rIW8Jznq8=w)uy0 z9a^`=(&O1GYEK#T5M@7qzG~W7ve9Z-U+DC}#OTa)N$#Bg%rhpQ(UXr>Y*eiIk?dq$ z?3+dLk8@j0)G(+y74Ps*Z+W7`uzi`Ko$p!wgmC_)r;gzpa!#KLKQi56d4>x^_v?q? z49&pb8h9_(WPauOl)8=6>hdfka5&Fa=ItJvXbYZxpF8xnZ{nCu2zK4)&fw}p5AXD* ziz&P~B)RmtTe$36RW)w|Lwud#bil1}amlK5uj~i?2bxnZf1)&aWJHzv!e$@y!7O@3 z!EopO??!XdTzg(#47?<{H17OZv30K+5Bujpr|iPGuJs?M{q=d$QyM_�uW(KX=}P*FSHOJj!zx6%9fdZ9 ze&0T5$9d?=k}jUy|LPh<9FOVgy0`6PIA49!;gDz5wPW)wXC(A(^*?sjp-rmC(I9?L zwnM4Uv-?Rr6OXR4YG(N}H@uBzbD!#`QGGEr9?egg`sQ-1dRlZECk~Ki9p)#u6u{bNVcu|?xZPI5TE)}F?J=wL~ur8O*M4Gs|b zd$g?m8Ru5=%e{(Ot?Hd2eJ|SR>5*5#H|+;0v3J>~#_^MX7kX8RZ_x_0GXA&i+W2t*w2BP@uIklt z^cb{VLoSIMh;h7&SG%3ANv>KDh%bJ<^`=yhMr|5JUf1NQ?fjKv&*hSt>@=lnSWDZK zt`r2*=EdxUD*5U+=N0e4Ey&5;BuKjP)zo!MO;l`bu8NxZnZ45~GiLQa#-Es^ii6(fgi1Us*TwZi>VX5DehF%DZ*d9ixSaG9b3mM892tnHV)2R?twf9>~o_DA5sM@bj4C(H37>~AHQgkYtZy4%mY5kbEF7siKFL}?n?b4L(>%8e|r9!0{nGUv+ z`Q2rX3hysJW;OOcS<}{XgYY3iuvp8zxU2V}Q)Z^qZ31t0fOVjpHn$&q$QJY=f??FD zk8@%3-)fi4-Cb-KUX)BU>cEe@`@mY_%&1X&Nr2aQ>v!P~HFKYXJn)J6lP)!|+Ae?L zJ6FZDxpBo(zvi#6{V}GSQ-S38VLsxA(QwJvWeanio^NmGylIHfNwi8kw*F&qVAlKD z_a|o(&(4IGEZLsDZm=+L_Tb48ZXFP4MH;-_?Tq_GjKCN3`W z^!+$pBI|X^c9YZlg{U(_VTqqpOl&U|n(8S5+Y}9*2pUgcnn{48G2VTq6ZpxSPev-( zd}^K)RgY)>xO(%;REx#Of)m#E7K*IRC1@FE)d{p^Jn*Hw(#?50`@rW}1$ezn$c=R( z8qq0%jbFJH_DU2i_#C@h`qhI&DJf+tC@_uUj%54875E&>A9~v-`%JSFR0qnW4vhqC zll$-^WAB+!o9&ZxH(g|AA4tysl{Pn%`Al|p!S=O1&bRC4Yf8z>?94c zPJa6KVO`a?BI_M`?$I&9pIL8=epYWKeweq3RVU{x_4yq=1s$uRHvTueucb5HsZj6; ze3wKGZuYLfF}w!HBe92*;{QRDG!;^Dcv|By1^Z+^>kxW441yt(W_|{g)TK@AWZ99z zBRdTI^HS#9rnY!g9NFU2-B+=965f;cv34o55C2rLb7xae$2#UyYl=%g7p1CJw4bV5 ze4Z@Q@0Ra&=7sBM|GGJ^ckdJK1*sTL5FqIYn|PntgKZ+rgXp^kM$w(9ZIekCPG1`{ zJtluOz3|{YrJ}=*FT8Kb%;wzO%2KDLQFnIfhtSNY(`V(o_j=EUoY-KHq>%o&va_-_ z()PZjIsatJfp;q%>Kouv=s zev@IYGjns}|L*J|{Jt%F1F zvhEV*z9S9@#)kEFso5D}8#7)fmxV~lH$Or~36?)fCI5ZCcw<1Q&USG;@w4TVW2<(a zwp#ql%W^wwahXi^)j3zc$2R9Wzn(HR)|%H2?);wk)#zBF+t?nrUkm=YNTz6Crddla z!6a1=;3!;@L^ENt9jVCgD|*RkiQF9@Oz28rp`Zq#Qm~;&y`jj~~6+d@6>oOBYce?; zB-WQkdH*KTIpniX_f+>+JL#uyd#Nker$|loH^^%p<+w=raY@?v^OHKox7j7*y9=j# zqFYawZ2q3K&1D0=z_tD0e*KxxS4z`BGVbX)YbWXdDa^Ckh^ilWoWm80&g}fGVOYre*jUs2Y{)mg&V(@6ptvssoQcHuIywQ|sWTrIXWJ_# zTsN>!fwyR{0{pDI>cWsGC*$<|L{lP%QpsP6MO2yUfpv+;WD;!xAMChh1B#_%daPF! zl=XSS!{Klt|hH4DK6)eK9Vz++S0M?Y^ zYZtikzU0nZQv>U>xzl5h@*1xcdJViOcrmqkA;-+VNvcgG++v;33mdaRKI<-xmyvlD zP**9>4M}};H!axI_Zr1N#J=;L?fuiRceDhMg8;sU&qpJ%Cm{>7uXn9ay)*Ugqphg& z@lXx-Plh-2gNwFxd{?g(_e&YM;J=Esr}#*w*%q(4t|eJH&-I*AJR&(oHTD+N zWe*I1h-{teWL+vc{E^uIef(Kjf3nNx*`XW?<>u1I>Jcl{Y_sPJ`L>CpvgZ6~)zrY% zGJmJ^;P1Y92D*%H{ds@hV0)9uf`+D)SAY{6KdmHZ@4t3t?J8jY&d9e zx3=R==hxp>f zw6^erk=3cG)95C9a7I0+V9xv72kV?@w>^(Qqa?b!TXIo6_?z=3qq+)`07nw9agpa) zyz#;|(}9-K8J2^5`|2b2D4c8mJ9QT~U#f$aNq^x(QO_CD-vK7GDt7IX-vVsjZWbjK z3WU#HJHxl{lgC#tqH}Z|?{m}LwzfOZ*ks$KsSqMLC3H1&{B0Z6yn?qcP`)l zAcxc}s5w2j&Ox5s_kt(~Pnny0wYsMLOs{{PC82TCg^xEoUk2Owr@HZftD9=Wt9hh^ z?3YQ-8^C+}>wW8NBlZt##=8`K?{M)EN?u}p!J0ew?yk6d_mbMtc?0?XkFYlZhq`Xzn1M? ze?lFsU6YI6*4me@?grCGT=5`(xs50sN$170P&4T_`2e6@;psfJ3hjLA=IKFMsWUwX-MNx<+t8(Dn&fs14xTW_2cy8);>n^n0-qW9)xl znko`V*i{|5?8$a6JoF%4TT-ak^@yy~QJ@H5;mcK-tlpce^Q(ahlw#|(tO9F7i5f`4 zhg-${q?J3JYT)hF!_RPyF}xB&_>GW&f=rfEZ3HYp4FlNAj2ja1xv__${km?G0cu_3E85!)jbF=(?O%;bgie)#9AWUVJ%hcpL?ByLY|@z);Q+7r*55LcO!d9~&; zDA~W-akDuxt2P^~mhkVkRHfqqpc_S&?wB>{PF$uxj9orkY_W|8sRk8QugFOmQ}#%P zi98CP`#E)i_heRqP_C4I@V7D;9KhXogR|%pZu>GV7a~_22l<8z)Jcwkk~^|1sn}$I zYCR3K$m24IBSU>5}L>*dB=qIwtlTcScKuebQ|~)+l%({ zk``2`_<=^|-8(1ZI(EX?ARfN3H@qGO)w9voTnB7keAy$Bk~mfV;Sxe2EWy0%!-=j> z`?8^m9yP2($6X;eYa;lCU}u%`0}Ucu+#O!OF}QBHQ`<_$Uc82a2W<_)xseLy>Of^O z)2OSKx<7P-sX)Bj%}QxnXB)uY^WAVHG#h(?PGx#fvo zggmcIr28C$Qi<)%JEOBFGCh`#IZQF`)T}~ucWT(&voxU+bFeN(zynjg1svP;`Ez5f zshOvqD71fjeR263_sQ%S$*9FQ{i;vwD!``qw!Hq^S$i+5C-HbqSC#;Hp~2HNlS&$X#l^(f;W7zU=aSoXzH z^vuCP<1XgmcYOt0><>r;aF z7U4#!@2_oVeUgP@E)IlI7H7KDdM>*2NpyKb45zTLhvS-L zIjPIG95Ff7rz0Vi;Vg1pxWYh=Sal{hZ9*#+hr{U>e^tNipVQd-&GLnX##sG5E~_OT z$qgm-%-eC+w^$C-!;>123fypbhbVSo7p`LLFKWvC~*|#tUjHjuaf2q z$MhZG*U6ELbUGbtWLbphvh}V#Eh^z*Em)9aMS4x&?V-P%pQo?8^6Y{g5rHZL;d<`% zqHCmF z^>kE}M%O*JYQzI-j*8&Hw^qKR#tH2+@n2d-&vY+PPxKAJ>6#~sa~c{2hR)n{6mkZ| z0eLERPMT)`>}%GQ;ow(y*|&N^qXdvUbl<-KyY2K5>pu*7TkwaDJfZ`GrpUH+I!s?2_U%3CU8hb5y&m zr&!S)(^YGK76NKI#1$-q#?t={q(Brg6!iCC7MTs3l|^3A>pIz2g;P7RQG0DtuOgSD zfOt2brxzFBULBIJ)TqO4NRzAv86I>elo(OrXiyHMHoYE!B(B|WH0nE$&Pq0}F}040 z0$?6^RqyKn59E^<;+i)L8)ud*G|K9&C;1vljgwz4_tw~!#d9Ldp8ag@`_0u@{EZZD z$8XJ(2w%O+D*=2aYuRE$w~=yzQXVDLD_v=W!OPzR-RHmCbPe4Af9Bx!!(LJd z4uXdBK9R@#pKn+ZubIvwhaKi1A9U$Df12u+S9^pSZ{aJU2dTW|GMsCyQKj7KnteTm z+@kb5ZUvOYixX{|!H=X?W>lmq&HPY=hf159Ad3!MQD;{Y0%b-ji@DaI^_-lVh+;6r7;I)zwO{M|kkM@U!OY)mQ4!V5d z#y3ukNXg;Sj{eWXt*J7T;yNhK*&M$g&|}w~0?|6e_xE%}pGx8X`y=`BpZvU{*ASzc zp9o6`sqv8?LsV!`H9`LeYf=sGp`Br1+a)^*VLV#d+EQ8=p{H+sqC!2 z4y-S^sF`{B&Olt3j!+5b1#|VH4#uSzEe?Bg?@q!Eb;3^n&VktjPhCMh8ushhXP;9{ zE;a}W5e&_I_ZuTFb%83X<56_LY8r^j0k`oUxLbtv*UnIV1S(zpP9OzXAg~YqH2?lg2x?dVQw>W0m^l^$h_h z;02bk9;;%i)OUibL-y}J^OAQCC(mJBQubE+?E*ZCKUOAK=kv0< ze3wkSSip+qLDbA+N@qcGSo2q4=nJLI^*Dbn z7MV>60*#-^tTg*DtZi`Rjt&+eAfOW&-~XbFfakPx3PTcqW!|1WHh1S%-^?M22V;Fc z3?qRCXyG!dvTq`HaVWoft->cSl$`b2a)u5Ey<2! z+3~S_e@P@XuUIEvCSu{mecG8zn{>)G_2bExK`tC<+mt#A&ZYbPo^{r}!@BFi!Gr>+ zGE7b{*!{>~%sUT^4bJ!gNRs%^DG07e;J#47x#|?9i)6Vd2;U~Kkt_OoK`tQQ&O3#? z4hVbzAP1ZgmM02u8@LQ0{7k0FW3~dIERw(A5CR~}H_J-4108UXE!zcJ24MkmuKb~_*kLLzBFC)Qjr|`R_YSI9t%aqrv54I`@ zKou#C?++Qo&zHAK2OJ1#+bCMDJto+l8>`U6@)Z7D%x^JrAS%R7_mvgU=D#b2IT$TB zxH8yN%L(tzH+~x3A7e43E}vJ&N6caw^QAgVwT}Lr7y;0MVjJKFgW9GxzP{auek=E^ zqP@AP72O=zl&|kVOP-V0nFkpeJKQs>tX_@Mc))3Yl-kJ1<- zHF+6zwt(W78OtsD#jC7N!Fa9RW_+roAmeW)X-TnKXy-1Ai&eaqco-?A>dOa<3~q>rIu_gE{P;S}^)}nM_x{sqe}wrFSWE zG128P(hs|K6F#(hbr?`O9+ClUNlsgcBRkiHwF6udsecq;mH|mvf2cMQ_(Tz3ox|sZ z4PRuDV&^JwMh~xV)iy_F-1x4Ib=E9v zU}?{=V(sw4S6p?{efsrL_#5v^(RDa?T|JzbETR3Qit?*DQ5bLM40E5nThT`aQ0GOc z@k+m|7?cR;dAsB>7vuSQ%Ha&MPd*72`|aM?9vP_`Wngadm^It;h)Et-p40i6%3EKX zeh+`o84-tzjuMaTedwb}$Nj8vP=f2y?-BcjDXfF=3eYB9Z*W?Z+C) z5&{7mN%*R+T(-a&;tv5t7o8yz#so#*@jPOWVW1-xXvq-Bx+nJI8*v=Dfzdk7uYtDf z`sx+%m)#Kxm<5Uhd9#8Az>omI4E|xT&PxJM_2fL&Ep*(%XBF1Kv&`~ohcZrT%(rsH z^yh^*EBDqY7$0zY*)Hs1lYS(Vc(l?{%U%y0TAXhr1@kCZ$Aa#f2Vseo-3*To;PK_N z0Pwn#KTXpjh8M`mdnW|?H9two>D{eI^-lb)k4wM4(IA8Lt2y~HXn3U&gdF032b|PM zvx=Au|B)EfEQjf)IP}eZ5dSqR$vSZV0$neao)02Y23uZ0NW3HxJ5ru55j>w4F#m2R z-tKgIR|7wgc=dV(SaF=)jwF}KBXd2K_J5v(!mi&o4?r zIR;8#-^OJna7HTb_!=1ZqsoVzTk6);lmL_aSxS3(qh3=&Cp*=DqI{E{SwJa|50;Ab zb*0mfvNZRsvMvrDc^-3d@G?$IKDNTCVC>V$LCUl@m&hbENXWQ($p5XpCub-F{b+b} zb2?XE&$e1N+kf)M4=MFXU&>$4N`DG;4vh8_A{}BQi4hb(qW0!ZrIo9Tvy$ARDqm&R zS%>P8i!aGD*%lhDv8+s_eMqQbG@%srxb*Slnb~_Yz3TV|QuM;X!m7zln8SUt^sQ(+ z_)xrlGQikg~oq8 zOF!G-P|$cT_wN>;J#Fg5(rD7H&$>v7GT`2Vq}22-JjPa+li>L3Z9>1#wc$8VxU*A_ zprc*KY1(BNynbZuL?5gfdaxwZaYLdd`amT2T&2qf(g;$(K*jL&P}HRv75%}X+m#3h zErSyD_HwKQ_x0`V(}=(ar@n5vvohcr9x+{g8=lYdR{rCNAO(C1_<2Vp<-%$xITU&z zl$4`fy$a|Hq94ZP3bv|dQ0tDlMU#OA@db8~WqisG7M0CjfZxn2AIK~W#L^D=)DZT+ z|JVsF@wNGJuB5cZPqVO6nST$YAPkj@>y7v)vSWEG+(_ZqYELIm`h>yE_ja`h4xA25 zX2c=*_>A6Q%j7YS*3q6tcRn5xwO$!0IcTlYpOF{bL%Isgetpo9@s*;v+V5IS_@xOP z2v!ZmO#j^jPjyWy34Zl$bFU8x69A@cf3vKz<}KJm*}MFt|7&i!@K&<9Mt4+2kudQZ z8nCmyRqM6v(Pq#Ycq8e+!?KE~`mcc+>QEt+#}4ra-e$+DN9;9k5Jq9ZKiYm*_fQQ5 z#X&C!{&^&N>p-z^^!-S*Q#!G@C?cTAR0q;!pqLNf&ohI0<| zmve#)8tW{)3&}|#peR2vEn}5KH`Tib3Q7RXHu=X5)I}<(It2Ld+A@}R^J#B(2^p^D z3{7m$aJ=(Yy?~JE7|IK(A(Vho+>?6G+JeDBE8!Pxo9+N!oG;kTlw1pR?*cC^2Cf_{ZrOfmpUu=EQ3Ls1 z*JrF%3{+V~43C08#WH(6KYqFfA-uc7f`~Qh)7(iHXTm@U2}n@0;1ys@y2!*tt{y=Y z>%T9kXq^?#R;^yh_F_E%T!9&w`I@pWt=3?TuYG2jA^!w1J7jC-&<@F~lFn0q)nl(e z2m%E?Z_i5U{{=G2$V$zi+=PiEgd3H@Pn4@iUjN)ZuO0Fx4*3|c{E|Q)Lm{i2&CQNFzp#1*&$0U!a;~godzh?Y$q8~F7P0Kav z*hO4aMe_o`$wjgcWX#IGx)>?X$9!JRq+M}Y`(jsn0`bJpF~c=Vc*GLG-mdgYFn`JT z%0;=KXH%{9^P5!Tl^4m0bE$?crC0Z;wfyx-~*}n6Ugt8|a^Uu#Nm2K*GP`H9Jq9EPo zTdvncVS(4|U|#3!)^Mgn<2Erh?F2Hj$e4c$Umy%FJmVGF6lYI#PHVUUkc6fQXW$)D0S1% z@$<)S#~vV);#f6#FQ%LXIDJ#i{+*eD8p%8@Q@FqhL|4y9BY&CyO+J+w#1PI)?|a{A z4cR;_NIvTV@K?*RqMrr5g>~wLq70U+``lW)Bqjo#Tr%@8SXup$DC^*<74+bVFV!@T@P`p^ z`DbUtFaR9B~P3)^BDEAH9Vo#!4j+J2>%iNr5E>d+{#RI+=-@? z4)z$MM`e72a>N6xMUr@?ye@{>+VktV&3F@*`3PNSl#YTMJ$bV3mwrB`^2_*jxsp_Y zwUxtZO88E4ewv&OkEp!?)NPq94YDIqg1sr(WYpr?9apa)13gZ`VxkF`Y$G{SP;Gse z+kv4|C+zcp^KT$Y$ljX%!`56Q-9R!6{?dASgBC5dD-rJGrULIM}%C z);|DAZ1l|+CK_rHYcDdtjF`qecd3trH8YmfN=D1eNi+joM+pxyo(Z~=or8wAAO{X{j$7KiE8S{Mu12p))pQ6?yc zk?mX+7pS9pz3=^yytH=FIn&9bUe-ltPI+KVLuQ>8;zsP%Zr}3o&WNdB#!7}wauqi7 z1q^0EzL1QVX_3CX >B{c&}Pv=xzHm3Av>>n_lUk_fkL~p#A#zpPg?fYP2HVj?P zkD9TCJKfCluWEUwjtMWmV?n3N=@+QJ=l;nH7o5|zaZ{xUM-VyiechuZ@Sw#zy9ku^*t8Yk;_53W)`SODK@pvvF zXU-3;^Q6mXH?k5ok2T97TT`TzK&pR`4__Cy{J8h5zH&^1?c1yEwJ<6&^fU=EY`fdj z_BK?g-NtAuv?~-cTp0}I&#=yiS*VERVj>p~EzPQDwv8-cIDK9YR{L<~Ie+$B!L!iFZ7seY(p&~NQAx-RZ zA^swC$(?Mz2D{Eci}5l~uLZg4f7>UOT&3}AW_Rk4FMLrYn*33&2B}&&gwHG!9N?0Q z#y-UQe{9pn`}fD$zT!Z?o)MOVm%}+!g~VV9ZB>a-1t*#QmFc-RAAE2LWOS98wKq*| zwd{fXON8WoUZYS%+t#Ke{(5OWf?3zFh>N@~QOo0X$N_zw~E;rXajM(B!8|oItOM8|P%va2~ipq)` zeT8(z^P+!VchD=&@6TtiMDR3fCD)vHTUwSYVJk0jB^>o91j=C=VRCQF%UjO~>E5nw zD>ArHUcc}Zl0tqy#h?_hYe?K3xrb-K(k}x#a{ynL4wdvx06ys7+73#Sp4}TEO~P=6T4O=XfkA#bJOn`YK6NY)9Gn_exn3i&2V(AZDV5I=*paZ^Cg z(Q3>mZ!msOP=~#Mj_4(u{kk_lw2gAe(uN;}*;#7ni|Yq;8Aue0QpzpC2|sa}2g$`R zeGJZi%#4N*ly@7f^4C0Wbx>n+%N?n2mvxj46S zLmJB(Nqdb+QOEn?YiZ2jnmQC91AV6nbTZzgfAp%nOZqwzSw7=+=_}|4-L(wAP-z(6 zevK`R(C4*GObf$ih4|J;eP6{^F%LD2twm%}CSaY%&1ouS?IgdU!!<*DphQO8?BXYf z_w*RQj!6D`c`jqjDLz<4h2&xrBVhIkq%Fb5CoRP$>abzKn$_8`NmsGOLB$hW15s^9 zaFItn3>aBo;WtYi(bq~HH=nmjaYLnHXUAhn=C;cF*G7Az$BK6^5JI^zoKE+M3KF zg#+fHp$_6}qtsAms!|M@agQADlBsI66*s%KUtseqVJV#yO(to#Ym4}0$h$#x(F9oP-jn-tAQ3cr<{u;roI%TwBb3HU4dL ze6w?2K<_E@Rv=n>kuUv4OJp@_!7Tb`h`LOR;Z;Bvi@>-=j! zY>d;XQ7c)FixqDJI&3Px)ENuIHd^IyOsLzO@uKP@lQFuW3C3SA?7&b0%F@yGtJsj( z?jOC&&2T~fp0Oii-oNLzDYET{NR+8tp9>;Fa4uoxB%_D}FH7DX#B)1VuQ1L-vN-vREvO^^5sYiM)MsW`;!i=t4TDdBpwXio;IM-E zLJKUh?%Qjkk?DJ&u=;t7wf+q{^=QQnKph^F~gP=s*F3wiNC*WP|_;ic96VHHDw*AH8E=EPe^lZ8!aS7p}2{o1j{p$>ej zczvLVpw)iem~hN;^B4TqS_l90p%&$yO>GmJpYh}C^^7YD8y$)PU+Oo^y4Lz^CVoXR zPNUW~ZL7zKf8)B+N|SBa(&)$>{0p*U)5X?BZ&61P|9!uzGuO~R6=m|LDFO3v zWL>viw<%eIY!!6ucCsE4&_TuTDHPe09fS5@M26PF1CC-lZFPOa&qC=EhkD@etQgL6 zioxux79!o7vX(%n zcRa{?erP=>l(`SF#VfF>FSG6vO$Oc_v)n!<65L*kZ~32Z7ND(Cne-xB6iHreD>K!- z=cSF?k8tLr>Kx;AYvy{EBh$rULVAB=iPP$u1xhWF4KC`GQg!Tx$S;YkPZ1Ifd6e=b zdl=_=EUev5(D9ir>4faMk<7ytXn0XsVNADncN$se8|U4Vb$A(#eP>KdkkoE>GG~zL zUw+yZ+{UV{EZ^q|=R+Eqm!%<0KuGqU97p)=z{meQO}nG38aFXYY9Au;mcjDUIqZiNv{@(CFHpc9Mh1K-KAErj1aT?B5ZA8*}J4EqoY@kEUF=PVfABv-JIBUO8JS5+7 zQm2RxXKdBJmc7KmU21m6vz7|GCYy{z5Z;H7LiYJ`GhUHTlv4^QEmZmyj=i|8**HzrD6&HXyk>*p#-u)97j z+R@}8FH72amKGoeh+Rs7zV@axpo+F%X5CR{{f5lCINN&Hex$39;~r=LTn!iMFM$#7 zGz*@0$KKmRyilX~i*Sot+tDhc-y2&8+jIP?1T@wB?Rm>@+`P~SWH$}&PV>w{FTB%X zblvp{RxD=tUX=!#HF_)dRKKtSdU3l1Hap9J5UE^d;8T6%o}1Vg+FQhLzQbN+MvYwm*D-DYv{Sm8e{_o7WY z#WCzPvg&vE?;JVc9w06)5q=gV%_Fk?4+zweRuIEnh+zm~>!<+yu)yXSmLMEPdArjM z7po;U&^qhAN3Mt_b4Qbv*vSs~&FG;go`P4CBjdDuP5p|9NM28|Ut+5BmIgk#%E=>d ze8X<-v=M6!VLxc$b8Dv>hQ0zCfl49xOf3st&nbOlUk06X?`R0-0pCOvS=#OMYG0+H zBC?e(D2Bg0{v0i5c=pp1saQqB)8kb?1(IpoS;X6W+7_tesG1#6A`Hc&1XAI3q`=;Pc7%~BP4phwkOKcf0!6PcHM0-Cfm*wIAZ4NVHLtu&OgnBzVDctWsd1XdrtV&Y=Ki3bq^9#4jTlfG-Y z*)5>KcgDO#UL|oPY5wl-87iUgc&?ww#9eBofC{5agHf%z(+Xsd0fI`@z5H4sX5JhKab-CO!p;^g< z?GP~JMr?@)Z2GXR>p#%A7NQu&<8KkdyROzFHe_5JWnpaUCD3;u@YYVE;KJ3W5RMHI zyjptU+Mk@bdg0w{(m967#BrYU6kk=3)*e@gj$LRAav(*W4>t>KlV0g z07_(e_MOymDLgA(f3#lAk{!==Nj}U@W}SNvlD-28THx{TK-Tj?A>bE~%mmFA*jQ~V zjJCT|^9UI3Lgep)7OY_I}eW5O!Eb{I%$BLHFjSCKK%{aX{eRm zFEj~CvtMngkX=nsL?r2P?lqQtw52BlKSw=DTVu@Uuxs!u%!V&C;2G&J9j|r968e2$ zGJ3}j?-OXi!cL4+1p-;bPGq31`gV9pU)z*Lk=S&{k&D( zDam9^Q0)uHGB$QQ2wbmCk@GO2^cK<=Elo$_AJUlFRyd9veq{B$uEDc~E!8O9u=<{K z?l+^e0RcZ!yme6JDY~`FtCIBB{-3Tna~*$KI;`M*Dc{A;;va6JK=-zS+#&6;D>Cbk zZbKZZ}l1iq|IYIme>p({u#PQ5Wl&j2!6*vmI_9;i_B+HETHzKx5eMKa{H`Qy{#0$haG+6x{zwH zk6&*mztNTFl&wxKd}`#BwU~)e?=rLNLG`DH_a{XCx(W(D`-is2jet<#P;fziA1LDZ zhbq34MHbDsYwz>~8+$8zb|*AS8Zj)4*xDgb$0e`{>Z4s`*4bp%OHF7+CN!Y*D`FA^ zZYe|7)i}=q1tuTQj(24vPl55xn$+nF^ogoMbMc!-VCSDXY;cYu+@yU1Ca{B3D5e;d!Ev#+a@Fc>xE8G4KpsAy1W~xV@89t zea#o&nmJo}qj)<^Pnq8VSt-JKAmx_ss-D7yObt6@#091B{J&NhG8m7G?em8(Ml>xq=i;3bfpJsFOj-SNsU#QYBmkVL zG^sl~-d{!kERof}E17B0ulvj)VfF!OuSZbzvHKpFcVa^^U^n={{jHlgmi6QvT))OF zS9LujxuBX@ZlhPxvURG6F8xlLZam_&p_SXb|!Jo zTeOL+ElB)yF!%e!((e42teGSmi)}0#-f>>e4k8;M%LeaikgH%Lw=*6l4V6yGXP3O= zjxyCz+RnxOllBH4O|#5;nLfpFEQD3T_jHq(qHocfe?=W=aVvV8(Yj1%Dkd~h;Kkh| ztFq(6Iq(c{PVd0Ga3Fyjle!a`%8s;QLplIi_Rrtxe2m--{1@;s9Wn|JRb zW21G7OTh+y0ESjZ)^y{VHoP})rj4Y?VC7|qZ4W$Z55&Y3VqYb;kroUdyy_$e*gwb% z8R!bWZY>}BQ>XE;$KC3#XMS!clU6JZ?mBK8FOl7ZxWJp%fjzo3$6X~jHKCF2k)6QU z*zjO!T)?%%iL3{=GAN}7zB#7=92~(K0&vM~(cwLad0vyiQ(XMPV*@I)Qp=&hNtGCB zL~u$XWyM5Z1{Dk^`3X#Vlm z!5Y*uzfhIA;vHd7P;$VkPy1Id@YO9eJW_#%75MfK+usg^KsAnvWLOuRy0==z$S2u4dGK72hk(0Xm`*k0nVSZ(CVM8afMd|GNAt?D>GH2nZ)u0tab z9^35cYLOJ>a)K-1N?Ua9z^?^KY&EP{zjH6idoF&USNDcj1DjY(&Y7~TtW!SRO>s9fOAe6gO!7BksDV1VkeBO z(Pw@edAkMANK!+P?j0FR3yu6UC-$J)C*dV$augiU-gr=*_ugcv#ZmMrA8tpCyBDuxn*$NEoMrv_Q`Qv7$@Qn*Z4Nv4u5KK^d2bb3pr{ zfVGKCrRUW~*~d?hsTHj13(95Jb4%$3J^Eg1*YWa94y_tyNa;vzjN|Q{>3d^eOds2X z8L9$KEC3&A#qj!{?&N$h7^K zc~kD%I=wv8S7z6p8KBF>EWRgdoMNDuLi9>T7?^ywf$MX zSN1a5sRJIAy5bTIYVGm-Un$4Oa1LPOi3oNsx30-yo~q-aY6Y2n#*0ltOU6v9aoABq z=cu2zO4{Qgk*|Q643|Acpo#6EE(jK7lp+cksAZj4E>Gu!nfwWZldwa_{;XQ|E+l=x z17aRD+o@@wn&gLm&zP^7fi=5=q6LJf3aL#L?1LcIjh_m7IX#;69b(80H&`qFN9pNkf zJ-+mF<3JizgUCZA%$)_tp=Xw0(q&V^f0k`c zW?fWCbcR$m82mc269)v@pP&SwfytEd_9x4;q6Y6CS)GPBdJ3illDggsA$iL;oZ2`$ z1(uH0Lcn$_N6h1k<2N=bQGKMtE1%sJBJ%s`{FUGLGL?ZNKaqsc?6#0cvJZyeEJ1OP zg7PZw4%5$!mk_%)YUr7wKZooWEDQu9z|8gd5`X@#NMBaEdOrQ;qv39&?vh|Ds4U&F-a6P-JACJtHI`H~_l8 zsJ9en1r)-UoDqCQiQcw)>78;V9!PCBvmj;Mm}cD{vuXnyHf^tI&?=w~TPSfF+`ygK z5RAR0Gnpfc1{$pA3nwKY1-#{JO)tbEyvr9C%SrCHK;6j)yDJZTRH|;825E)*g*dFP z?nVag81}mT=RiAegxDIQ+f9>{AXVq`#p5ZgD5bn{!i9{>AjECR@D@44j+?uhK5 zi4-!8Dspia)=|`tj$;*vsg}uEEB);+VW#nylt2~lm+u~ocQc|+MiMT5;So1q$9I}| zz@^KM{CnK5$>=$Dfhz4f1*d9x%#ln`<;lwOvUJJ+`#{Omu=&xRb0W%f7Co8y$79+K zVpv|pe-3iYjlccI^^lE!03SfG2Q?x`{_L*XW=-&2T&a%) z;?CPOs{i}-lOKGJbkv|9e;gvT#pU}S6Zw2s&s=?=(|+XFf{H%V|Ev?Yu`jr#nH)|HEs8}q+dZ? zD@(vILI*(NX_P00G-VeMnantN1U-i?IssXV4BYA-Uy-!(i~ENXe3E57pwZBU|LlG} z!7d=r?3kw~4xxhfQ<#R1`-5}cxhL;}I$-N1NlgEfBQQL*0|AfiazfWI(M5)^s8Vq&#hmZPyi|Pb> z%B3z}sVd%H&cC;}#~asFLt8_$zHV)_@#yllQtH(Yo<&ko8;e=1z7^M%9niF+;AV}< zzD?q9A=yj>iRc08btLkpLzXHfYg^o1{E!*DF5puCXQv}KS5D#|##!Op@=5BLn~;>wha|E%plKJ5DPT&a2wsEfJFGA&n|H$oV`M;VP> zk8I^}89!Vn|04KPpAW5azZiOu_lcmV9WTb7Qmjf|+gX*|viqxK%I*|c zGHa4ppH=2XlzHE&%&gh4sV_InC2IEqs`1F>;>yWGP4AsQ)&`8>y- z%J0CRQ2GzeY z&;RdMxzUml!>6}9gxKJPYCeAcA-Fzu|DjX^k9@mQ$GSO5IgjgW`gM<51y|h9!%uK9 zr?a{wUfsZXi2Lv^zmAE_T6t}k>QnPoVHE}un~bHwGmtiGZJ#t@?Wn^uerr~d0o2x| zjvS-3zA`3sxOV*_jPV8M*89T2z1Q4fqRua|HU!-^*}LG+nSJd2t)#Y^#)Wd@`Cg8@ zO(ew;bn)Wixrn;@w&9S6l0orpg5+le^Phz)l?k+_*2v0-Jf^N#r4w5sX}7c!zSf$$ zbuG(zxG0^V98I%E{XA;tqPR39VLsowDc!tT(Cq4BTDq89hJ+NkjOa$i5Tc^SY}e%H znH~l!bsgR2hx=FR&$g1<(e>Iv1hijQ`CL2^dpV`i(l^{PqCmQzldyvCpHI-X^JBcZ zM!?m)4QF#~Zz;6$tT0I?02q|GBGkoo6 zNGv4%fWlv_hVb!!&Nh1|aDU|6L7H3guQWp<@f9P{1Xg%#6e~du62n}W1OZvzZ$+XhR38@s z`&w!*dNVq{v~u&+SG4s_0vFPo5XpWmLaY${sgI4^Ss6%h`4mV-kFDJxY-vf;rA;=a zk9YYnI}WYt@LwnFnF;~ZoE6P9em9pB2Ug{!@8N;q|Fv^~H!y<-{cEJa9(O*H2;y-} z@-w9|)$lVfovY8Ety#aTOV8FGzwb5tI1#n^#4)5-KY%osGu}|6)zM3@Q%!`d<{XQ< zllUfT)oiWZ4ANdEy?$kDqQPdIpUyPfis(~Z%G5VbKcmgz-6tD8UuRva_9Y8{rljbW zrvX+vmUEOk%;u~(@=3E=JTh z1#a@;7Ac{#gwVm7D(1@?^id099eaVtz)I(9AJXZtFhZ({@&X*tL00nzR~kHZu%!0X z#M7qg5W>+C*BU^{shZ2=Xt87KN6*nmsFske)0La<8##8@81<3Zqghzdg_IyzhJd=X^T(u=9Z#d*6HAYhBk`>%JDphpB4qf#c0JVJuGkZ_?y!Qn6E@ zVOh&AL;Xqcqn&Q0?8Wgepya9*z`RE3kjNx^R&ct$a*;SIb5wD9lAPB)86UukmEQSu zYISb2lipa{YwC2ODK>qx#2Bx{I6Qv$irCA&X#@FPUH|Kt8HTvE`lfuk&0$82Jz_0x ziaVmI?pa)b_Pbw1tQ%Vu1gjC@b8AA;${Yom(XaveWnS|7E5@fe-Mi!d~U&cd%s2IAoFzFt|_f`->=o( zcXC!E&Fl5#5!2P04Qy`AV8q;PG zI*oGfiOZW*X!g61a=j?bemx!MI({UV$lx_*{9EqA3pE&r8I6`po0e^fINjck|C`Gx zm&)KZb*C0?;5lu^Y0SF4oNarY``5TkM3y*6is88|ex8;}4h2J4yi71^;BbtP0qTlz zO|&S6P5iO=V8sgGa$%;e(zTS%3Satj%-}g@z<>2gyt7}_`j=tS%C-Ti-Z&{NGx4=d zsm;1V>1+A2MDCkk+Dvw)*Uk-Uk3M)$J@%%T0}j)Z)BkjM_#)vEQO&A{>36tXM0{W~ z-ef@TpWQ*L-!zjoZm|_VRJv+V`13Vhoh{#L;N;B$wQxz<)tW%Ya-kr9qqXs|&B86z zK|-$AS&nr3#`N~?4oS_K-Kmu4n3-1nxl~J==VsC5fa8=|gg|#o6K~~ioL_HV-nniq zoJyLh)~|~}Rv_D{qh>Z{a=XC|eo#~|znfFK<5bBnGvzs;0*I84`3?|-k&A*3YINmM z{Chg&KLUy@`Tsyu^|HbCdf}6|qkj#Fol=OH0*sq?59wUnk^@r=^Ny3JP=6SFUVm$p zpDo+jal`gS>CYr%1*Tc$49{5v4(eC6kzYmWcZ(C25E17WAjD4Jg+9zAQ3| z$axblEwTy4aJ!#@Zpgk>t;Nk>th@RM=?2BW_n2`$S3DyaywdLQCoP1-QiU6$ldmOQdts8K)W=7W2?yJt2o=x z79U|Ub(`!e{A9~9Uy~Q%Fj=ltTSi(>HF?flvx}xM^q8cA{E!NKTzht6Uu#{Hd$H|0 z(QZ|FiZwz$wT-*vSneh%T|aW4qZew z=w2>a3c?V}9y0sF;VJ)3GLqKBt;%x5F78V#SH!w*hm0<+F3%)j`F%AujZSN(F1}0c zbk9H9+2hH!vio&X>A6p^Q+S`LdvG*>>!N9s?Wip)eo?DfHqk5XD!SaCJJ8@X^K{XU zKYolGEA!+|!-12E{@ktx+Q=x7Lv}|Vb&EBS#sF3QXWHa2Yb`pS>S##|_V{#LZ{^g2 znKqC3d)J)Y1UK2X3vKh;*a3yzfYVHWf>GmWr_+LN2DvHjgA4h;6x|&`$`E~Pr zw|lb9QER3riQUdy(k*Rg=RxHcvjlp~PW~eFIPK9}Im+t3;xBt`vdb|qu5QC-ZdQzV5;++c->@EO+*ea{Tb@A}#Q2PIV`bPBu*r6fMiIA&Y}B`k)=~Y7HkyePi)|doM+= z4J{fjPVa7e2=in~IOZ_C8>PwRa$Ofto+ub-nczlkxscGl;V8_+^n<1|Iwk=X{rO$G zKz>)A1}d3TEmoo-H#st&tC7ZpAIs$B4nK7dzCMv#IB!u6Y=@s;8)_y}*%d0{H3SVP2g~)yCR3oJ`GaQk<{V<6BLO7oRMM)L%BF`?{AZ4yDI& zQHmh-W&_&;$B+5TTh4v&z;=)0WslV^rBdJg0aG%dc>%|Ep)6VH-$Duc^3L}-eKx+1 z?n#0ijL+OY8Rz4XwZMbM*&dJ}G+o%fOmMoHfcY4M-`2h_KS%j~wKm$YCljr=* zXEWUXw`?21{H+bmWJjbZY z{mjHLT^x4Z3Ab&lQr@F=N0=EFk%o*Dn*E42&fAbEt6!ouX!3T6J$ch759SeBnA-5% z`8Sht@BW{WdRLrAc~8ePy2Xk6<$a~)%`68OfB1a%x&o7I0(Rn>_NpFLo_@%-nvS1M zE_M#k7CT?U?i|Ynas{6L@Z0HhuIbJT-1a)^ix0-!$?G-!eFfcD)9ZKHv1$BPBBTll znh_aZdfk#;&JNB&SpN~@k5(ISH(QQz+ExW|W;vS`j=m|n`J+^rVl+2ua8Q}55c_A1 z?)BM5AW1#3OvoDLp9S;kJ-Hh7Uv!3xzd%FAIaWC!XwbRd@9QanlONI9(ShOOp!|wd zE9Sx(tJ(JMb6LRPZUA~&$TURd?cpM7`-dBr0-w|J33Jdc#p_5~0>S)#W*xk1*9fn( zg>u2F@4OOpQIijSpsZ&9T3%4$YC-PM4F?Qq;zPwS>*@Vj554`e=@Z@D)z6HdeK(|A za@@cP1njej&zq(K2jkCB!Ce9A7F_ci#r~(P3++zA4LXM&_!SE*GE$zq_#6uB3=(lp z^rMSS@neAf>3aK#rCbTI5!-V3Z5s1;G?A|ta_HiTPXcanqoa_2$@K5g z0kvpTEuCoDA_*+zFxy(~@XuJOm3XG~pLyb`Xr4UXp;gCU)ivHsj)&_~+%o|Q&8Mq^ z8&d&c>T)vbjdDl9y%#-@vvZfv-i_hhGcPj@dw$}iHM05z?lS&ttF-_1trOkX1fb zZ@Dq_{jcx$E-=)or4|Si!#3frYiF(-uc)32eedTB2+Hi--@)hLb=!Wwd5yG#n`+r# zb;ODZEr264?m20(bXr^pZer*q7u3nf><{fXmpyo}t7YcQm~?5%?d<=%>((Nr z(6Vr**cl7wV^T$+Ts3%cQC>&!>Axz*7Mmw4vgJ$^&Giv_DOVD0yXo0|fsVJR&yFP< zy6mO2c8NmzFuN-7;a~;^^F& zaO>gky5)UJl>qx{*g`l0I{JAFpEWX-#r?EP(}kS2c%w(=s)=X4THfoiutn^y=bg}0Nr-v;5572B zKdKuQravZiD+H|BaTGD_&1vK9`=0$Fbbk0tU=J!GH^z9FtV_mN(4OmH8=0GF?1>CY zE0v>gw5X${>}uD=UP88=s`S zx0ugH1JCqBV1c_m#Jae_1>K6WaPH{mNK=b#qi^QN>xi+b`Iq$%{Bu1QEv9cWwqKjU&0Df+J=fVX-OXp8xJfhCw#S@h zWo3E8pRXTYOG9Z`ROo+*l=;9;J6e6d9UmLSr7rxXouU0UR(#g4CxQ>{{pCwZNepgt zTBA@k{xONdmCNN)@uUgiQC<=uA~7b{_tv(QGhliUVQxx1r;@m!`(H*>2RXZ`v6l>$ zS{XNfzh`bogVHwPL7Sz(U1EA=%@F4w!+U3Kj{Kv2QlT4A${L%@KMLX{#zqXLjTzt4 z)4N}h9$rf@fo(izHbyk(*5diBC1Yl{^oSzQZI=?%D&~ zXM#*-TvVe$PQ|8hpKXVL#Q6mkqZE4<>X+Ic`Hc#>ZV%7(K@rdONIHk5HQ9xY(SF7m zfeYf6a6I~5ljcEszav~jMa1;MDl?8d4i$oxG9SE$2=_h=d#L@r)vxowWM@uY^tzVi zV5&l%Xi=zo_2s6jCua9uZ`c=o1N9yFZT_MaV%!ZmBiGp5geHsIlk8i~e;{Fx?oheKgwj>2#O&^UF06*0Z~0((4?%?mwbPdEFO@ zE3eOVbtPwLYcdyRm|r2?Xdh$s6>(-kwoyl7EN33uFr$fgJ#RT*v`)$i32e(+y5GSn zsf-F`{Qef8Wh&U1ss1{w!%a@-+XD8l1*M(z$B6y(AFrss(OXD=1f!<}x|&DHq}Usz z09N>J*e)BUu%4VTF{VY02#9jA2#iozC$U4E(RIe5KIhDh6_cJ=&n%A>C$&4B-+X=P zqIYOhF-2`Cn^sEOd`KymI=>sf#-42&#_u`OrV=)2g9zAL%iZ%!!^owjp?50PeKVoH zcQp3=fZ-4uAZsgO>GYC{jl>M^r%wX%D=RH@Yt|m5!aZ`hqYQ-QtbQGYu-YfSuV-10)=)D7aMY4wq`jtVwBQdG=J-&8j<8J}A;3$j}U z7}I>sX7$Z(%vuvgqKXRbIL5I_S%qpGvuYu|$->x@b_8dtB*296PNP-tlTm=&tH&EBAg30wk zP)(n+&h=37GuDXnKaHW)i>+qIA<*M&HdVX9Ii`>PSRrl!xyOsMU#OjJ3Qod~sG?s8 zYK=;7;UIleZvMQisG#`m)QOA__N8Y2lp5v)OOP}b%fiL0sPh;Z0orlf{^-u?n~~L) z?v6C65}i8^KxmDXcRJ~*3{+pb17eo z=`ojC(nk2KP%T|WF^tD2R^5GgZbsxKk?0eI9yv6zD=T6hOC5pSWOiy&~1-k!Yu>pJL|$-{<&bs`FT-oRh^@ScCzz`-$_^|t#;fm$-mK> zj0+ozlunlJA4I(WIFh3;tR>pHsWK?h`!ENm3e9MFvE#=xUDY@JQtxKc-JyYplqX7b zRyxq@t$q<{NQ&iOKI<*)zZ!=>EU9jE5ng`!{8-*U*`~5zAkAd#fW&0M1}8rv4j%+)o%(8GhpHaA>f?)qSe`v&QsHbM^N0oKn!sn6$aj0u< zG0Q^0m-?5AnRhi|h`jB);v}XaQjBr!O`BX5Y{~o@GxctT@CyBP^_b}?FCJXf^5HDB z4hu8^wp0Ibqt#84<6wDxawJ-kE9{a-f0N1NnbdKwvE_GQ69>`i+T`ygeuhGi<2=^v zNHq37mUig2LS#19az()^)bgU^D`9dV$}X?M_j;Sps+SrwU>9p!q!YL^?c*e9!=7B1 z?O;p%@Y_&c^fO-f_q_exn1Ig8@QCRI3gbRQ%~zVJ&P7NpuihQn`q}{Ev#Q(0++3n_&Od$5+Hyiw%r< zS^C(l+0pH0NRzolRgCE@*{NjdSg}rfoTg-v$CxQCTXD>oTO-ud^5^u}HbD?wBkyR0 zLp4LAfgO7!gK0cBs&iW+0z9#@z6j{CM;fLU*cAZBhuzx8d$V#w zkJB)fOmR9#q-hxJtB=SKd@=)V%7&kB$*}kU=SKgGK7!YW zO8TSz_SI3TioWW&!=El9Kcg8k-B04LWTrvDiWRPPKCY%BrrCjuR|NJldp2V|*R98; zcszf=Y!np|k8X(HQ^tQQc1PtZh4w8994=Sq`hP`bW=O1G*=1xdbGfClCol?^uXR4n z*qmyJ4X=X5TOpclmc>Qwy=Y`~O&-SU>kTs*Ak%^S(W`(_F+9-3GDs@YfjG^077Uya z)*MlGSP;%lTp_QYCs=H(OF-Pn!V@KcCuE@QPouWAKe7`Wlwrc$SN_%P-YGVVjH58x zBVDLeDJ`bzgU6m+z;|9c&e`i+!ra9s(oc2BOeG&P3bt3eY`&t(pmUV7e168~oQS?- zUOqz~jaoG>Ydh{M{}l@_r#Km`V?s>7r8BlsC&Wf{nKZ8FGBlP5o0pH6{YJ@lE;LpI zeluKa#sc%HRl8BqSF83JW}~UoQ=;xp{-1cPpa1NVFkA6kBR2aWa5fG17Ofhzd>V$7 z7ro%+uQY6cTuy)XlQj*)IX?6jxS2%gu`@5)xdK*hgE-HC9uF6GVR+Io(+QYDUi67U z8jr#1^LNEtzeYNEUB8XoEHQJ?iRqF_QIu>%;9Os=kq%1{;c& zd*NgiE2LgqvXu=PHtVtuTpC?0g==M=R};n7R78aDe~%PRYm(}oeAy#~U>KIvR1rU9 zO^#yrG$_TZum}(}R~36i(%RRL_nl9rMn26v7L)2&new*II==qKfP&6mpc5$U7I18u`sA`@n3`$gZA z^1r9#GYx+r_iM_}yC%^R9OcdVTYu<=!G4nBDqELN$baIv#((1Y(TY}}I%u+e`hr_F zv-<|0KA8GL(LP{+l)lRO?(GU5kyw`yOB_+DR+-EhG|q5RjQ@}IXT)$kw8z?ijd~lZ z=J9qY2TGfF)nClN0){_Y$Ygr)C>C&3z9D(`e?x-XUQ?XpUbX@QK|gZ9OGe)K#$cgF zxGc;#LQd0Il^5w$7@#_hHBoG#KBGP}*JRnJKDoY6ec-n$5pZvx*E`Agk+)=LyPRMj z=BeN<>B7HPxY0BgeI;5Bp$peP#UiRmXRZr*4nWriWzvUQa){TuN_TSyiG>qw9q>tI z)R-)XIAd3W4lY0*T1&p&ag=_(X`Ygj0$$2-OwS3mIe zNC^&Y09~n<1Dk0@tZzTc5=C%mz10MX@OL0Vp8bBy|7XVCLrpO9IuwVUWjc)>EvJ`s z@7@bN_g@GL9%TC42m}pGB;pCnh?BijZI!im7}GG($AkHgSo1K?*{%yW!N+)5 zo=Yc<`=n#7Hs~CW6$}L0gbO<@!7-`*aT{K zSB!!sA|8sCVqDw1JtrcWjyl(Fi6!wvedt3@S}lxUyoD((eR(s6SVvq}L<)Unn}qP~ zU(Q-WSe+hji~1kF7Ad`MNMFdf{GJcopDt3$9rLor`%%qSc(5mztFa{H&fmA!F5jUm zZ5k%dtN-0&uSyv4+co${K@RkQzild}DgRmSq9ko5P}-GJuuMWri=gW@HG}M{#*b7R zAhDn5yI~eQigzq~uP$9sZZT4+HvUHJj<2ELTf4r!LW>f9=;oJZc68IcTTW#CeT;)L#0gXc^3@nemd5H%Hit z@KLtdk4VuaRV70BP6nYrhXbP1=BnwN7T^6>pG!(a;f0Kj6&u4J;y;;IS;yK%;6AE? zHQIi5$|Y>VZD~}`Z;ZHsQ6fRy_$M<#&Wp~y(d%!U*;~;qml}#MDVExnh+!rwh2;8u zgw?)$s~(UC7<36k~E#Fr(jfi1XI z*rHh_15O`IyAMAq8gPntc@n>?k;W^ufxhv+8N#=)P!-wWE{q0Ye<#|Nm6a7`J2#Jy+!CMhF8ma@R$3b~WaB1DaBeHF5ZGM9FI;An{s?h{_iV?(2V*3x`J;zgQ zk2H&t5h{L05lOH7PnyTOQTS%8d}AQ%SdzMa1tEJdk*GrXbI$bQIK6gesoc3qxmN2a z_rM6=n$dh-#?&GhaQEfKXYJj7iS{e&-pOC}UkHmBWZ>QC7h6-XfZpwPTW)03B*#d) z6<8Qx4t4LI1b?rCDS>eAM)A)g>m!A7**?Q8Ox$bOU#z0VuhSSf_4mlGl~napcCk+U zq#P}<GC5lr5~>l!7tZe4qd!zKfq_Ree;V?ucAlM8t5hd4hvO_>^q$Z^f&oUfn5 zdkLYgk|s3G6u!%OY34=D3Y~Yt5U-t$@KF4d(ZtOt`nSB*UfdDt?qx|j5IE@O*Ulc+ zI_OP8*8M?+9K?VGUZI4VXoAqwUvrWvnowGvfGdf6y7{?Ap-Fs*8{j=0hP~*K<;?RJ zHs0!U;TT@J9BPe5+L(%*v;{Wy(@!p2UM%&*XFBGEba+hMuDj?t-0pmo*M2ZNxkXCB z>(3wHu=_`cXXS^NSO$FW-af{8CF+-TV5ddjfz-P5mB{tG>4 zU%Jw3c6`62y4gmIa&IJ|oZeR)mE!jahm8x0a|{GaTbzsh9XBD9}Yu1lb{E2 z3{qlj2uehU4T~l}x&`h~+XiA!DrR%KaX1){K$B^oFT*+{;AyOLm!n0Cm;(DmXQ~}t z-gWNGtBB^UqL2*12M)8%xtlp>5n&dy=fga+$bGunpV{=%}u>mN&w zd0FREYm3x|^cGBK`K8ru&C|8hl1zck*wdL z($&#jSi0k>Bq!pD|d#writE)dw2$pO$e1tf4LXHhtuZl@-$5NjQT@2DBfJ1 z3O_i^)SoHn(m$Pc2%dgyr*i!#{h(yy4m}kHIv{Opn4fG_;K8lRpR5DO#vR0&6;B3L zR7{TA8$LHy9}@XIK@|n|8pB#A6NOm9vUt`CvzM=Kl$8q9&5V{4>%Vn0LQt-sI9U+o zCBb80v#wgqw-G66X+NvVTbywpWO4d#4tZ_3xn;d!Kf2nivsvl07r9~a&*@ z$M;&qyCt$Gv3`=x@y$Xva4u(mW@T+~6{!_N#5fm*1o%puQ}$<6lSz=Tm-Ou6Ps(zp zlTFljnM2#P#miGN+)2VopQ~?zP$$}hqo7#1bbFs zA`R+IF=W8ZuWf|W&TZS%t!Z!3tG~JW+t-h#`|+_$)ByXA6ac;IzIjK-p}UT)v!l*p z7Ws@_O3TeJaTOgE@YwdF)=KgD{pK3x64dm7xXIYz0;2(G3-Q?e^MR`);|D5sZ`o~$)a7;5swbV{TlE3 zPr-uhA9+(qDir#h>KyoLqL#ER^`50B<44=BM z1GhVBONel?t2;nP@csDodQq$At_spQPmkv|<>Ak~IU+spL96JmbkS>n>_2eD5^7Xw zy)_Pw>vM~;qxbl5xdUjkF3WqVn9gsgbhEL_5>fsH%;U47F3WFbV5W?y`JBe(-4M4c zk9VrMF%NhyjStBB6*(W`zo;5IQY`MMy75Hc68VEtIJjib`~|&WnX~bDWC#dc;CaOv zH_tS~`MlH@t{^t20#!-{xzsf{y2Uu7s$TZFaa;qd5Btg00c; zahDv9->!&D?D_m%)|i8A;98ZS4K6NNJ6(ry9oifI;rvZ@{@}Z!AZ@*ps>#b&R6z{d z4V8p248r2qvYDw@ev&{ytAsrpx>;cK2|1nrc<;RrIp)794p8a-;I{5;qMl_js_hL9 zV6AV3BC9RUzvpoM2!0^7W2BnDuv2m^H{P3FG9O!KEuM=9nktgc&EszSVzGY8(v_J!$BF8Ki~2eS4|;S2f2Mmfl8gU95Qia%Z>1y-!SghFZc*kRe&}eg`UXT{bbLQh5M>#W(a=Uqgb5%aIdo; zx^>2Hs|=%gYH%)JOrK|W@!wl#sJ0-?IrWroH0EjJ0#v!j z-*LOcGS=o{08{gqcVC7OJQXAAUX>Zi#$D}J#!)f)2NRMD6y0BYHa!;dA=6FYP<&im z`E*Wo-%fc!m{3Kve#KaTLV1za>~lq(n9R$4ABB8Zq->3Jy!VJbq4fzOoa%opP0Og-SA#&qxzr4I z7(n+^`mJ282oPSgo42q_QUanK8TH|pMGo~>FaG2JcjM6ak>>-h0&A4;=02;PjV0bH zkWE^DE>$a+KC#;^OGg@BN5_KedTN-|K|d$COAx|P>j6s6pSJC8L1GU{itnuYI~JNB zSRBw%Ov#zH@MA7!{IK_hSEcgq9vXx+3pQh$hR7|JXfN?U*C)GYHa{9wme#8VafGq) z>uT<-Do+-kW@t)IyVXbw54hje!9L!;sontLn}5+h{R>5TqGw$5zK#8z}*H4K^_!_M2iR6R$ksf@@ZWah%mBWkLpp zYOACJdy$6QokH-=`a(H6Em|-XC8$iZmX~ zRh1ry@lUgD_d1yN$}Z>h8k}3}O-w9{pF&vv*1tVmFB>&v;?hCk4vt}?!F(XQfgFh? z;_If34r+T~(D;uBoAqF!Fd@C9@({B=bK2z+JBZLj)om-!LBM!8P&A>Zw4l8q;c_dfL3s zA;5(1`IjJYWLIAmSs0gT4~WntkC*nhsG}LTSY-|&(TKyUj-{W2EAQhk80Azd20^=t zjJsq6B$&%}N*W{`S`O!lCMvCnQq$5p7Y%~OevOQXX2RHRL>f|O{0@FUy7gk{_oym$ zf~I(MtSo=asVnXMSL9#qM+Zi}I?v9~D>-Zk`Hw~s4J6AD ziS?{JEb%kNbs>0@$B zDVwGpu2RrW5vR@k+SbNK$+)2H{vyF=otjinu1g3}4~u1ab!uj@Fk$n%T=?Y58S?Il zryOog-Vb5XGeM=v5S8Pla9j9Br*h&py1X4jH&~{mkn0d3Ej8R8d;;-AJ>qa-Z`1-^ zH^AqZaF82}yI8(2z3t1dZHi!&_7+S{O+{O!8>@icr+jb#npT?}G$YsuqnZ4-6bdy& zJ6ph9fLLk;J@_B9S{f1SjEK{r-)U32^1|5q<+pXz^ApYR6I!$I2a}Gf1N`M}!zZKy zH4i$QBkP={U-k(kxZ%DsuluqjKX}c*E_+X1wg6JRq9w#*M$#kj#~6a>yOCPGcH?Y zz43z!Bh^HMhFDLCGjUc43N`Gsu7qYxvi@~GrqX*uN-8rfzketrjbUjUl9mOkar88D zowBRzVrF3vMJ-8O3F}?o56jdHMko{j|!!$(Ix5z&cabcU-Kc&D&Svj1d7B#qp0&Bf($R-e@k!E6_DEDffuKsMi>{ zFZKx4o|`lavUV(apxsSy_ceLvrY^rfj0LRIG1B-sg`gqodt{TBzeeJlmgRYz^ z(^}eS*;*K6@5IR%o=u@C4c2raceYf;&!ev#<8oD*w1xllbdn>QG05ncFKp5Ak~u`l zn2!br;fh5Lb^C|q1cw6Lt}*bDamVjBlWl`y*x2tVhf#N=JxS!Fs%237EjC_3q@F^J zY>#I>*%W$5I!yKj|D&5o`Ojuq$Q|ZmAWt;WWwsD3h)^Nje)Nx3A8sZi|Iz`dx|4OR zCTa{HmoYqHqufTQKrQ~o9T2y+hpCZ(K!CGDBnrN)zE+j7HOnE%SGv2GtN`!msYHiH#C))mFPyFB;-Ot$Z(KVg?#&A5YK zi6m zQDrXgNV78H+;Cx3o)|B`GbzZNi!uE>EOVER_>i5}a0Ic%(KtgnqdC7d%?VzUE~vp4 z$wDqQC9)_azNFADbt!%}@mZw!{Q2`MG02^VvD|3wH+u3H%^q*J8@BQJ52Y6X1D-s< z3p2*zIkE(sf!}GzgM*2W!iv$*GuXWGkZMYaU!{;EqIv(f;SWN-!^}4ef`~X_YbEAu z47k>pN}9_g1+d@}1i9kpCkfjrp55k1c_hq4+o*uho(ICQU-S1k5~4J6s1qA2$=roe zonSk8mDg559uqG~E`e2=PjOj%UZy2xk^#fJDKNp=$f%4HLE!xvE7eKyXZ^r_Ts{1_ zQ0znAW-3(K<(nTqmIicy5wO!549w4)SHbApZ+^$W>_V6H-TRnWk_Mjd;j(YFvL}s> zmH#sSX@Bb=(X7N(IIO2Zl|h71yQ^QUdnn?TsNP0`*iLJKv}I)JI0wSmGT~6(GZ|28Z92ce+egBw!Z%(uYCQY?EnCrQI;cM3awOvWDn9t+-Q8 zrb@6gr{;}`e8XO3|yArV|R4ER)Qy zC}~A)5GqB#I!5`ax<8B}x%d)ul5CCqRzH2nV%myIx^0=yBG!DMO)Z>@2N}z0sUTUf zc=0Vm$RdWBO^WdbWBb~4qt^?e1rK6c(e9GR!RN#HqjSDfN~RZLb+z3o3o|DJAMlPN zlRTWGgxu~l$=xR_<%&wm0e?f;PR&&rdDZ;O0ui3$Dp~o-@i6qWF0xeJefK}`1As9| zf(9g4;Lpr_--`skuCu}GdqU>zH-|qs^A-R!e1GeFU9>X(AUzxjxYOmQt}!cfqhpCS zp^Wokk;g@a@9^5G;YXbncK`nMzyKF1tiYX1hH?onuLJ7D;F>1_%?+fR-QQ=S!$yF{ z%S&b;#5(O_$t3bs2~dcKu*)w7O|ek$GmvxV$OUx^m7>6%UtiLihn%@E zkPmacMnb4;XIJe!YjXK%Kpm0SZ9%=*{Lk5^Opt+3`Fly6FIy(tTTjS#PUR#yFVPnH zWi9|vniOj9z|~cH@XbAd^;|O9qN@jF2h;~rWJ3|VJ@7me=vkm#&?9sC|VY% zh1(wQ#X|oF@V(=Te%h2G3bvpjulKsD7 z=gWHzGD@{=k9h9*WZ6EO(4T)$?!td{yo%GCmY zLsUNNWnz2zjxI|SDI=E)B+swD=d+xv%BB*N-;>PQwY*{;h#4wa%E4w?{;7)kM0j$5 z{h--fpcJ7ghZz))V^++LEfMV0xTJaig<$_NA$v${9djQ@g|it0?I8DW_*B$i0;fGj zY3fzzX1|*KsUj4DeOqfssR1Ysd4>eyFSHMBb@tzE59yO5;v}uPkpQgyOL|l;O~LgM zl5}?3YxWV4lKJRXX3-VL!IoP#HCGii$R2gl;KG<^=pVj4-l11yKeq9jLA{3kIEtq% zA1Ix~Qwo@9x-In!1u`E_SScaF98>2`m%+2~w3Gi;BWMHzt&o!f$U!sR>uIpykco z)>zQ{iBkT0j)*j0e|*tRQg*k)t+|mJN5iTPp;Z@?2~cbR1i-2{9xUQi68A+nQ^wKkbE4-$x^e{q?pp!8-}3U#J2Y&F@8n`=`t` zX;8=<#>Gi(=7$mxXZhx+N>vXQ!4{S~z~KQ0M%}&KS`hL-vD03=W7avyIbs}ev{-a@ zb}&0z!VYrcP9i*^FH!cIE8Ab|k5`L-_yiHi!X5p?9=f-D;Gmm>Db%=i^2GmKo%dLx z#=jQf=_xisA!(!&kS}RvXcrN}7q^(BF+z>(WD*lAgIk|*R}l{htbTDmuxPnko&F%L z1paNLpxcM4o!R205jhRhnR-m~_PQkbNRMZCmB=IdIsvoMNlS=o<;gp)BTxrHUXO$k zgE69(Su6}BOMqr`s#Wv7C*dbIlt(5YU>2ufKJD*F(jte$);1>*>wZDg8zD8G{XMNV z6nPKHyE$YFyI%oauqpPXl#i~f%S7lIodDL$@Fli+C?0=9~?@SkR}EAaesE(il) zCA9W(gKuTBefL+bR=2PK#EuS^7*wrZGQg@k=V~DjY5{GqTw)pi=r#!;;rlxilmB3! z$i!}vFx^${bxnTDM>v)ORwu3mfo|$|{Lc)>yC{_>jxK@2$f35sg;EGQy}D{4bu={K zz0B&9cg{3q_=Zf>ZIrt0(R^_g0<4>K#A7=|e{F@=N{J5EDK$<~Cu8^ks;{&Q0HjCQ zu6^BLl_euVd5>?urh2m5hsm=ALwukSMy~wsmpEf<1rHhzVH;^N|!rEF(0k85FM`_8ESw0f`o%mJ4{nS*yJwn2GRz$@JkBtIM| zB;KP?Mz;MQ=$6Yuj9u8Ot+XrfKDD&>>r?8Jk5!Xlq#WogG^%Q}Q8$I6_zGAJ`JJQ^ zN*pUKs8YCuU*n1=iwwlYWp>Hw+irD;JntdQ$#Kg>aI`v>V$F1L9A#H4w68;XP zMTL}+74Z}bOM`h@mxG%na1Vhc(-EG|T?@v^IE<4(_#ii!BUtUZJi}>}&v#|sQK+GK z&|GGYEOukHA9TZlleoj(=ZWd)Hkjk&O``ew>K;!lNJmvynbOsm$xEVJx5q~5+hvg^k{U#GNIJ`@zt z#<3qEu{Hatwx6gJ!rS9$??(+tuJKlNR7BQPKLTa+|Al)qo?a{HND4@>Gd0{Jg|5AI z&@@DDo3ed@5CvGzJ8T)$Oe=Whtc1tj$`^ zRrch~SBhK7zJ{)F7y@wcPn{|Z2^M>78;S6*gLBUbJ5>SqK45X_t#joa<)jnPL|zS} z+DJAA1SYfn>g)C2fKj5Oh|bG0Ls%A6> zFwf&;Em@&rH~H!yEm%^bJ?J%vkJR<3y9@mcQ)(A7?({NgWturGob-Au&!kT|!dPe{fmW zC5XOE{ENx`p@7nS$o0%3HERO1bfHZ3tmrF3W7}_n#a7y*2ic3RzAO_E?%4;8N_o0E zf+S!g?BZdy{=q?i0T-xsnx0VGyO=i(iAstA6y))T99P0zFiU9WASvD`2@`&Um}q|2 z!1Oh$+>~m{P&z--L1HtIBR`&$O(jDXZgC3$!Lr~3n-7WbrWR32SXHFCVaLoR**VwhJ;-L)!)BvEymn#eh8SIoC zk%0$o-FsRAJ7fThcPNPbr(4x;vmP`daH4xS^Kz~nKS@bbIl*m!Jbns0*knF;W<;97 zLwELr4d-?vkM7i84?NFzfH*-Jz*hNTp1Z6#Fd)8viuac|bPrqr0ta1c$xr2#brs*B z;L9lvm!}C<3c)2R2~-bmuxTc2_@-jQFQMH}Rd4}`Pj2)b6>xq zS#SXr?^a_b literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_create_object_naming_convention.png b/website/docs/assets/resolve_create_object_naming_convention.png new file mode 100644 index 0000000000000000000000000000000000000000..13de366ef6dc0dfc5e9ee892ce2a9f438d7b60e9 GIT binary patch literal 4689 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 literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_create_renaming_clips.png b/website/docs/assets/resolve_create_renaming_clips.png new file mode 100644 index 0000000000000000000000000000000000000000..20c303e50a9d38cc87fde701db9033788f31ddff GIT binary patch literal 31720 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%0A_;DJyL>6V%LN>Al1un(65D~<@ED7@JF5@?5 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 BXuJRb literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_creator_clip_marker_do_not_change.png b/website/docs/assets/resolve_creator_clip_marker_do_not_change.png new file mode 100644 index 0000000000000000000000000000000000000000..11cc5c461820d865904126e4f601eec12a90235d GIT binary patch literal 39964 zcmcF~2|U!__cxJ!O-Ob^5ki!GEh9;bCCgZAnCxM)?}hBjmNiCX8D#7`g|d$r&6G$? zjEO8G`}3Jm-{0@|f1c;{JkS62dcLpM=<~Usd(J)g+;iUNoO|y#_T~+JW`@%Y6ciN9 z1|YrL6cm&M;8#FL1GGdx)HDG8q4d73uS0GCL*=v_?_ubBWhXYyu6O4pC7%|Cg`MG` zu|6qE!xW>;CvI|+{VsjL(~{}MpZB+L@7fxtZNcj1VDRMDVX(_9NV&@c)X%}?!DZ~o zx{aLsmQldSv3j?z?K>O-J-=eDei_%U~lWv3KIC?(C96Y`1R^H^N)q zYl3#JOtU4AXV-EH9amHJ+P`h6zH`d$ovZ#qy)VVGpaGJ#mGWWNG`n74r~B%TXCZh- zadqiJp?T+xYR9u<12bX}y0JJrRX_U+W9u`@tII-#PMu1t%wiPT4?1Fe2dla^Gfv?LJs&KhkgyWD0b z1@szzH#Mn_UG?N>tl=G_(NqSMl0Ho-9nDztoVEP@i>IWbdqLjyr=?sKM@uj07N zi~>aQ?nIt*asEK(Q<&aBm;5W~v0}S(cTv544xaRljde*^W(v*pxFa5i$T%DLgcx3< zgtn*{mwj96eBa4=>RY%}wF!;+g{NHRqfevwKkCdfz+{#woE>TOxM9g3r@ByYnQ~4` z<26Kg6Yif*8sl(^iR3!xO zFXLToLu=hGKw4_BoM(b5&U)#hJi@H2xl^a9U{qr6F*}L{Z<%kcP+$AZ=BtGv{}c_g zKhfM$09rQhXvOjtvVeFCCs84%3Pb1s@{d+wCobvnCoAa>?xmJ6I6Xh9qbcVA3}j|-~lI=re~f0G2w7}4O~-2-nflzF3lz3V6w$`i60F}@cY zcWjZ3YjHH@+eX&7DzAy`@(?h(tKE!Phpejm!ZiqUs2A>awxtzX+!qpZ1E~PN9p3^t zvq1;Lb3kecEool1Bvoy$lN1wj6_^&F83yv)bU!AMQ~*$se=lwUomVDMPf9H?B#PX> zs)Rgm6kZAg_@%?Nj+CxgbfgI8TeioaH_pmQyNS8q!LX5=YmsCfQWx5|f_5EZEaP@{ z`d|EtQ#}qRESbc1PSBTAnL8z2LKNKMw5F8cvhF%}0x`qMqFVj9o5fEFMuDuMDoo%J zGFrBKEf?{MmU@VSsN@~Gdl}}xyoSZ$%S2n;!RTl&uuJd6lZy!AX$JE{gNulVjh?yL zvE??W%+)cQLyd^IV8XJCi)~?IpXR(CQoy&kaAN?;r} zP@sLBNpgMpoQVX2<;8jHT+O`32+)1c<9W_r$4fzt$L^k8?&M-no%u9HIoit-BM$Mr zSVL8ObwK&Vf(C3F#=VHw{)g~qtj!c^t3Y>xG^pdAW25N|5rLa7i~BwBb8fU>_1m%L#}))^&9T_eZD z0Bb7=JJJk2NfUkl;b^QBe~jzMus#BYRfqJ5gnJyf{LCx-K$^fSyu?gW_9UuZps<~V z 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 z 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 literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_creator_framestart_handles.png b/website/docs/assets/resolve_creator_framestart_handles.png new file mode 100644 index 0000000000000000000000000000000000000000..65328fe041562230ddcbf118ffe929e9afa85afc GIT binary patch literal 4666 zcmbW5c{o)6+s8+VvCo81iWw=g>l<0ZOoJj@_I=5aT_c2MC_`hXEF;?>rEFuJY-7n6 zp(JHz5))-BvW@L`^!+~1bv=JP*Y#Y_A7{?zKA&^$&ocMxec$KA7#r$xv7clIfk0f> zuc2;&Kujp0oegFIep!Ehlm|{s0XKD#pz`;^-vNW!9btd~fhvi`gl z`_19O)a6&~3IajeL%cXj21YL;X5RPTfS*1CWu^ zy}(w3FO~VE{0>7^H8v}|paJxIS%_?7cNS z9L=joy&oIkxbBZQ?^TX0GB)_%F00y>S&YtfB{6|c^pC2oG~IFofuy^pn?nx1!=&?t%35m%#23rS`U0+lson~0$1x0{rZ$M!=X z-!Oc}2GNO=ei1W23s-QIh7`E;(lX}lHKa7YhWgQ?p6>$Uw6%1GQPsO|gWiJ@r-o=0 z5#43w)|9Px`f}!qyL%jRM09%VWh5W$O7q+DQuRjy9qR`CSA5GgN4_;O(5}|89lBWa z&?aE{cF`eW^cL+)UfuLi=6Y_13wH>!KO80p2s1d_QX_HNVCMXlidy{TrsXn3axb*KE$ zgG7g_A~r!c)YBGk5%;0yQ+udE`H)R}u3mD?-qUes8)DuM+k)IDxazz#=E(cAVEg2k zmDH5ge!nK?blc-kpe{Djo;xJ4$!g%Fyi93}*WsAK{4OK?;GNWC#@)eb`a(T4i_9X0 zDTB114H=w^^Y-72&-`H67=X1M{&IO-m9XIB%=co!cD%vS*(TX>!4@0pfa+MkHMaah zqOln!M)!-Y3dvHPY|a?)sst$={Qj1e#wo66x0=BB?zOTxhRu7x#84vFY1~m)>c@9X z(e3sP{Bu`5yVG)MWE@s)F@rS7Udd07B9-#Grcml}H@!+mS4d@J;U_LM4~Rtkg~>@i zC8^|I^0}uE6cGYHB8`@CNmYAiQ7^8T??nLld%Jqt^%y6+L&`AvK-f!zw@>IvUfm9g zHFtX}ii(I5r5VYhC6sUCR&!Q}^mI-nvlVEy_Yy-VcDE|Q-1j?h&oR*!AFCc?+}hzt zV5rl#?h1ztMZQ_f$}&s@gvl+5ngU-avO<$Uup@oMaP0bLy=aUWI;Q1eGY@e4^LaWd z%JIrQr}RjfLvwdinQHRZ`1!kuYolC9W+H4ME>17{p|>ra#0{82$JzF$H6;n6OYDFJoyHVkGDa`39!^E4J0QA$shWk$mIWvZ`08zQ_VQk}aWlCEbyn(k*Xin0iWbQi}jOPe9=@to5m+ zXgaDf62fGd{IhN0_|P>KPCVHEVK+~c4U%s*-y8R}YkS&p zq9{SW?WUaY1>4aawP4cG3RcD4mhAPVaktTz0SEhgi_>o&jfSl>yW=c6L9ljG_T1nV z=+{CDEt>m&IS|B@x!hjd{+O3rz3Ft3fMegX!R=Q`5NG4Fiewg+nib?(6S!&NXc+RN%BUAhF>()Y%)t^1lZXn^K_242@=n1?isM(v)jT#;#0Xy%;VHfothPT!K-A6-PT_$gRi63z|yrGQrxvA_!|@ z=TLi9tI)4b_fyOAa8K(oYKt+4B%9JFQTUO}6(_8fCni7@|iX|C+xuYObl?>2aq4xhox(j?KjWx|6*B zOCZE^J2V|TrPL4gSnJRtJi-L>63PW~ zm%*`!O?r9HZr0)}3krdl>swx(*V|%#%DLY7Y*n+2W87=h`~|uApcy*O?st)%)DCGd zev_nHXH*qfNF8$wDXrZlC#3H*O>Io>y?B;b6!Nmov&+o_S`Y^^e>%RA;&h?H9hTl?sjA zsM%jYtVu;DhFQhOF^qTyj1&+V)xmyJCo7`!IB4p+#{mz z3>JEJJHC|f*%Qn*7gib1yL&h77b{R2%sM|P2%<4cz!q9{;uIsv6a!x75X1faB zx@z99PYJOBq$M%i7Y|l&L4J~x68V=eepsiggeb~N{SQGb^I&AQ2pCEdt0I5!s-Svu zLoOSjyzQZ|9`|-eX*?4Wk4P~eTApgo!tM-+1^Bmlz>sRGad8}L)ru@&D2sM_cB=W1 z>r>`l9rzo`x5j`H{%BSoe zYVSnUYDw5?CRs!3Rs^77NSMu0&P1cUIjvc@qLm|m);~z<4*>Fw>O;s2MBbdJI0`3v zLX-)a&4SI1Btq7Edvpnrg#svc0bNz-MC`qn;+8u)ONDhSI4#2AqphjiPNfg9@onYf zi;a6%$GuE7r3W_^teAKFOHMCSHZZXv>9?Nga^2&yZ8WHtucN(+jHN2FPfcgIONZ`}mvLQy9!TA09 z1sB!xpIE)DEGaKHt>rSZPcUBI`kT?^`(VT8Dau%eao@aLX775P?g)P61&SQvEb5=)kip9F9Yee{ZAI=)H z+*yS$W)@_}xH42(;Wbwg1bVA4gwWN;!CE@zdrd3DAWiC-lTJ)|X_~-B;SI0BIjg5g zSIaC}4(HRg&43rIKGogUb*1?E0o5tLnAlRS4L0Zi7xff0?}beV{2-C`^mdL ztR7aDK9mH=sihT!x$=CM12(Zp@>z3pl%UFUGa3OB<}^AC(e|}q$U z$Wq=kgxc;~996cFYw|r8eAmw`E4GQt{{8wpdk)TxTFboN8ocYPz4_ndob;}mYQM_O zQoI+zqx8FcaAxoWh?L92k>~ZghN};LSka1`Qu#0w5x%zl8N3C-CXtv|2|glm;1X=! z5`c6({ln?Zc9rCAe?3J$2%IzVOuU7Lu*mxdTu6MIvwR}YTq_H#{foR{*P{TZ zNQkq)VEoJ*6*7V#f0?uM*R=2mP_qcL%xw8{d%w3RNy}vN=bY7ax*}NCrSN6z#W{$+*J1msth9?4L5csOZq4>jVe)6c^a#6J(ppFGm$?|~tO~Fn z8EHunR^0>UgAvUxn#)1+F0yv4pV(4&n(5E}GMRphteo}dbpEcCG_bF+I2KN9F$(AH z8eMxT@kr4KX49Me?R71&SD<7$O0LK!+ zk_(C}9LQ2KOQYeFmOa(B+@+fSjK-;QaXXPkXZy+LQ|`@np*BKN63kb7p#qk z9-of#5!#bay7;0iFpUST08|3pKqZiCm^w120;vo<22+hkcs&pC9Mq7DR($%3&JQ2e zlROtovcuS9UI08XecR`yN9kym&PbpCyTBQ|U%b>mIvH*k=z3f8`OiSA1s zvhwJ1GE14BmsFj6g%5t@wkD#=dzi{x19e&0?3m&~s-NqnMoS$2l>l6&h?0-lH_WI{ z5Zbs0Fu**ZrF-#)fY9=*hbG>YD8_AVb_B+R2IJ|bw@TE96Zk}BVEtrRKDjfTeLg-oYtS5D++)&5DD$(UF+J>ldq|?Ly0I$2!u>b%7 literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_creator_subset_name.png b/website/docs/assets/resolve_creator_subset_name.png new file mode 100644 index 0000000000000000000000000000000000000000..4a42c5af2cbf034b3867108d4bc96e83bf3ca1a5 GIT binary patch literal 25909 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
  • >$7Ff3zv+f@94n*#hNaKO<&5`GQ2fE*&mZ@;q}cQjF~QrDPQW z-fjgH^&T-a0iQ&Z2||(?LukroCONAXuXgGb%Mq`p&tVSf`TQ~Au16xZsRGeK!FXHN zfdl$a8D3_et;GlW*g3Hd%ms14K5CGOp1@mm{v3BC0rm}I(rHvVB{qOaeQo!p@~r#Z zhqNmqCl0F2xXv84`Y3oM{Mk2@<-vO?YwGnmUkR?UuKw`^h5=|FgV4&rX4_TCbDr_%h2&KQ9IrT@ zx%M6)NmT4g5++H_CCTJQ8_>EXb{TpXjgD|R>>YDL3>$TP0DA!%9lK^&o48_ zHgu5x-|&CqO;YFu$cI=K^MbA^FvG1B|1kw%L!H(!;=C%!c#+6unfnZvUiJU~Ve`k1 zh#+}qhO%WZg}gd=Os#iET_-?GhUTGc#Hvr1)p7ZhE;%ccUHSO%UyE4)jt6YY@B@gz z5hVlR9Vz`oiH0mFZuP@UfE`Wl;@ubY)6q;Cr6GLHQ&JOIN>95Te`2~+HHT61IF7H! zTjLDuVThB3ZYr9!3pUIcS*>ZzXe zHuuEbn?l4QCQwp5BId5FbGS^K1YqQ=zp@q&X>M+QeRvN`HuReZf&om)P|FOrJyW1-g|7(+x==i;xeY3yiFMU57jv!MUu_I3po>xfByr!u|IKWi6^^gvnU z8z_-oC7Oud_5^|_VC^hLG6o*5!4R)Tvg*|+6NFoK?acX zZhSbL8PY9=PFFZ62|EcV$t^w>76e2A*7NmHo6G5*&xM`bwm8h^Cbq#m{Zbm*bKRZ% z4^CM`N}cxAu`RUtDPo%p85KOx%I=%zpLr=AP=2=xy)hc~ngv9F@lT$k2VNT?Q}q(r zU8#D*66P$+w}(U3PJh;1kfy$yV05?mAJ5wbbEO3(CNl%`*iTVnT*hNdR{ggQ!>Y+( z-|rh2>hlU;%J@cpHvUnU7jovff$_&IPW3xE`iJ`CMfLUT3k3RypP=DqEGG@T!lT0) zqD875mU-IwAL`xjP4WEMpLXm{i%|Yn(*085sH*%A!7ITr9zAM*S37nOuA z=YO;w=S5PQ`ljwZQ8a!is%m`cM|)nk8t$Oe(rv@?0Ks=}ecw;ZNd$J`+tB-!_i4H_ z0{r||@wu6`OdnoAqeKAHN&_tf1}D6dx}PR{IY&rieF^%gJwl(9}@em>OAyK&-Fq$B7Za27tEuh zJCv3fbykWws;-KH5~o*p4d+8Lbe;-om{Y;$L6U1XzZiZ^DxgOis+%#`@7mC6nA3p{_~Sg z1Cgt4Z8g0 zyGj90rCPF36uxLz0FZ&EU|d;4jlwf#j)w-|S9P(11-y-KXAZmuHa_Fy9{^d8X#wEL zkHiMoV}5 z_`eU%N*w`6VmFWN0r>P!#%D>Gi$l~6Oz#X7X#f+K<`tfioL6qwf5zMGeX9phRK$Pe z+kNak`@oRitqFP5y!C#6V9)ZvfjukM_+{(;DT2F6II!9QVDTktDf|N3bGQwtued`|V}$jK_xvgVmshtpb3p5w*Xp+n2h84&SpEAnDg<>r41 zKeV2zpD4ygKwzGy8)zgDZO$$`Fz>j4bNvEP^(~*UhlndT{R7+zZWXEc-ktz0g z+2u!=UsX!=700nfc~i+b<+IV(>DwIi|wcF>s=|go7C}e z*I8h8pakAw0DMEDC`5sylzF9&gqn<{ExnAWyK~V_@NA4;wfJD4OLD#Lea{*Ct-*j{ zHlyIO9)Lppfkr#JG*W9)Yovjp?9)JN5qCZ#3l5Z$eX(s`Phbv` zd1DbVw8G|YB?g!tH&>R_PNG*)jIbzDog zWWfHHR&)imdYbN_#95yo%+5tb_BF0;j95oab~0M0Bl|(drcW8ORqOxF_`;(441fP2=!Y{bHQHVA=51*ADFv9W0(K0w7Cp zW5_J#^;p`#wRzNa?@r^#B(M@f1v#Pak{>AIT%N!{slIn-J?(8iM!#+u*2>X+v6ksS yb*S1e^ab3x`UPCmQ1hxL{9k#IF>{+P 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�{Vgr`l2qDPyz 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 T%AG$U;O|EV1ibQ?|Ihye@=rr- literal 0 HcmV?d00001 diff --git a/website/sidebars.js b/website/sidebars.js index 41611190fd..d1125896a0 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -22,6 +22,7 @@ module.exports = { "artist_hosts_blender", "artist_hosts_harmony", "artist_hosts_aftereffects", + "artist_hosts_resolve", "artist_hosts_photoshop", "artist_hosts_tvpaint", "artist_hosts_unreal", From d6d5c473828116c380fdd8f7358ab440cc28866e Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Wed, 5 May 2021 16:25:05 +0200 Subject: [PATCH 22/94] PS - fix duplicated publish icon when double create If second instance was created from already created layer, publish icon was duplicated. --- openpype/hosts/photoshop/plugins/create/create_image.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openpype/hosts/photoshop/plugins/create/create_image.py b/openpype/hosts/photoshop/plugins/create/create_image.py index 21b5ea9243..1df8502959 100644 --- a/openpype/hosts/photoshop/plugins/create/create_image.py +++ b/openpype/hosts/photoshop/plugins/create/create_image.py @@ -74,6 +74,9 @@ class CreateImage(openpype.api.Creator): for group in groups: long_names = [] + group.name = group.name.replace(stub.PUBLISH_ICON, ''). \ + replace(stub.LOADED_ICON, '') + if group.long_name: for directory in group.long_name[::-1]: name = directory.replace(stub.PUBLISH_ICON, '').\ From 22f940fcd8484a175da878a87e3acc76840b0032 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Wed, 5 May 2021 16:27:14 +0200 Subject: [PATCH 23/94] AE - fix duplicated publish icon when double create If second instance was created from already created composition, publish icon was duplicated. --- openpype/hosts/aftereffects/plugins/create/create_render.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openpype/hosts/aftereffects/plugins/create/create_render.py b/openpype/hosts/aftereffects/plugins/create/create_render.py index bb78e89a89..4234ee0f0c 100644 --- a/openpype/hosts/aftereffects/plugins/create/create_render.py +++ b/openpype/hosts/aftereffects/plugins/create/create_render.py @@ -47,6 +47,10 @@ class CreateRender(openpype.api.Creator): self.data["members"] = [item.id] self.data["uuid"] = item.id # for SubsetManager + self.data["subset"] = self.data["subset"]\ + .replace(stub.PUBLISH_ICON, '')\ + .replace(stub.LOADED_ICON, '') + stub.imprint(item, self.data) stub.set_label_color(item.id, 14) # Cyan options 0 - 16 stub.rename_item(item.id, stub.PUBLISH_ICON + self.data["subset"]) From 35194a6f495be318fcef1737cfb134d90056ad2a Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 5 May 2021 16:48:56 +0200 Subject: [PATCH 24/94] resolve: updating documentation --- website/docs/artist_hosts_resolve.md | 256 +++++++++++------- website/docs/assets/resolve_fusion_menu.png | Bin 0 -> 5829 bytes .../assets/resolve_fusion_script_settings.png | Bin 0 -> 20332 bytes website/docs/assets/resolve_fusion_tab.png | Bin 0 -> 6997 bytes 4 files changed, 157 insertions(+), 99 deletions(-) create mode 100644 website/docs/assets/resolve_fusion_menu.png create mode 100644 website/docs/assets/resolve_fusion_script_settings.png create mode 100644 website/docs/assets/resolve_fusion_tab.png diff --git a/website/docs/artist_hosts_resolve.md b/website/docs/artist_hosts_resolve.md index 015ed2d9c1..56136cfd01 100644 --- a/website/docs/artist_hosts_resolve.md +++ b/website/docs/artist_hosts_resolve.md @@ -23,123 +23,156 @@ Before you will be able to start with OpenPype tools in Blackmagic DaVinci Resol - [Publish](artist_tools.md#publisher) +
    + ## Creating Instances from timeline items + Before any clip can be published with [Publisher](artist_tools.md#publisher) timeline items has to be marked with OpenPype specific marker with metadata. This way it is converted to publishable instance. Lets do it step by step. -### Color clips before Create -Timeline video clips should be colored to `Chocolate` color for OpenPype to se it as selected for instance creation. - - -## Publishing Shots - +
    -With OpenPype, you can use Hiero/NKS as a starting point for creating a project's **shots** as *assets* from timeline clips with its *hierarchycal parents* like **episodes**, **sequences**, **folders**, and its child **tasks**. Most importantly it will create **versions** of plate *subsets*, with or without **reference video**. Publishig is naturally creating clip's **thumbnails** and assigns it to shot *asset*. Hiero is also publishing **audio** *subset* and various **soft-effects** either as retiming component as part of published plates or **color-tranformations**, that will be evailable later on for compositor artists to use either as *viewport input-process* or *loaded nodes* in graph editor. +### Color clips before opening Create + + +Timeline video clips should be colored to `Chocolate` color for OpenPype to se it as selected for instance creation. + + +
    + +![Create menu](assets/resolve_select_clips_timeline_chocolate.png) + +
    +
    + + +### Rename timeline track names + +
    + + +
    + +To be able to work with dynamic subset name, which is based on track names it is recomended to rename those tracks to some logical names. Recomended names are as such `main`, `review`, `fg01` or `fg02`, also `bg`; or with nubers like `bg01`, atc. So for example clip is on track **element** and subset family is set to **plate** then the resulting subset name will be **plateElement** + +

    +
    + +
    + +![Create menu](assets/resolve_creator_subset_name.png) +So the resulting *subset* metadata in created **OpenPypeData** marker will by as such.



    +
    -### Preparing timeline for conversion to instances -Because we don't support on-fly data conversion so in case of working with raw camera sources or some other formats which need to be converted for 2D/3D work. We suggest to convert those before and reconform the timeline. Before any clips in timeline could be converted to publishable instances we recomend following. -1. Merge all tracks which supposed to be one and they are multipy only because of editor's style -2. Rename tracks to follow basic structure > if only one layer then `main` in case of multiple layer (elements) for one shot then `main`, and other elements for example: `bg`, `greenscreen`, `fg01`, `fg02`, `display01`, etc. please avoid using [-/_.,%&*] or spaces. These names will be later used in *subset* name creation as `{family}{trackName}` so for example **plateMain** or **plateFg01** -3. Define correct `Set Media Color Transform` at all clips as those will be also published to metadata and used for later loading with correct color transformation. -4. Reviewable video material which you wish to be used as preview videos on any supported Projec manager platform (Ftrack) has to be added ideally to track named **review**. This can be offline edit used as reference video for 2D/3D artists. This video material can be edited to fit length of **main** timeline track or it cand be one long video clip under all clips in **main** track, because OpenPype will trim this to appropriate length with use of FFMPEG. Please be avare we only support MP4(h264) or JPG sequence at the moment. +
    +![Create menu](assets/resolve_remame_track_names.png) +Single track setup where we are using only `main` and `review` track names. + +
    +
    + +![Create menu](assets/resolve_create_vertical_rename_timeline.png) +An example of used track names. The yellow frame is highlighting vertically alligned clips - which are going to be renamed and grouped togeter under one asset (shot) name, but the concept of vertical renaming will be explained later in [Vertical Synchronization of Subset Attributes](#vertical-synchronization-of-subset-attributes). + +
    +
    + + +### Open Create ... + +
    +
    + +After all clips which are inteded to be converted to publishable instances are colored to `Chockolate` color then open OpenPype menu. + +
    +
    + +![Create menu](assets/resolve_menu_openpype.png) + +
    +
    + +After the menu widget is opend (it can take while so be patient please :). + +Hit `Create ...` and then set **Use selection** to active and select the family to **Create Publishable Clips**. + +The Subset name could stay as it is - it is not going to be used. + +
    +
    + +![Create menu](assets/resolve_create_clips.png) + +
    +
    + +In the new window *OpenPype publish attributes creator* set Rename clips to active if you wish to use different names of assets (shots) in pipeline then the original clip names conformed from EDL/XML. + +The sequencial renaming attributes can be defined by **Count sequence from** for starting of sequencial numbering. Then **Stepping number** will define gaps in sequences. + +As you can see in *Shot Template Keywords* section in `{shot}` key the renaming shot template name can be defined here and number of hashes will effect padding of the number in sequence. + +
    +
    + +![Create menu](assets/resolve_create_renaming_clips.png) + +
    +
    + +Notice the relationship of following sections. Keys from **Shot Template Keywords** sections will be used for formating of template strings in **Shot Hierarchy And Rename Settings** section. + +**Shot parent hierarchy** will be forming parents of the asset (shot) *the hidden root for this is project folder*. So for example of this template we will get resulging string `shots/sq01` + +**Clip name template** in context of clip sitting on track name `main` in second position `mainsq01sh020`. This is due track key is hosting `{_track_}` which is inheriting name form timeline track name. Other allowed namespases are: +- `{_sequence_}`: timeline name +- `{_clip_}`: clip name +- `{_trackIndex_}`: position of track on timeline from bottom +- `{_clipIndex_}`: clip positon on timeline from left + +
    +
    + +![Create menu](assets/resolve_create_template_filling.png) + +
    +
    + +### Vertical synchronization of subset attributes + +
    -![Create menu](assets/hiero_timelinePrep.png) +In case you are only working with two track on timeline setup with `main` track which is going to be used as plates for compositors or other and `review` for publishing h264 mp4 clips with offlines and web preview. The **Enable vertical sync** can be deactivated. -
    +The multiple tracks scenario - as it had been mentioned [here](#rename-timeline-track-names) - is recomanded to activate **Enable vertical sync** and define the hero (driving) track to *main* - -### Converting timeline clips to instances - -Every clip on timeline which is inteded to be published has to be converted to publishable instance. - -
    - -In OpenPype it is done by tagging a clip with our own metadata. Select all clips you wish to convert and `menu > OpenPype > Create`. -



    - -
    - -
    - -![Create menu](assets/hiero_menuCreate.png) - -
    - -
    - -Then chose `Create Publishable Clip` in **Instance Creator** dialogue. -

    - -Then you can alter Subset name, but this will be changed dynamically and replaces with timeline's track name. -

    - -Keep **Use selection** on. -

    - -Hit **Create**

    -![Instance Creator](assets/hiero_instanceCreator.png) +![Create menu](assets/resolve_create_single_track_rename_hero_track.png)
    -Dialogue `Pype publish attributes creator` will open. Here you can define instance properties. If you wish to rename clips dynamically during creation then Keep **Rename clips** ticked. -

    - -In case you wish to use *multiple elements of shots* workflow then keep **Enamble vertical sync** ticked on and define correct hero track which is holding main plates, this is usually the **main** track. -
    - -
    - -![Create menu](assets/hiero_createUIRename.png) - -
    -
    - -Subset name is created dynamically if `` is selected on **Subset name**. -

    - -I case you wish to publish reviewable video as explained above then find the appropriate track from drop down menu **Use review track**. Usually named `review` -

    - -Hover above each input field for help. -

    - -Handles can be defined here to. In case you wish to have individual clip set differently we recomend to set here the default value and later change those in the created OpenPype tag's metadata under `handleStart` and `handleEnd` properties (look bellow for details) -
    - -
    - -![Create menu](assets/hiero_createUIFrames.png) - -
    -
    - -After you hit **Ok** tags are added to selected clips (except clips in **review** tracks). -

    - -If you wish to change any individual propertie of the shot then you are able to do it here. In this example we can change `handleStart` and `handleEnd` to some other values. -
    - -
    - -![Create menu](assets/hiero_tagHandles.png) +![Create menu](assets/resolve_create_vertical_rename_creator_ui.png)
    +## Publishing Shots + + ## Installation of Python and PySide ### Installing Resolve's own python 3.6 interpreter. BMDVR uses a hardcoded method to look for the python executable path. All of tho following paths are defined automatically by Python msi installer. We are using Python 3.6.2. @@ -155,7 +188,7 @@ BMDVR uses a hardcoded method to look for the python executable path. All of tho -`{LOCALAPPDATA}/Programs/Python/Python36` +`%LOCALAPPDATA%\Programs\Python\Python36` @@ -171,12 +204,9 @@ BMDVR uses a hardcoded method to look for the python executable path. All of tho -### Installing PySide2 into python 3.6 for correct gui work: +### Installing PySide2 into python 3.6 for correct gui work -OpenPype is using own window widget inside Resolve, for that reason PySide2 has to be installed into the python 3.6 (as explained above). Follow this step-by-step: -open terminal > windows menu > type cmd -paste this to terminal > %LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2 -after installation finished then all is done +OpenPype is using own window widget inside Resolve, for that reason PySide2 has to be installed into the python 3.6 (as explained above). -1. Open Windows menu and search for terminal: type cmd -2. then paste this to the terminal `%LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2` +paste to any terminal of your choice + +```bash +%LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2 +``` -`/opt/Python/3.6/bin` +paste to any terminal of your choice + +```bash +/opt/Python/3.6/bin/python -m pip install PySide2 +``` -`~/Library/Python/3.6/bin` +paste to any terminal of your choice + +```bash +~/Library/Python/3.6/bin/python -m pip install PySide2 +``` -### Set Resolve's Fusion settings for Python 3.6 interpereter: -As it is shown in bellow picture you have to go to Fusion Tab and then in Fusion menu find Fusion Settings. Go to Fusion/Script and find Default Python Version and swith to Python 3.6 \ No newline at end of file +
    + +### Set Resolve's Fusion settings for Python 3.6 interpereter + +
    + + +As it is shown in bellow picture you have to go to Fusion Tab and then in Fusion menu find Fusion Settings. Go to Fusion/Script and find Default Python Version and swith to Python 3.6 + +
    + +
    + +![Create menu](assets/resolve_fusion_tab.png) +![Create menu](assets/resolve_fusion_menu.png) +![Create menu](assets/resolve_fusion_script_settings.png) + +
    +
    \ No newline at end of file diff --git a/website/docs/assets/resolve_fusion_menu.png b/website/docs/assets/resolve_fusion_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1939690cbfb3b188bdca9e971d521f77606574 GIT binary patch literal 5829 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 literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_fusion_script_settings.png b/website/docs/assets/resolve_fusion_script_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..6d903b3ef4cd4d31646b4f6914857ac1a0671f47 GIT binary patch literal 20332 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 literal 0 HcmV?d00001 From 660be2d1d23c370302556363d342dd8bbb48558f Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Wed, 5 May 2021 17:30:49 +0200 Subject: [PATCH 25/94] resolve user and copying problems --- Dockerfile | 16 +++++++++------- tools/docker_build.sh | 22 ++++++++++++++++++---- 2 files changed, 27 insertions(+), 11 deletions(-) mode change 100644 => 100755 tools/docker_build.sh diff --git a/Dockerfile b/Dockerfile index 2499b26278..5dfd3fc61f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,8 @@ LABEL org.opencontainers.image.source="https://github.com/pypeclub/pype" USER root RUN yum -y update \ - && yum -y install epel-release centos-release-scl \ + && yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \ + && yum -y install centos-release-scl \ && yum -y install \ bash \ which \ @@ -29,12 +30,13 @@ RUN yum -y update \ openssl-devel \ tk-devel libffi-devel \ qt5-qtbase-devel \ + patchelf \ && yum clean all RUN mkdir /opt/openpype -RUN useradd -m pype -RUN chown pype /opt/openpype -USER pype +# RUN useradd -m pype +# RUN chown pype /opt/openpype +# USER pype RUN curl https://pyenv.run | bash ENV PYTHON_CONFIGURE_OPTS --enable-shared @@ -45,11 +47,11 @@ RUN echo 'export PATH="$HOME/.pyenv/bin:$PATH"'>> $HOME/.bashrc \ RUN cat $HOME/.bashrc && source $HOME/.bashrc && pyenv install ${OPENPYPE_PYTHON_VERSION} COPY . /opt/openpype/ -USER root -RUN chown -R pype /opt/openpype +# USER root +# RUN chown -R pype /opt/openpype RUN chmod +x /opt/openpype/tools/create_env.sh && chmod +x /opt/openpype/tools/build.sh -USER pype +# USER pype WORKDIR /opt/openpype diff --git a/tools/docker_build.sh b/tools/docker_build.sh old mode 100644 new mode 100755 index d64ca9b60e..e3ce9a04c0 --- a/tools/docker_build.sh +++ b/tools/docker_build.sh @@ -1,5 +1,11 @@ #!/usr/bin/env bash +# Colors for terminal + +RST='\033[0m' # Text Reset +BIGreen='\033[1;92m' # Green +BIYellow='\033[1;93m' # Yellow + ############################################################################## # Return absolute path # Globals: @@ -15,17 +21,25 @@ realpath () { # Main main () { - # Directories - openpype_root=$(realpath $(dirname $(dirname "${BASH_SOURCE[0]}"))) pushd "$openpype_root" > /dev/null || return > /dev/null + echo -e "${BIYellow}---${RST} Cleaning build directory ..." + rm -rf "$openpype_root/build" && mkdir "$openpype_root/build" > /dev/null + version_command="import os;exec(open(os.path.join('$openpype_root', 'openpype', 'version.py')).read());print(__version__);" openpype_version="$(python3 <<< ${version_command})" + echo -e "${BIGreen}>>>${RST} Running docker build ..." docker build -t pypeclub/openpype:$openpype_version . - id="$(docker create pypeclub/openpype:$openpype_version)" - docker cp "$id:/opt/openpype/build.linux-x86-64-3.7" "$openpype_root/build" + + echo -e "${BIGreen}>>>${RST} Copying build from container ..." + echo -e "${BIYellow}---${RST} Creating container from pypeclub/openpype:$openpype_version ..." + id="$(docker create -ti pypeclub/openpype:$openpype_version bash)" + echo -e "${BIYellow}---${RST} Copying ..." + docker cp "$id:/opt/openpype/build/exe.linux-x86_64-3.7" "$openpype_root/build" + echo -e "${BIGreen}>>>${RST} All done, you can delete container:" + echo -e "${BIYellow}$id${RST}" } main From b0d8667d97278ce15f5c603503dc3630a8eaed8e Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 09:54:39 +0200 Subject: [PATCH 26/94] sort applications values for custom attribute by label --- openpype/modules/ftrack/lib/custom_attributes.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/openpype/modules/ftrack/lib/custom_attributes.py b/openpype/modules/ftrack/lib/custom_attributes.py index 33eea32baa..abff1e6194 100644 --- a/openpype/modules/ftrack/lib/custom_attributes.py +++ b/openpype/modules/ftrack/lib/custom_attributes.py @@ -15,12 +15,17 @@ def default_custom_attributes_definition(): def app_definitions_from_app_manager(app_manager): - app_definitions = [] + _app_definitions = [] for app_name, app in app_manager.applications.items(): if app.enabled and app.is_host: - app_definitions.append({ - app_name: app.full_label - }) + _app_definitions.append( + (app_name, app.full_label) + ) + + # Sort items by label + app_definitions = [] + for key, label in sorted(_app_definitions, key=lambda item: item[1]): + app_definitions.append({key: label}) if not app_definitions: app_definitions.append({"empty": "< Empty >"}) From 75d7cd16adfc9ad69a2303bed405c8d6aef9499c Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 09:54:49 +0200 Subject: [PATCH 27/94] sort tools values for custom attribute by label --- openpype/modules/ftrack/lib/custom_attributes.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/openpype/modules/ftrack/lib/custom_attributes.py b/openpype/modules/ftrack/lib/custom_attributes.py index abff1e6194..f6b82c90b1 100644 --- a/openpype/modules/ftrack/lib/custom_attributes.py +++ b/openpype/modules/ftrack/lib/custom_attributes.py @@ -33,11 +33,16 @@ def app_definitions_from_app_manager(app_manager): def tool_definitions_from_app_manager(app_manager): - tools_data = [] + _tools_data = [] for tool_name, tool in app_manager.tools.items(): - tools_data.append({ - tool_name: tool.label - }) + _tools_data.append( + (tool_name, tool.label) + ) + + # Sort items by label + tools_data = [] + for key, label in sorted(_tools_data, key=lambda item: item[1]): + tools_data.append({key: label}) # Make sure there is at least one item if not tools_data: From 9cacf4e0f5265bcd0924b76a6d978684e5df2022 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 09:57:14 +0200 Subject: [PATCH 28/94] fix mtoa 3.1 label in defaults --- openpype/settings/defaults/system_settings/tools.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/settings/defaults/system_settings/tools.json b/openpype/settings/defaults/system_settings/tools.json index b0adccc65e..181236abe8 100644 --- a/openpype/settings/defaults/system_settings/tools.json +++ b/openpype/settings/defaults/system_settings/tools.json @@ -32,7 +32,7 @@ }, "__dynamic_keys_labels__": { "3-2": "3.2", - "3-1": "3.2" + "3-1": "3.1" } } }, From 5923fe3d990f099f77b2095c7a430a375d8491ca Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 6 May 2021 10:10:03 +0200 Subject: [PATCH 29/94] catch vrayproxy for abc export instead of giving it pointcache family --- openpype/hosts/maya/plugins/publish/collect_vrayproxy.py | 3 --- openpype/hosts/maya/plugins/publish/extract_pointcache.py | 3 ++- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/collect_vrayproxy.py b/openpype/hosts/maya/plugins/publish/collect_vrayproxy.py index 5bc682d6f4..236797ca3c 100644 --- a/openpype/hosts/maya/plugins/publish/collect_vrayproxy.py +++ b/openpype/hosts/maya/plugins/publish/collect_vrayproxy.py @@ -16,6 +16,3 @@ class CollectVrayProxy(pyblish.api.InstancePlugin): """Collector entry point.""" if not instance.data.get('families'): instance.data["families"] = [] - if "pointcache" not in instance.data["families"]: - instance.data["families"].append("pointcache") - self.log.debug("adding to pointcache family") diff --git a/openpype/hosts/maya/plugins/publish/extract_pointcache.py b/openpype/hosts/maya/plugins/publish/extract_pointcache.py index dea52f2154..ba716c0d18 100644 --- a/openpype/hosts/maya/plugins/publish/extract_pointcache.py +++ b/openpype/hosts/maya/plugins/publish/extract_pointcache.py @@ -18,7 +18,8 @@ class ExtractAlembic(openpype.api.Extractor): label = "Extract Pointcache (Alembic)" hosts = ["maya"] families = ["pointcache", - "model"] + "model", + "vrayproxy"] def process(self, instance): From b36c501824b5c23ffe9f3d587e7d05989a3ecddd Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 10:11:52 +0200 Subject: [PATCH 30/94] CHILD_OFFSET and BTN_FIXED_SIZE are defined at top of settings tool --- openpype/tools/settings/__init__.py | 10 +++++++++- openpype/tools/settings/lib.py | 4 ++++ openpype/tools/settings/local_settings/apps_widget.py | 2 +- openpype/tools/settings/local_settings/constants.py | 2 -- openpype/tools/settings/local_settings/window.py | 2 +- openpype/tools/settings/settings/widgets/base.py | 2 +- .../settings/settings/widgets/dict_mutable_widget.py | 2 +- .../tools/settings/settings/widgets/item_widgets.py | 2 +- openpype/tools/settings/settings/widgets/lib.py | 2 -- .../settings/settings/widgets/list_item_widget.py | 2 +- .../tools/settings/settings/widgets/wrapper_widgets.py | 2 +- 11 files changed, 20 insertions(+), 12 deletions(-) diff --git a/openpype/tools/settings/__init__.py b/openpype/tools/settings/__init__.py index 547f4097a2..8f60276cc4 100644 --- a/openpype/tools/settings/__init__.py +++ b/openpype/tools/settings/__init__.py @@ -1,6 +1,10 @@ import sys from Qt import QtWidgets, QtGui -from .lib import is_password_required +from .lib import ( + is_password_required, + BTN_FIXED_SIZE, + CHILD_OFFSET +) from .widgets import PasswordDialog from .local_settings import LocalSettingsWindow from .settings import ( @@ -32,7 +36,11 @@ def main(user_role=None): __all__ = ( "is_password_required", + "BTN_FIXED_SIZE", + "CHILD_OFFSET", + "style", + "PasswordDialog", "MainWidget", "ProjectListWidget", diff --git a/openpype/tools/settings/lib.py b/openpype/tools/settings/lib.py index 0317941021..4b48746a18 100644 --- a/openpype/tools/settings/lib.py +++ b/openpype/tools/settings/lib.py @@ -1,3 +1,7 @@ +CHILD_OFFSET = 15 +BTN_FIXED_SIZE = 20 + + def is_password_required(): from openpype.settings import ( get_system_settings, diff --git a/openpype/tools/settings/local_settings/apps_widget.py b/openpype/tools/settings/local_settings/apps_widget.py index 2e12c010d1..5f4e5dd1c5 100644 --- a/openpype/tools/settings/local_settings/apps_widget.py +++ b/openpype/tools/settings/local_settings/apps_widget.py @@ -4,7 +4,7 @@ from .widgets import ( Separator, ExpandingWidget ) -from .constants import CHILD_OFFSET +from openpype.tools.settings import CHILD_OFFSET class AppVariantWidget(QtWidgets.QWidget): diff --git a/openpype/tools/settings/local_settings/constants.py b/openpype/tools/settings/local_settings/constants.py index 83c45afba8..7a8774467f 100644 --- a/openpype/tools/settings/local_settings/constants.py +++ b/openpype/tools/settings/local_settings/constants.py @@ -14,8 +14,6 @@ LOCAL_APPS_KEY = "applications" # Roots key constant LOCAL_ROOTS_KEY = "roots" -# Child offset in expandable widget -CHILD_OFFSET = 15 __all__ = ( "LABEL_REMOVE_DEFAULT", diff --git a/openpype/tools/settings/local_settings/window.py b/openpype/tools/settings/local_settings/window.py index e117e7fa5d..69562d0b1f 100644 --- a/openpype/tools/settings/local_settings/window.py +++ b/openpype/tools/settings/local_settings/window.py @@ -7,6 +7,7 @@ from openpype.settings.lib import ( get_local_settings, save_local_settings ) +from openpype.tools.settings import CHILD_OFFSET from openpype.api import ( SystemSettings, ProjectSettings @@ -23,7 +24,6 @@ from .apps_widget import LocalApplicationsWidgets from .projects_widget import ProjectSettingsWidget from .constants import ( - CHILD_OFFSET, LOCAL_GENERAL_KEY, LOCAL_PROJECTS_KEY, LOCAL_APPS_KEY diff --git a/openpype/tools/settings/settings/widgets/base.py b/openpype/tools/settings/settings/widgets/base.py index 3d633a100e..03f920b7dc 100644 --- a/openpype/tools/settings/settings/widgets/base.py +++ b/openpype/tools/settings/settings/widgets/base.py @@ -1,5 +1,5 @@ from Qt import QtWidgets, QtGui, QtCore -from .lib import CHILD_OFFSET +from openpype.tools.settings import CHILD_OFFSET from .widgets import ExpandingWidget diff --git a/openpype/tools/settings/settings/widgets/dict_mutable_widget.py b/openpype/tools/settings/settings/widgets/dict_mutable_widget.py index ff4905c480..d29b72f2fc 100644 --- a/openpype/tools/settings/settings/widgets/dict_mutable_widget.py +++ b/openpype/tools/settings/settings/widgets/dict_mutable_widget.py @@ -8,7 +8,7 @@ from .widgets import ( IconButton, SpacerWidget ) -from .lib import ( +from openpype.tools.settings import ( BTN_FIXED_SIZE, CHILD_OFFSET ) diff --git a/openpype/tools/settings/settings/widgets/item_widgets.py b/openpype/tools/settings/settings/widgets/item_widgets.py index c962219f2b..11ccb60ae4 100644 --- a/openpype/tools/settings/settings/widgets/item_widgets.py +++ b/openpype/tools/settings/settings/widgets/item_widgets.py @@ -19,7 +19,7 @@ from .base import ( BaseWidget, InputWidget ) -from .lib import CHILD_OFFSET +from openpype.tools.settings import CHILD_OFFSET class DictImmutableKeysWidget(BaseWidget): diff --git a/openpype/tools/settings/settings/widgets/lib.py b/openpype/tools/settings/settings/widgets/lib.py index aeca943617..67461cb7f3 100644 --- a/openpype/tools/settings/settings/widgets/lib.py +++ b/openpype/tools/settings/settings/widgets/lib.py @@ -18,8 +18,6 @@ class TypeToKlass: NOT_SET = type("NOT_SET", (), {"__bool__": lambda obj: False})() METADATA_KEY = type("METADATA_KEY", (), {})() OVERRIDE_VERSION = 1 -CHILD_OFFSET = 15 -BTN_FIXED_SIZE = 20 key_pattern = re.compile(r"(\{.*?[^{0]*\})") diff --git a/openpype/tools/settings/settings/widgets/list_item_widget.py b/openpype/tools/settings/settings/widgets/list_item_widget.py index 699669abab..e1990d0bf6 100644 --- a/openpype/tools/settings/settings/widgets/list_item_widget.py +++ b/openpype/tools/settings/settings/widgets/list_item_widget.py @@ -2,7 +2,7 @@ from Qt import QtWidgets, QtCore from .base import InputWidget from .widgets import ExpandingWidget -from .lib import ( +from openpype.tools.settings import ( BTN_FIXED_SIZE, CHILD_OFFSET ) diff --git a/openpype/tools/settings/settings/widgets/wrapper_widgets.py b/openpype/tools/settings/settings/widgets/wrapper_widgets.py index 9d5fdeb213..915a2cf875 100644 --- a/openpype/tools/settings/settings/widgets/wrapper_widgets.py +++ b/openpype/tools/settings/settings/widgets/wrapper_widgets.py @@ -5,7 +5,7 @@ from .widgets import ( ExpandingWidget, GridLabelWidget ) -from .lib import CHILD_OFFSET +from openpype.tools.settings import CHILD_OFFSET class WrapperWidget(QtWidgets.QWidget): From c16feab1650e4bea0838a37be692615ba999eb49 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 10:12:10 +0200 Subject: [PATCH 31/94] removed lib.py from settings ui as nothing from is used --- .../tools/settings/settings/widgets/lib.py | 599 ------------------ 1 file changed, 599 deletions(-) delete mode 100644 openpype/tools/settings/settings/widgets/lib.py diff --git a/openpype/tools/settings/settings/widgets/lib.py b/openpype/tools/settings/settings/widgets/lib.py deleted file mode 100644 index 67461cb7f3..0000000000 --- a/openpype/tools/settings/settings/widgets/lib.py +++ /dev/null @@ -1,599 +0,0 @@ -import os -import re -import json -import copy -from openpype.settings.constants import ( - M_OVERRIDEN_KEY, - M_ENVIRONMENT_KEY, - M_DYNAMIC_KEY_LABEL -) -from queue import Queue - - -# Singleton database of available inputs -class TypeToKlass: - types = {} - - -NOT_SET = type("NOT_SET", (), {"__bool__": lambda obj: False})() -METADATA_KEY = type("METADATA_KEY", (), {})() -OVERRIDE_VERSION = 1 - -key_pattern = re.compile(r"(\{.*?[^{0]*\})") - - -def convert_gui_data_with_metadata(data, ignored_keys=None): - if not data or not isinstance(data, dict): - return data - - if ignored_keys is None: - ignored_keys = tuple() - - output = {} - if METADATA_KEY in data: - metadata = data.pop(METADATA_KEY) - for key, value in metadata.items(): - if key in ignored_keys or key == "groups": - continue - - if key == "environments": - output[M_ENVIRONMENT_KEY] = value - elif key == "dynamic_key_label": - output[M_DYNAMIC_KEY_LABEL] = value - else: - raise KeyError("Unknown metadata key \"{}\"".format(key)) - - for key, value in data.items(): - output[key] = convert_gui_data_with_metadata(value, ignored_keys) - return output - - -def convert_data_to_gui_data(data, first=True): - if not data or not isinstance(data, dict): - return data - - output = {} - if M_ENVIRONMENT_KEY in data: - data.pop(M_ENVIRONMENT_KEY) - - if M_DYNAMIC_KEY_LABEL in data: - if METADATA_KEY not in data: - data[METADATA_KEY] = {} - data[METADATA_KEY]["dynamic_key_label"] = data.pop(M_DYNAMIC_KEY_LABEL) - - for key, value in data.items(): - output[key] = convert_data_to_gui_data(value, False) - - return output - - -def convert_gui_data_to_overrides(data, first=True): - if not data or not isinstance(data, dict): - return data - - output = {} - if first: - output["__override_version__"] = OVERRIDE_VERSION - data = convert_gui_data_with_metadata(data) - - if METADATA_KEY in data: - metadata = data.pop(METADATA_KEY) - for key, value in metadata.items(): - if key == "groups": - output[M_OVERRIDEN_KEY] = value - else: - raise KeyError("Unknown metadata key \"{}\"".format(key)) - - for key, value in data.items(): - output[key] = convert_gui_data_to_overrides(value, False) - return output - - -def convert_overrides_to_gui_data(data, first=True): - if not data or not isinstance(data, dict): - return data - - if first: - data = convert_data_to_gui_data(data) - - output = {} - if M_OVERRIDEN_KEY in data: - groups = data.pop(M_OVERRIDEN_KEY) - if METADATA_KEY not in output: - output[METADATA_KEY] = {} - output[METADATA_KEY]["groups"] = groups - - for key, value in data.items(): - output[key] = convert_overrides_to_gui_data(value, False) - - return output - - -def _fill_schema_template_data( - template, template_data, required_keys=None, missing_keys=None -): - first = False - if required_keys is None: - first = True - required_keys = set() - missing_keys = set() - - _template = [] - default_values = {} - for item in template: - if isinstance(item, dict) and "__default_values__" in item: - default_values = item["__default_values__"] - else: - _template.append(item) - template = _template - - for key, value in default_values.items(): - if key not in template_data: - template_data[key] = value - - if not template: - output = template - - elif isinstance(template, list): - output = [] - for item in template: - output.append(_fill_schema_template_data( - item, template_data, required_keys, missing_keys - )) - - elif isinstance(template, dict): - output = {} - for key, value in template.items(): - output[key] = _fill_schema_template_data( - value, template_data, required_keys, missing_keys - ) - - elif isinstance(template, str): - # TODO find much better way how to handle filling template data - for replacement_string in key_pattern.findall(template): - key = str(replacement_string[1:-1]) - required_keys.add(key) - if key not in template_data: - missing_keys.add(key) - continue - - value = template_data[key] - if replacement_string == template: - # Replace the value with value from templates data - # - with this is possible to set value with different type - template = value - else: - # Only replace the key in string - template = template.replace(replacement_string, value) - output = template - - else: - output = template - - if first and missing_keys: - raise SchemaTemplateMissingKeys(missing_keys, required_keys) - - return output - - -def _fill_schema_template(child_data, schema_collection, schema_templates): - template_name = child_data["name"] - template = schema_templates.get(template_name) - if template is None: - if template_name in schema_collection: - raise KeyError(( - "Schema \"{}\" is used as `schema_template`" - ).format(template_name)) - raise KeyError("Schema template \"{}\" was not found".format( - template_name - )) - - # Default value must be dictionary (NOT list) - # - empty list would not add any item if `template_data` are not filled - template_data = child_data.get("template_data") or {} - if isinstance(template_data, dict): - template_data = [template_data] - - output = [] - for single_template_data in template_data: - try: - filled_child = _fill_schema_template_data( - template, single_template_data - ) - - except SchemaTemplateMissingKeys as exc: - raise SchemaTemplateMissingKeys( - exc.missing_keys, exc.required_keys, template_name - ) - - for item in filled_child: - filled_item = _fill_inner_schemas( - item, schema_collection, schema_templates - ) - if filled_item["type"] == "schema_template": - output.extend(_fill_schema_template( - filled_item, schema_collection, schema_templates - )) - else: - output.append(filled_item) - return output - - -def _fill_inner_schemas(schema_data, schema_collection, schema_templates): - if schema_data["type"] == "schema": - raise ValueError("First item in schema data can't be schema.") - - children_key = "children" - object_type_key = "object_type" - for item_key in (children_key, object_type_key): - children = schema_data.get(item_key) - if not children: - continue - - if object_type_key == item_key: - if not isinstance(children, dict): - continue - children = [children] - - new_children = [] - for child in children: - child_type = child["type"] - if child_type == "schema": - schema_name = child["name"] - if schema_name not in schema_collection: - if schema_name in schema_templates: - raise KeyError(( - "Schema template \"{}\" is used as `schema`" - ).format(schema_name)) - raise KeyError( - "Schema \"{}\" was not found".format(schema_name) - ) - - filled_child = _fill_inner_schemas( - schema_collection[schema_name], - schema_collection, - schema_templates - ) - - elif child_type == "schema_template": - for filled_child in _fill_schema_template( - child, schema_collection, schema_templates - ): - new_children.append(filled_child) - continue - - else: - filled_child = _fill_inner_schemas( - child, schema_collection, schema_templates - ) - - new_children.append(filled_child) - - if item_key == object_type_key: - if len(new_children) != 1: - raise KeyError(( - "Failed to fill object type with type: {} | name {}" - ).format( - child_type, str(child.get("name")) - )) - new_children = new_children[0] - - schema_data[item_key] = new_children - return schema_data - - -class SchemaTemplateMissingKeys(Exception): - def __init__(self, missing_keys, required_keys, template_name=None): - self.missing_keys = missing_keys - self.required_keys = required_keys - if template_name: - msg = f"Schema template \"{template_name}\" require more keys.\n" - else: - msg = "" - msg += "Required keys: {}\nMissing keys: {}".format( - self.join_keys(required_keys), - self.join_keys(missing_keys) - ) - super(SchemaTemplateMissingKeys, self).__init__(msg) - - def join_keys(self, keys): - return ", ".join([ - f"\"{key}\"" for key in keys - ]) - - -class SchemaMissingFileInfo(Exception): - def __init__(self, invalid): - full_path_keys = [] - for item in invalid: - full_path_keys.append("\"{}\"".format("/".join(item))) - - msg = ( - "Schema has missing definition of output file (\"is_file\" key)" - " for keys. [{}]" - ).format(", ".join(full_path_keys)) - super(SchemaMissingFileInfo, self).__init__(msg) - - -class SchemeGroupHierarchyBug(Exception): - def __init__(self, invalid): - full_path_keys = [] - for item in invalid: - full_path_keys.append("\"{}\"".format("/".join(item))) - - msg = ( - "Items with attribute \"is_group\" can't have another item with" - " \"is_group\" attribute as child. Error happened for keys: [{}]" - ).format(", ".join(full_path_keys)) - super(SchemeGroupHierarchyBug, self).__init__(msg) - - -class SchemaDuplicatedKeys(Exception): - def __init__(self, invalid): - items = [] - for key_path, keys in invalid.items(): - joined_keys = ", ".join([ - "\"{}\"".format(key) for key in keys - ]) - items.append("\"{}\" ({})".format(key_path, joined_keys)) - - msg = ( - "Schema items contain duplicated keys in one hierarchy level. {}" - ).format(" || ".join(items)) - super(SchemaDuplicatedKeys, self).__init__(msg) - - -class SchemaDuplicatedEnvGroupKeys(Exception): - def __init__(self, invalid): - items = [] - for key_path, keys in invalid.items(): - joined_keys = ", ".join([ - "\"{}\"".format(key) for key in keys - ]) - items.append("\"{}\" ({})".format(key_path, joined_keys)) - - msg = ( - "Schema items contain duplicated environment group keys. {}" - ).format(" || ".join(items)) - super(SchemaDuplicatedEnvGroupKeys, self).__init__(msg) - - -def file_keys_from_schema(schema_data): - output = [] - item_type = schema_data["type"] - klass = TypeToKlass.types[item_type] - if not klass.is_input_type: - return output - - keys = [] - key = schema_data.get("key") - if key: - keys.append(key) - - for child in schema_data["children"]: - if child.get("is_file"): - _keys = copy.deepcopy(keys) - _keys.append(child["key"]) - output.append(_keys) - continue - - for result in file_keys_from_schema(child): - _keys = copy.deepcopy(keys) - _keys.extend(result) - output.append(_keys) - return output - - -def validate_all_has_ending_file(schema_data, is_top=True): - item_type = schema_data["type"] - klass = TypeToKlass.types[item_type] - if not klass.is_input_type: - return None - - if schema_data.get("is_file"): - return None - - children = schema_data.get("children") - if not children: - return [[schema_data["key"]]] - - invalid = [] - keyless = "key" not in schema_data - for child in children: - result = validate_all_has_ending_file(child, False) - if result is None: - continue - - if keyless: - invalid.extend(result) - else: - for item in result: - new_invalid = [schema_data["key"]] - new_invalid.extend(item) - invalid.append(new_invalid) - - if not invalid: - return None - - if not is_top: - return invalid - - raise SchemaMissingFileInfo(invalid) - - -def validate_is_group_is_unique_in_hierarchy( - schema_data, any_parent_is_group=False, keys=None -): - is_top = keys is None - if keys is None: - keys = [] - - keyless = "key" not in schema_data - - if not keyless: - keys.append(schema_data["key"]) - - invalid = [] - is_group = schema_data.get("is_group") - if is_group and any_parent_is_group: - invalid.append(copy.deepcopy(keys)) - - if is_group: - any_parent_is_group = is_group - - children = schema_data.get("children") - if not children: - return invalid - - for child in children: - result = validate_is_group_is_unique_in_hierarchy( - child, any_parent_is_group, copy.deepcopy(keys) - ) - if not result: - continue - - invalid.extend(result) - - if invalid and is_group and keys not in invalid: - invalid.append(copy.deepcopy(keys)) - - if not is_top: - return invalid - - if invalid: - raise SchemeGroupHierarchyBug(invalid) - - -def validate_keys_are_unique(schema_data, keys=None): - children = schema_data.get("children") - if not children: - return - - is_top = keys is None - if keys is None: - keys = [schema_data["key"]] - else: - keys.append(schema_data["key"]) - - child_queue = Queue() - for child in children: - child_queue.put(child) - - child_inputs = [] - while not child_queue.empty(): - child = child_queue.get() - if "key" not in child: - _children = child.get("children") or [] - for _child in _children: - child_queue.put(_child) - else: - child_inputs.append(child) - - duplicated_keys = set() - child_keys = set() - for child in child_inputs: - key = child["key"] - if key in child_keys: - duplicated_keys.add(key) - else: - child_keys.add(key) - - invalid = {} - if duplicated_keys: - joined_keys = "/".join(keys) - invalid[joined_keys] = duplicated_keys - - for child in child_inputs: - result = validate_keys_are_unique(child, copy.deepcopy(keys)) - if result: - invalid.update(result) - - if not is_top: - return invalid - - if invalid: - raise SchemaDuplicatedKeys(invalid) - - -def validate_environment_groups_uniquenes( - schema_data, env_groups=None, keys=None -): - is_first = False - if env_groups is None: - is_first = True - env_groups = {} - keys = [] - - my_keys = copy.deepcopy(keys) - key = schema_data.get("key") - if key: - my_keys.append(key) - - env_group_key = schema_data.get("env_group_key") - if env_group_key: - if env_group_key not in env_groups: - env_groups[env_group_key] = [] - env_groups[env_group_key].append("/".join(my_keys)) - - children = schema_data.get("children") - if not children: - return - - for child in children: - validate_environment_groups_uniquenes( - child, env_groups, copy.deepcopy(my_keys) - ) - - if is_first: - invalid = {} - for env_group_key, key_paths in env_groups.items(): - if len(key_paths) > 1: - invalid[env_group_key] = key_paths - - if invalid: - raise SchemaDuplicatedEnvGroupKeys(invalid) - - -def validate_schema(schema_data): - validate_all_has_ending_file(schema_data) - validate_is_group_is_unique_in_hierarchy(schema_data) - validate_keys_are_unique(schema_data) - validate_environment_groups_uniquenes(schema_data) - - -def gui_schema(subfolder, main_schema_name): - subfolder, main_schema_name - dirpath = os.path.join( - os.path.dirname(os.path.dirname(__file__)), - "gui_schemas", - subfolder - ) - - loaded_schemas = {} - loaded_schema_templates = {} - for root, _, filenames in os.walk(dirpath): - for filename in filenames: - basename, ext = os.path.splitext(filename) - if ext != ".json": - continue - - filepath = os.path.join(root, filename) - with open(filepath, "r") as json_stream: - try: - schema_data = json.load(json_stream) - except Exception as exc: - raise Exception(( - f"Unable to parse JSON file {filepath}\n{exc}" - )) from exc - if isinstance(schema_data, list): - loaded_schema_templates[basename] = schema_data - else: - loaded_schemas[basename] = schema_data - - main_schema = _fill_inner_schemas( - loaded_schemas[main_schema_name], - loaded_schemas, - loaded_schema_templates - ) - validate_schema(main_schema) - return main_schema From 585545c53b1a4b7e4621850bec2c1a3352b14f21 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 10:13:50 +0200 Subject: [PATCH 32/94] moved settings UI files one golder hierarchy level higher --- openpype/tools/settings/local_settings/widgets.py | 2 +- openpype/tools/settings/settings/__init__.py | 6 ++---- openpype/tools/settings/settings/{widgets => }/base.py | 0 .../tools/settings/settings/{widgets => }/categories.py | 0 .../settings/{widgets => }/dict_mutable_widget.py | 0 .../tools/settings/settings/{widgets => }/item_widgets.py | 0 .../settings/settings/{widgets => }/list_item_widget.py | 0 .../settings/settings/{widgets => }/list_strict_widget.py | 0 .../settings/{widgets => }/multiselection_combobox.py | 0 openpype/tools/settings/settings/{widgets => }/tests.py | 0 openpype/tools/settings/settings/{widgets => }/widgets.py | 0 openpype/tools/settings/settings/widgets/__init__.py | 8 -------- openpype/tools/settings/settings/{widgets => }/window.py | 2 +- .../settings/settings/{widgets => }/wrapper_widgets.py | 0 14 files changed, 4 insertions(+), 14 deletions(-) rename openpype/tools/settings/settings/{widgets => }/base.py (100%) rename openpype/tools/settings/settings/{widgets => }/categories.py (100%) rename openpype/tools/settings/settings/{widgets => }/dict_mutable_widget.py (100%) rename openpype/tools/settings/settings/{widgets => }/item_widgets.py (100%) rename openpype/tools/settings/settings/{widgets => }/list_item_widget.py (100%) rename openpype/tools/settings/settings/{widgets => }/list_strict_widget.py (100%) rename openpype/tools/settings/settings/{widgets => }/multiselection_combobox.py (100%) rename openpype/tools/settings/settings/{widgets => }/tests.py (100%) rename openpype/tools/settings/settings/{widgets => }/widgets.py (100%) delete mode 100644 openpype/tools/settings/settings/widgets/__init__.py rename openpype/tools/settings/settings/{widgets => }/window.py (99%) rename openpype/tools/settings/settings/{widgets => }/wrapper_widgets.py (100%) diff --git a/openpype/tools/settings/local_settings/widgets.py b/openpype/tools/settings/local_settings/widgets.py index a262188906..b164f1b407 100644 --- a/openpype/tools/settings/local_settings/widgets.py +++ b/openpype/tools/settings/local_settings/widgets.py @@ -1,5 +1,5 @@ from Qt import QtWidgets, QtCore -from openpype.tools.settings.settings.widgets.widgets import ( +from openpype.tools.settings.settings.widgets import ( ExpandingWidget, SpacerWidget ) diff --git a/openpype/tools/settings/settings/__init__.py b/openpype/tools/settings/settings/__init__.py index 3c12a73639..6b4cf94357 100644 --- a/openpype/tools/settings/settings/__init__.py +++ b/openpype/tools/settings/settings/__init__.py @@ -1,8 +1,6 @@ from . import style -from .widgets import ( - MainWidget, - ProjectListWidget -) +from .window import MainWidget +from .widgets import ProjectListWidget __all__ = ( diff --git a/openpype/tools/settings/settings/widgets/base.py b/openpype/tools/settings/settings/base.py similarity index 100% rename from openpype/tools/settings/settings/widgets/base.py rename to openpype/tools/settings/settings/base.py diff --git a/openpype/tools/settings/settings/widgets/categories.py b/openpype/tools/settings/settings/categories.py similarity index 100% rename from openpype/tools/settings/settings/widgets/categories.py rename to openpype/tools/settings/settings/categories.py diff --git a/openpype/tools/settings/settings/widgets/dict_mutable_widget.py b/openpype/tools/settings/settings/dict_mutable_widget.py similarity index 100% rename from openpype/tools/settings/settings/widgets/dict_mutable_widget.py rename to openpype/tools/settings/settings/dict_mutable_widget.py diff --git a/openpype/tools/settings/settings/widgets/item_widgets.py b/openpype/tools/settings/settings/item_widgets.py similarity index 100% rename from openpype/tools/settings/settings/widgets/item_widgets.py rename to openpype/tools/settings/settings/item_widgets.py diff --git a/openpype/tools/settings/settings/widgets/list_item_widget.py b/openpype/tools/settings/settings/list_item_widget.py similarity index 100% rename from openpype/tools/settings/settings/widgets/list_item_widget.py rename to openpype/tools/settings/settings/list_item_widget.py diff --git a/openpype/tools/settings/settings/widgets/list_strict_widget.py b/openpype/tools/settings/settings/list_strict_widget.py similarity index 100% rename from openpype/tools/settings/settings/widgets/list_strict_widget.py rename to openpype/tools/settings/settings/list_strict_widget.py diff --git a/openpype/tools/settings/settings/widgets/multiselection_combobox.py b/openpype/tools/settings/settings/multiselection_combobox.py similarity index 100% rename from openpype/tools/settings/settings/widgets/multiselection_combobox.py rename to openpype/tools/settings/settings/multiselection_combobox.py diff --git a/openpype/tools/settings/settings/widgets/tests.py b/openpype/tools/settings/settings/tests.py similarity index 100% rename from openpype/tools/settings/settings/widgets/tests.py rename to openpype/tools/settings/settings/tests.py diff --git a/openpype/tools/settings/settings/widgets/widgets.py b/openpype/tools/settings/settings/widgets.py similarity index 100% rename from openpype/tools/settings/settings/widgets/widgets.py rename to openpype/tools/settings/settings/widgets.py diff --git a/openpype/tools/settings/settings/widgets/__init__.py b/openpype/tools/settings/settings/widgets/__init__.py deleted file mode 100644 index c9fec16f6e..0000000000 --- a/openpype/tools/settings/settings/widgets/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -from .window import MainWidget -from .widgets import ProjectListWidget - - -__all__ = [ - "MainWidget", - "ProjectListWidget" -] diff --git a/openpype/tools/settings/settings/widgets/window.py b/openpype/tools/settings/settings/window.py similarity index 99% rename from openpype/tools/settings/settings/widgets/window.py rename to openpype/tools/settings/settings/window.py index 495f909e51..9b368588c3 100644 --- a/openpype/tools/settings/settings/widgets/window.py +++ b/openpype/tools/settings/settings/window.py @@ -5,7 +5,7 @@ from .categories import ( ProjectWidget ) from .widgets import ShadowWidget -from .. import style +from . import style from openpype.tools.settings import ( is_password_required, diff --git a/openpype/tools/settings/settings/widgets/wrapper_widgets.py b/openpype/tools/settings/settings/wrapper_widgets.py similarity index 100% rename from openpype/tools/settings/settings/widgets/wrapper_widgets.py rename to openpype/tools/settings/settings/wrapper_widgets.py From 81e5022c17e039f629269a3cc1b954ba02ca0ce5 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 10:23:49 +0200 Subject: [PATCH 33/94] removed unused import --- openpype/tools/settings/settings/categories.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/openpype/tools/settings/settings/categories.py b/openpype/tools/settings/settings/categories.py index ab28620fc5..4762aa4b6b 100644 --- a/openpype/tools/settings/settings/categories.py +++ b/openpype/tools/settings/settings/categories.py @@ -30,8 +30,6 @@ from openpype.settings.entities import ( from openpype.settings import SaveWarningExc from .widgets import ProjectListWidget -from . import lib - from .base import GUIWidget from .list_item_widget import ListWidget from .list_strict_widget import ListStrictWidget From 2a47f1f8e08a2c21585450708fc88ebde03cbdcd Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 6 May 2021 14:14:06 +0200 Subject: [PATCH 34/94] hound: suggestions --- openpype/hosts/resolve/api/plugin.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openpype/hosts/resolve/api/plugin.py b/openpype/hosts/resolve/api/plugin.py index 488e9fca07..7630282cbe 100644 --- a/openpype/hosts/resolve/api/plugin.py +++ b/openpype/hosts/resolve/api/plugin.py @@ -422,7 +422,6 @@ class ClipLoader: media_pool_item = lib.create_media_pool_item( self.data["path"], self.active_bin) _clip_property = media_pool_item.GetClipProperty - clip_name = _clip_property("File Name") # get handles handle_start = self.data["versionData"].get("handleStart") From 87a63187aa0044423871d03f699ba1799d6c2632 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 6 May 2021 14:29:41 +0200 Subject: [PATCH 35/94] Resolve: improving code readability --- openpype/hosts/resolve/api/lib.py | 44 +++++++++++++++---------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/openpype/hosts/resolve/api/lib.py b/openpype/hosts/resolve/api/lib.py index bfe451aaa0..aa4b2e7219 100644 --- a/openpype/hosts/resolve/api/lib.py +++ b/openpype/hosts/resolve/api/lib.py @@ -164,24 +164,26 @@ def create_media_pool_item(fpath: str, # try to search in bin if the clip does not exist existing_mpi = get_media_pool_item(fpath, root_bin) - print(">>>>> existing_mpi: {}".format(existing_mpi)) - if not existing_mpi: - print("___ fpath: {}".format(fpath)) - dirname, file = os.path.split(fpath) - _name, ext = os.path.splitext(file) - print(dirname) - media_pool_items = media_storage.AddItemListToMediaPool(os.path.normpath(dirname)) - print(media_pool_items) - # pop the returned dict on first item as resolve data object is such - if media_pool_items: - media_pool_item = [mpi for mpi in media_pool_items - if ext in mpi.GetClipProperty("File Path")] - return media_pool_item.pop() - else: - return False - else: + if existing_mpi: return existing_mpi + dirname, file = os.path.split(fpath) + _name, ext = os.path.splitext(file) + + # add all data in folder to mediapool + media_pool_items = media_storage.AddItemListToMediaPool( + os.path.normpath(dirname)) + + if not media_pool_items: + return False + + # if any are added then look into them for the right extension + media_pool_item = [mpi for mpi in media_pool_items + if ext in mpi.GetClipProperty("File Path")] + + # return only first found + return media_pool_item.pop() + def get_media_pool_item(fpath, root: object = None) -> object: """ @@ -199,7 +201,6 @@ def get_media_pool_item(fpath, root: object = None) -> object: fname = os.path.basename(fpath) for _mpi in root.GetClipList(): - print(">>> _mpi: {}".format(_mpi.GetClipProperty("File Name"))) _mpi_name = _mpi.GetClipProperty("File Name") _mpi_name = get_reformated_path(_mpi_name, first=True) if fname in _mpi_name: @@ -312,7 +313,7 @@ def get_current_timeline_items( selecting_color = selecting_color or "Chocolate" project = get_current_project() timeline = get_current_timeline() - selected_clips = list() + selected_clips = [] # get all tracks count filtered by track type selected_track_count = timeline.GetTrackCount(track_type) @@ -708,7 +709,7 @@ def get_clip_attributes(clip): """ mp_item = clip.GetMediaPoolItem() - data = { + return { "clipIn": clip.GetStart(), "clipOut": clip.GetEnd(), "clipLeftOffset": clip.GetLeftOffset(), @@ -718,7 +719,6 @@ def get_clip_attributes(clip): "sourceId": mp_item.GetMediaId(), "sourceProperties": mp_item.GetClipProperty() } - return data def set_project_manager_to_folder_name(folder_name): @@ -850,12 +850,12 @@ def get_reformated_path(path, padded=False, first=False): get_reformated_path("plate.[0001-1008].exr") > plate.%04d.exr """ - num_pattern = r"(\[\d+\-\d+\])" - padding_pattern = r"(\d+)(?=-)" first_frame_pattern = re.compile(r"\[(\d+)\-\d+\]") if "[" in path: + padding_pattern = r"(\d+)(?=-)" padding = len(re.findall(padding_pattern, path).pop()) + num_pattern = r"(\[\d+\-\d+\])" if padded: path = re.sub(num_pattern, f"%0{padding}d", path) elif first: From b0b1e3d632744b1c9dfb2c938d1d68207a17969a Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 6 May 2021 16:09:24 +0200 Subject: [PATCH 36/94] Changed template_name_profiles from raw-json to profiles in Settings for IntegrateNew Originally it was in Settings only as json. Standardized to profile approach. Resulted in slight change in integrate_new.py --- openpype/plugins/publish/integrate_new.py | 12 ++++++- .../defaults/project_settings/global.json | 15 ++++---- .../schemas/schema_global_publish.json | 34 +++++++++++++++++-- 3 files changed, 52 insertions(+), 9 deletions(-) diff --git a/openpype/plugins/publish/integrate_new.py b/openpype/plugins/publish/integrate_new.py index 19b12e953d..f9f056cbc3 100644 --- a/openpype/plugins/publish/integrate_new.py +++ b/openpype/plugins/publish/integrate_new.py @@ -297,7 +297,17 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): else: orig_transfers = list(instance.data['transfers']) - template_name = self.template_name_from_instance(instance) + task_name = io.Session.get("AVALON_TASK") + family = self.main_family_from_instance(instance) + + key_values = {"families": family, "tasks": task_name} + profile = filter_profiles(self.template_name_profiles, key_values, + logger=self.log) + if profile: + template_name = profile["template_name"] + else: + # fallback + template_name = self.template_name_from_instance(instance) published_representations = {} for idx, repre in enumerate(instance.data["representations"]): diff --git a/openpype/settings/defaults/project_settings/global.json b/openpype/settings/defaults/project_settings/global.json index 53a33339c9..84e3bcf52b 100644 --- a/openpype/settings/defaults/project_settings/global.json +++ b/openpype/settings/defaults/project_settings/global.json @@ -116,19 +116,22 @@ ] }, "IntegrateAssetNew": { - "template_name_profiles": { - "publish": { + "template_name_profiles": [ + { "families": [], - "tasks": [] + "tasks": [], + "template_name": "publish" }, - "render": { + { "families": [ "review", "render", "prerender" - ] + ], + "tasks": [], + "template_name": "render" } - }, + ], "subset_grouping_profiles": [ { "families": [], diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json index 8b0828be23..534638ecc3 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json @@ -420,9 +420,39 @@ "is_group": true, "children": [ { - "type": "raw-json", + "type": "list", "key": "template_name_profiles", - "label": "template_name_profiles" + "label": "Template name profiles", + "use_label_wrap": true, + "object_type": { + "type": "dict", + "children": [ + { + "type": "label", + "label": "" + }, + { + "key": "families", + "label": "Families", + "type": "list", + "object_type": "text" + }, + { + "key": "tasks", + "label": "Task names", + "type": "list", + "object_type": "text" + }, + { + "type": "separator" + }, + { + "type": "text", + "key": "template_name", + "label": "Template name" + } + ] + } }, { "type": "list", From 26c1acf250ce6789a8e1b8dbba69c3532c1bfeec Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 6 May 2021 17:18:16 +0200 Subject: [PATCH 37/94] resolve: reviewTrack was duplicated to all tags --- openpype/hosts/resolve/api/plugin.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openpype/hosts/resolve/api/plugin.py b/openpype/hosts/resolve/api/plugin.py index 7630282cbe..f1c55a6180 100644 --- a/openpype/hosts/resolve/api/plugin.py +++ b/openpype/hosts/resolve/api/plugin.py @@ -783,6 +783,8 @@ class PublishClip: # add review track only to hero track if hero_track and self.review_layer: self.tag_data.update({"reviewTrack": self.review_layer}) + else: + self.tag_data.update({"reviewTrack": None}) def _solve_tag_hierarchy_data(self, hierarchy_formating_data): @@ -819,7 +821,7 @@ class PublishClip: def _create_parents(self): """ Create parents and return it in list. """ - self.parents = list() + self.parents = [] patern = re.compile(self.parents_search_patern) par_split = [patern.findall(t).pop() From c6356200d15e4c7f1c7e1fd8cd4efde9f67f00cb Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 6 May 2021 17:18:55 +0200 Subject: [PATCH 38/94] Resolve: handles only to available range --- .../plugins/publish/precollect_instances.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/resolve/plugins/publish/precollect_instances.py b/openpype/hosts/resolve/plugins/publish/precollect_instances.py index c38cbc4f73..95b891d95a 100644 --- a/openpype/hosts/resolve/plugins/publish/precollect_instances.py +++ b/openpype/hosts/resolve/plugins/publish/precollect_instances.py @@ -37,8 +37,16 @@ class PrecollectInstances(pyblish.api.ContextPlugin): continue media_pool_item = timeline_item.GetMediaPoolItem() - clip_property = media_pool_item.GetClipProperty() - self.log.debug(f"clip_property: {clip_property}") + source_duration = int(media_pool_item.GetClipProperty("Frames")) + + # solve handles length + handle_start = min( + tag_data["handleStart"], int(timeline_item.GetLeftOffset())) + handle_end = min( + tag_data["handleEnd"], int( + source_duration - timeline_item.GetRightOffset())) + + self.log.debug("Handles: <{}, {}>".format(handle_start, handle_end)) # add tag data to instance data data.update({ @@ -60,7 +68,9 @@ class PrecollectInstances(pyblish.api.ContextPlugin): "item": timeline_item, "families": families, "publish": resolve.get_publish_attribute(timeline_item), - "fps": context.data["fps"] + "fps": context.data["fps"], + "handleStart": handle_start, + "handleEnd": handle_end }) # otio clip data From 5e7845b4db6f388d3a8e5b3c1eb0708e47644a68 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Thu, 6 May 2021 17:19:18 +0200 Subject: [PATCH 39/94] global: reviewTrack from instance --- openpype/plugins/publish/collect_otio_review.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openpype/plugins/publish/collect_otio_review.py b/openpype/plugins/publish/collect_otio_review.py index e2375c70c9..4243926ba3 100644 --- a/openpype/plugins/publish/collect_otio_review.py +++ b/openpype/plugins/publish/collect_otio_review.py @@ -4,7 +4,7 @@ Requires: context -> otioTimeline Optional: - otioClip.metadata -> masterLayer + instance -> reviewTrack Provides: instance -> otioReviewClips @@ -26,12 +26,12 @@ class CollectOcioReview(pyblish.api.InstancePlugin): def process(self, instance): # get basic variables - otio_review_clips = list() + otio_review_clips = [] otio_timeline = instance.context.data["otioTimeline"] otio_clip = instance.data["otioClip"] # optionally get `reviewTrack` - review_track_name = otio_clip.metadata.get("reviewTrack") + review_track_name = instance.data.get("reviewTrack") # generate range in parent otio_tl_range = otio_clip.range_in_parent() From fba168584e095ce34d773c58fa38ec41bd8d82e9 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 17:49:44 +0200 Subject: [PATCH 40/94] list entity triggers on_child_change on add/remove children --- openpype/settings/entities/list_entity.py | 37 +++++++++-------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/openpype/settings/entities/list_entity.py b/openpype/settings/entities/list_entity.py index a57468fff7..4b3f7a2659 100644 --- a/openpype/settings/entities/list_entity.py +++ b/openpype/settings/entities/list_entity.py @@ -61,39 +61,36 @@ class ListEntity(EndpointEntity): def append(self, item): child_obj = self.add_new_item(trigger_change=False) child_obj.set(item) - self.on_change() + self.on_child_change(child_obj) def extend(self, items): for item in items: self.append(item) def clear(self): - self.children.clear() - self.on_change() + if not self.children: + return + + first_item = self.children.pop(0) + while self.children: + self.children.pop(0) + self.on_child_change(first_item) def pop(self, idx): item = self.children.pop(idx) - self.on_change() + self.on_child_change(item) return item def remove(self, item): - for idx, child_obj in enumerate(self.children): - found = False - if isinstance(item, BaseEntity): - if child_obj is item: - found = True - elif child_obj.value == item: - found = True - - if found: - self.pop(idx) - return - raise ValueError("ListEntity.remove(x): x not in ListEntity") + try: + self.pop(self.index(item)) + except ValueError: + raise ValueError("ListEntity.remove(x): x not in ListEntity") def insert(self, idx, item): child_obj = self.add_new_item(idx, trigger_change=False) child_obj.set(item) - self.on_change() + self.on_child_change(child_obj) def _add_new_item(self, idx=None): child_obj = self.create_schema_object(self.item_schema, self, True) @@ -106,13 +103,9 @@ class ListEntity(EndpointEntity): def add_new_item(self, idx=None, trigger_change=True): child_obj = self._add_new_item(idx) child_obj.set_override_state(self._override_state) - if self._override_state is OverrideState.STUDIO: - child_obj.add_to_studio_default([]) - elif self._override_state is OverrideState.PROJECT: - child_obj.add_to_project_default([]) if trigger_change: - self.on_change() + self.on_child_change(child_obj) return child_obj def swap_items(self, item_1, item_2): From 97103ab89c64809f14988f18015521547151c462 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 6 May 2021 20:37:44 +0200 Subject: [PATCH 41/94] defined custom constant as `subprocess` may not have defined CREATE_NO_WINDOW constant in all python builds --- openpype/lib/__init__.py | 3 ++- openpype/lib/execute.py | 3 +++ openpype/plugins/publish/extract_burnin.py | 7 +++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/openpype/lib/__init__.py b/openpype/lib/__init__.py index c8ab143490..457ceb1d56 100644 --- a/openpype/lib/__init__.py +++ b/openpype/lib/__init__.py @@ -26,7 +26,8 @@ from .terminal import Terminal from .execute import ( get_pype_execute_args, execute, - run_subprocess + run_subprocess, + CREATE_NO_WINDOW ) from .log import PypeLogger, timeit from .mongo import ( diff --git a/openpype/lib/execute.py b/openpype/lib/execute.py index 441dcfa754..12fba23e82 100644 --- a/openpype/lib/execute.py +++ b/openpype/lib/execute.py @@ -6,6 +6,9 @@ from .log import PypeLogger as Logger log = logging.getLogger(__name__) +# MSDN process creation flag (Windows only) +CREATE_NO_WINDOW = 0x08000000 + def execute(args, silent=False, diff --git a/openpype/plugins/publish/extract_burnin.py b/openpype/plugins/publish/extract_burnin.py index c37fa7390a..76f6ffc608 100644 --- a/openpype/plugins/publish/extract_burnin.py +++ b/openpype/plugins/publish/extract_burnin.py @@ -17,7 +17,8 @@ from openpype.lib import ( get_pype_execute_args, should_decompress, get_decompress_dir, - decompress + decompress, + CREATE_NO_WINDOW ) @@ -253,9 +254,7 @@ class ExtractBurnin(openpype.api.Extractor): "env": {} } if platform.system().lower() == "windows": - process_kwargs["creationflags"] = ( - subprocess.CREATE_NO_WINDOW - ) + process_kwargs["creationflags"] = CREATE_NO_WINDOW openpype.api.run_subprocess(args, **process_kwargs) # Remove the temporary json From b3d4b8e6ff68f70f944fb2d52f4625a67f320b6e Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 6 May 2021 20:43:30 +0200 Subject: [PATCH 42/94] fix gamma on extract review --- openpype/settings/defaults/project_settings/global.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/settings/defaults/project_settings/global.json b/openpype/settings/defaults/project_settings/global.json index d2213044f2..0becec4508 100644 --- a/openpype/settings/defaults/project_settings/global.json +++ b/openpype/settings/defaults/project_settings/global.json @@ -7,7 +7,7 @@ "enabled": true, "ffmpeg_args": { "input": [ - "-gamma 2.2" + "-apply_trc gamma22" ], "output": [] } From 636ff4eee33043e0c91230f7bdcb7eed88b8342f Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 6 May 2021 23:35:47 +0200 Subject: [PATCH 43/94] thumbnail uses same preset as playblast --- openpype/hosts/maya/plugins/publish/extract_thumbnail.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py index 35d720726b..cf40104645 100644 --- a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py +++ b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py @@ -34,7 +34,7 @@ class ExtractThumbnail(openpype.api.Extractor): capture_preset = "" capture_preset = ( - instance.context.data["project_settings"]['maya']['publish']['ExtractPlayblast'] + instance.context.data["project_settings"]['maya']['publish']['ExtractPlayblast']['capture_preset'] ) try: From 8b227929eea11aeda20d8f5d42cfc4e0acb5418d Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Thu, 6 May 2021 23:36:05 +0200 Subject: [PATCH 44/94] integrate hero is configurable --- ..._master_version.py => integrate_hero_version.py} | 0 .../settings/defaults/project_settings/global.json | 13 ++++++++++++- .../schemas/schema_global_publish.json | 11 +++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) rename openpype/plugins/publish/{integrate_master_version.py => integrate_hero_version.py} (100%) diff --git a/openpype/plugins/publish/integrate_master_version.py b/openpype/plugins/publish/integrate_hero_version.py similarity index 100% rename from openpype/plugins/publish/integrate_master_version.py rename to openpype/plugins/publish/integrate_hero_version.py diff --git a/openpype/settings/defaults/project_settings/global.json b/openpype/settings/defaults/project_settings/global.json index c9b61e0375..58a782f6f4 100644 --- a/openpype/settings/defaults/project_settings/global.json +++ b/openpype/settings/defaults/project_settings/global.json @@ -1,7 +1,18 @@ { "publish": { "IntegrateHeroVersion": { - "enabled": true + "enabled": true, + "optional": true, + "families": [ + "model", + "rig", + "look", + "pointcache", + "animation", + "setdress", + "layout", + "mayaAscii" + ] }, "ExtractJpegEXR": { "enabled": true, diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json index 8b0828be23..f1b6e7718f 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json @@ -16,6 +16,17 @@ "type": "boolean", "key": "enabled", "label": "Enabled" + }, + { + "type": "boolean", + "key": "optional", + "label": "Optional" + }, + { + "key": "families", + "label": "Families", + "type": "list", + "object_type": "text" } ] }, From 01eab50c023b3cf523dc37ebf80d43e976fe867a Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Fri, 7 May 2021 11:07:58 +0200 Subject: [PATCH 45/94] limit delete versions to library --- openpype/hosts/maya/plugins/load/load_reference.py | 1 - openpype/plugins/load/delete_old_versions.py | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/openpype/hosts/maya/plugins/load/load_reference.py b/openpype/hosts/maya/plugins/load/load_reference.py index 61e0290296..37a2b145d4 100644 --- a/openpype/hosts/maya/plugins/load/load_reference.py +++ b/openpype/hosts/maya/plugins/load/load_reference.py @@ -19,7 +19,6 @@ class ReferenceLoader(openpype.hosts.maya.api.plugin.ReferenceLoader): "rig", "camerarig"] representations = ["ma", "abc", "fbx", "mb"] - tool_names = ["loader"] label = "Reference" order = -10 diff --git a/openpype/plugins/load/delete_old_versions.py b/openpype/plugins/load/delete_old_versions.py index 8e3999e9c4..0a8df90463 100644 --- a/openpype/plugins/load/delete_old_versions.py +++ b/openpype/plugins/load/delete_old_versions.py @@ -18,6 +18,7 @@ class DeleteOldVersions(api.Loader): """Deletes specific number of old version""" representations = ["*"] families = ["*"] + tool_names = ["library_loader"] label = "Delete Old Versions" order = 35 @@ -425,6 +426,7 @@ class CalculateOldVersions(DeleteOldVersions): """Calculate file size of old versions""" label = "Calculate Old Versions" order = 30 + tool_names = ["library_loader"] options = [ qargparse.Integer( From 7b64b532fa592f4bfd5fe5dbfacb56b2909f9b28 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 7 May 2021 11:37:12 +0200 Subject: [PATCH 46/94] Removed unneeded funtion, it wouldn't work anyway --- openpype/plugins/publish/integrate_new.py | 65 ----------------------- 1 file changed, 65 deletions(-) diff --git a/openpype/plugins/publish/integrate_new.py b/openpype/plugins/publish/integrate_new.py index f9f056cbc3..9769f0d165 100644 --- a/openpype/plugins/publish/integrate_new.py +++ b/openpype/plugins/publish/integrate_new.py @@ -305,9 +305,6 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): logger=self.log) if profile: template_name = profile["template_name"] - else: - # fallback - template_name = self.template_name_from_instance(instance) published_representations = {} for idx, repre in enumerate(instance.data["representations"]): @@ -863,68 +860,6 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): family = instance.data["families"][0] return family - def template_name_from_instance(self, instance): - template_name = self.default_template_name - if not self.template_name_profiles: - self.log.debug(( - "Template name profiles are not set." - " Using default \"{}\"" - ).format(template_name)) - return template_name - - # Task name from session? - task_name = io.Session.get("AVALON_TASK") - family = self.main_family_from_instance(instance) - - matching_profiles = {} - highest_value = -1 - self.log.debug( - "Template name profiles:\n{}".format(self.template_name_profiles) - ) - for name, filters in self.template_name_profiles.items(): - value = 0 - families = filters.get("families") - if families: - if family not in families: - continue - value += 1 - - tasks = filters.get("tasks") - if tasks: - if task_name not in tasks: - continue - value += 1 - - if value > highest_value: - matching_profiles = {} - highest_value = value - - if value == highest_value: - matching_profiles[name] = filters - - if len(matching_profiles) == 1: - template_name = tuple(matching_profiles.keys())[0] - self.log.debug( - "Using template name \"{}\".".format(template_name) - ) - - elif len(matching_profiles) > 1: - template_name = tuple(matching_profiles.keys())[0] - self.log.warning(( - "More than one template profiles matched" - " Family \"{}\" and Task: \"{}\"." - " Using first template name in row \"{}\"." - ).format(family, task_name, template_name)) - - else: - self.log.debug(( - "None of template profiles matched" - " Family \"{}\" and Task: \"{}\"." - " Using default template name \"{}\"" - ).format(family, task_name, template_name)) - - return template_name - def get_rootless_path(self, anatomy, path): """ Returns, if possible, path without absolute portion from host (eg. 'c:\' or '/opt/..') From caff114406dd4c1cb4ce55f6762aa2a808706028 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 7 May 2021 11:44:46 +0200 Subject: [PATCH 47/94] Documentation for publish_plugins/global/IntegrateNew --- .../global_integrate_new_subset_group.png | Bin 0 -> 14789 bytes ...al_integrate_new_template_name_profile.png | Bin 0 -> 19053 bytes .../settings_project_global.md | 59 +++++++++++++++--- 3 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 website/docs/project_settings/assets/global_integrate_new_subset_group.png create mode 100644 website/docs/project_settings/assets/global_integrate_new_template_name_profile.png diff --git a/website/docs/project_settings/assets/global_integrate_new_subset_group.png b/website/docs/project_settings/assets/global_integrate_new_subset_group.png new file mode 100644 index 0000000000000000000000000000000000000000..92638984cc7bdcfef7d9991dc706087c7cc4a7ac GIT binary patch literal 14789 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 literal 0 HcmV?d00001 diff --git a/website/docs/project_settings/assets/global_integrate_new_template_name_profile.png b/website/docs/project_settings/assets/global_integrate_new_template_name_profile.png new file mode 100644 index 0000000000000000000000000000000000000000..8529761a50792f5a4f147c343208b7b96ee38941 GIT binary patch literal 19053 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
    Vqc8a=czTaqb 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 hKWlN7Pd>hqpgw$8Whq$%h Date: Fri, 7 May 2021 10:47:27 +0000 Subject: [PATCH 48/94] Create draft PR for #1490 From 28db3e1a6c80b8d250bc4055dd014eb132fe8bb0 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 7 May 2021 12:48:23 +0200 Subject: [PATCH 49/94] new images for documentation --- ...lve_publish_instance_other_plateSubsets.png | Bin 0 -> 86411 bytes .../resolve_publish_instance_review_main.png | Bin 0 -> 112342 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 website/docs/assets/resolve_publish_instance_other_plateSubsets.png create mode 100644 website/docs/assets/resolve_publish_instance_review_main.png diff --git a/website/docs/assets/resolve_publish_instance_other_plateSubsets.png b/website/docs/assets/resolve_publish_instance_other_plateSubsets.png new file mode 100644 index 0000000000000000000000000000000000000000..fd5f857da58c3116f0bd1b46a43c6ed7a04f48e9 GIT binary patch literal 86411 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 literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_publish_instance_review_main.png b/website/docs/assets/resolve_publish_instance_review_main.png new file mode 100644 index 0000000000000000000000000000000000000000..0cf5ed3b994f4c06f5fcbb25f947cded9c2632b7 GIT binary patch literal 112342 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 z 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 Date: Fri, 7 May 2021 12:59:49 +0200 Subject: [PATCH 50/94] implemented function which determine what args are used --- openpype/scripts/otio_burnin.py | 43 ++++++++++++++------------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/openpype/scripts/otio_burnin.py b/openpype/scripts/otio_burnin.py index 8826f1af0c..1c0b31d3a5 100644 --- a/openpype/scripts/otio_burnin.py +++ b/openpype/scripts/otio_burnin.py @@ -69,6 +69,23 @@ def get_fps(str_value): return str(fps) +def get_codec_args(ffprobe_data): + codec_name = ffprobe_data.get("codec_name") + output = [] + if codec_name: + output.extend(["-codec:v", codec_name]) + + bit_rate = ffprobe_data.get("bit_rate") + if bit_rate: + output.extend(["-b:v", bit_rate]) + + pix_fmt = ffprobe_data.get("pix_fmt") + if pix_fmt: + output.extend(["-pix_fmt", pix_fmt]) + + return output + + class ModifiedBurnins(ffmpeg_burnins.Burnins): ''' This is modification of OTIO FFmpeg Burnin adapter. @@ -561,31 +578,7 @@ def burnins_from_data( else: ffprobe_data = burnin._streams[0] - codec_name = ffprobe_data.get("codec_name") - if codec_name: - if codec_name == "prores": - tags = ffprobe_data.get("tags") or {} - encoder = tags.get("encoder") or "" - if encoder.endswith("prores_ks"): - codec_name = "prores_ks" - - elif encoder.endswith("prores_aw"): - codec_name = "prores_aw" - ffmpeg_args.append("-codec:v {}".format(codec_name)) - - profile_name = ffprobe_data.get("profile") - if profile_name: - # lower profile name and repalce spaces with underscore - profile_name = profile_name.replace(" ", "_").lower() - ffmpeg_args.append("-profile:v {}".format(profile_name)) - - bit_rate = ffprobe_data.get("bit_rate") - if bit_rate: - ffmpeg_args.append("-b:v {}".format(bit_rate)) - - pix_fmt = ffprobe_data.get("pix_fmt") - if pix_fmt: - ffmpeg_args.append("-pix_fmt {}".format(pix_fmt)) + ffmpeg_args.extend(get_codec_args(ffprobe_data)) # Use group one (same as `-intra` argument, which is deprecated) ffmpeg_args.append("-g 1") From 378d43463b5c1ffa946c6ce5f5372253411b915d Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 7 May 2021 13:00:15 +0200 Subject: [PATCH 51/94] implemented function handling prores codec --- openpype/scripts/otio_burnin.py | 43 +++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/openpype/scripts/otio_burnin.py b/openpype/scripts/otio_burnin.py index 1c0b31d3a5..6c6bd6ff43 100644 --- a/openpype/scripts/otio_burnin.py +++ b/openpype/scripts/otio_burnin.py @@ -69,8 +69,51 @@ def get_fps(str_value): return str(fps) +def _prores_codec_args(ffprobe_data): + output = [] + + tags = ffprobe_data.get("tags") or {} + encoder = tags.get("encoder") or "" + if encoder.endswith("prores_ks"): + codec_name = "prores_ks" + + elif encoder.endswith("prores_aw"): + codec_name = "prores_aw" + + else: + codec_name = "prores" + + output.extend(["-codec:v", codec_name]) + + pix_fmt = ffprobe_data.get("pix_fmt") + if pix_fmt: + output.extend(["-pix_fmt", pix_fmt]) + + # Rest of arguments is prores_kw specific + if codec_name == "prores_ks": + codec_tag_to_profile_map = { + "apco": "proxy", + "apcs": "lt", + "apcn": "standard", + "apch": "hq", + "ap4h": "4444", + "ap4x": "4444xq" + } + codec_tag_str = ffprobe_data.get("codec_tag_string") + if codec_tag_str: + profile = codec_tag_to_profile_map.get(codec_tag_str) + if profile: + output.extend(["-profile:v", profile]) + + return output + + def get_codec_args(ffprobe_data): codec_name = ffprobe_data.get("codec_name") + # Handle prores + if codec_name == "prores": + return _prores_codec_args(ffprobe_data) + output = [] if codec_name: output.extend(["-codec:v", codec_name]) From 159ac20708c963f9f5fe8902995add91bd227d6a Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 7 May 2021 13:02:25 +0200 Subject: [PATCH 52/94] implemented function for h264 inputs --- openpype/scripts/otio_burnin.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/openpype/scripts/otio_burnin.py b/openpype/scripts/otio_burnin.py index 6c6bd6ff43..942d48d00a 100644 --- a/openpype/scripts/otio_burnin.py +++ b/openpype/scripts/otio_burnin.py @@ -108,12 +108,31 @@ def _prores_codec_args(ffprobe_data): return output +def _h264_codec_args(ffprobe_data): + output = [] + + output.extend(["-codec:v", "h264"]) + + pix_fmt = ffprobe_data.get("pix_fmt") + if pix_fmt: + output.extend(["-pix_fmt", pix_fmt]) + + output.extend(["-intra"]) + output.extend(["-g", "1"]) + + return output + + def get_codec_args(ffprobe_data): codec_name = ffprobe_data.get("codec_name") - # Handle prores + # Codec "prores" if codec_name == "prores": return _prores_codec_args(ffprobe_data) + # Codec "h264" + if codec_name == "h264": + return _h264_codec_args(ffprobe_data) + output = [] if codec_name: output.extend(["-codec:v", codec_name]) From 64093f271134241e9353404b9efc5b0733756b2d Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 7 May 2021 13:02:45 +0200 Subject: [PATCH 53/94] modified adding of -g argument --- openpype/scripts/otio_burnin.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openpype/scripts/otio_burnin.py b/openpype/scripts/otio_burnin.py index 942d48d00a..ca77171981 100644 --- a/openpype/scripts/otio_burnin.py +++ b/openpype/scripts/otio_burnin.py @@ -145,6 +145,8 @@ def get_codec_args(ffprobe_data): if pix_fmt: output.extend(["-pix_fmt", pix_fmt]) + output.extend(["-g", "1"]) + return output @@ -637,14 +639,13 @@ def burnins_from_data( if codec_data: # Use codec definition from method arguments ffmpeg_args = codec_data + ffmpeg_args.append("-g 1") else: ffprobe_data = burnin._streams[0] ffmpeg_args.extend(get_codec_args(ffprobe_data)) # Use group one (same as `-intra` argument, which is deprecated) - ffmpeg_args.append("-g 1") - ffmpeg_args_str = " ".join(ffmpeg_args) burnin.render( output_path, args=ffmpeg_args_str, overwrite=overwrite, **data From 2269afabf973499a7866516e8626ce7738f76d67 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 7 May 2021 13:11:32 +0200 Subject: [PATCH 54/94] Resolve: documentation added Publishing passage --- website/docs/artist_hosts_resolve.md | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/website/docs/artist_hosts_resolve.md b/website/docs/artist_hosts_resolve.md index 56136cfd01..52c379671d 100644 --- a/website/docs/artist_hosts_resolve.md +++ b/website/docs/artist_hosts_resolve.md @@ -172,6 +172,35 @@ The multiple tracks scenario - as it had been mentioned [here](#rename-timeline- ## Publishing Shots +
    +
    + +Once all `Chocolate` colored clips has been colored to `Pink` color and in the middle of them had appeared marker it has been successfully converted publishing instances. Now we can start **Publisher** - button can be found on OpenPype menu. + +

    +
    + +
    +
    + +![Create menu](assets/resolve_publish_instance_review_main.png) +Notice that the main track clips and review had been merged into one instance. And since it is main `hero` clip it is also holding all new shot metadata. For that reason it also create secon instance for each with `shot` family. This instance will create all shot hierarchy and pass frame range attributes to shot (asset). + +
    +
    + +
    +
    + +![Create menu](assets/resolve_publish_instance_other_plateSubsets.png) +Also notice how the subset (instance) name is formed form a *track* name and *subset familly* from previouse steps. + +Aslo important to notice the asset name in *OpenPypeData* at marker - the name is the same for all **Vertically renamed** shots as they have been grouped to gether. Unfortunatelly BMDVR is not allowing to rename clips so the only way to know is to se it in marker's metadata. + +
    +
    + +
    ## Installation of Python and PySide ### Installing Resolve's own python 3.6 interpreter. From 9fb629d562a25606f3d43e39a3043aa7e35afb12 Mon Sep 17 00:00:00 2001 From: jezscha Date: Fri, 7 May 2021 12:24:09 +0000 Subject: [PATCH 55/94] Create draft PR for #1378 From 842ea719f1f5f996876ed9fdd9e0ce3fb09fb893 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 7 May 2021 17:38:23 +0200 Subject: [PATCH 56/94] nuke: implementation of https://github.com/pypeclub/OpenPype/pull/1494 --- openpype/hosts/nuke/api/lib.py | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/openpype/hosts/nuke/api/lib.py b/openpype/hosts/nuke/api/lib.py index 7ef5401292..ea6476485b 100644 --- a/openpype/hosts/nuke/api/lib.py +++ b/openpype/hosts/nuke/api/lib.py @@ -373,21 +373,16 @@ def create_write_node(name, data, input=None, prenodes=None, review=True): prev_node = None with GN: - connections = list() if input: + input_name = str(input.name()).replace(" ", "") # if connected input node was defined - connections.append({ - "node": input, - "inputName": input.name()}) prev_node = nuke.createNode( - "Input", "name {}".format(input.name())) - prev_node.hideControlPanel() + "Input", "name {}".format(input_name)) else: # generic input node connected to nothing prev_node = nuke.createNode( "Input", "name {}".format("rgba")) - prev_node.hideControlPanel() - + prev_node.hideControlPanel() # creating pre-write nodes `prenodes` if prenodes: for name, klass, properties, set_output_to in prenodes: @@ -416,18 +411,12 @@ def create_write_node(name, data, input=None, prenodes=None, review=True): input_node = nuke.createNode( "Input", "name {}".format(node_name)) input_node.hideControlPanel() - connections.append({ - "node": nuke.toNode(node_name), - "inputName": node_name}) now_node.setInput(1, input_node) elif isinstance(set_output_to, str): input_node = nuke.createNode( "Input", "name {}".format(node_name)) input_node.hideControlPanel() - connections.append({ - "node": nuke.toNode(set_output_to), - "inputName": set_output_to}) now_node.setInput(0, input_node) else: From 753d20322ba148f9d0d9b26e95d862d1754cb5d7 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Fri, 7 May 2021 17:46:07 +0200 Subject: [PATCH 57/94] change default render template to use Family instead of explicit render --- openpype/settings/defaults/project_anatomy/templates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/settings/defaults/project_anatomy/templates.json b/openpype/settings/defaults/project_anatomy/templates.json index 2b16f59d01..63477b9d82 100644 --- a/openpype/settings/defaults/project_anatomy/templates.json +++ b/openpype/settings/defaults/project_anatomy/templates.json @@ -11,7 +11,7 @@ "path": "{@folder}/{@file}" }, "render": { - "folder": "{root[work]}/{project[name]}/{hierarchy}/{asset}/publish/render/{subset}/{@version}", + "folder": "{root[work]}/{project[name]}/{hierarchy}/{asset}/publish/{family}/{subset}/{@version}", "file": "{project[code]}_{asset}_{subset}_{@version}<_{output}><.{@frame}>.{ext}", "path": "{@folder}/{@file}" }, From ea8f093d351611a07471281f5e4b215e6fe67187 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Fri, 7 May 2021 18:48:04 +0200 Subject: [PATCH 58/94] change instance to subset and fix some typos --- .../settings_project_global.md | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/website/docs/project_settings/settings_project_global.md b/website/docs/project_settings/settings_project_global.md index 235a506482..4fee57d575 100644 --- a/website/docs/project_settings/settings_project_global.md +++ b/website/docs/project_settings/settings_project_global.md @@ -13,39 +13,40 @@ Project settings can have project specific values. Each new project is using stu Projects always use default project values unless they have [project override](../admin_settings#project-overrides) (orage colour). Any changes in default project may affect all existing projects. ::: +## Profile filters + +Many of the settings are using a concept of **Profile filters** + +You can define multiple profiles to choose from for different contexts. Each filter is evaluated and a +profile with filters matching the current context the most, is used. + +You can define profile without any filters and use it as **default**. + +Only **one or none** profile will be returned per context. + +All context filters are lists which may contain strings or Regular expressions (RegEx). +- **`hosts`** - Host from which publishing was triggered. `["maya", "nuke"]` +- **`families`** - Main family of processed subset. `["plate", "model"]` +- **`tasks`** - Currently processed task. `["modeling", "animation"]` + +:::important Filtering +Filters are optional. In case when multiple profiles match current context, profile with higher number of matched filters has higher priority that profile without filters. +(Eg. order of when filter is added doesn't matter, only the precision of matching does.) +::: + ## Publish plugins Publish plugins used across all integrations. -**Profile filters** - -Many of the plugins are using a concept of **Profile filters** - -You can define multiple profiles to choose from for different contexts. Each filter is evaluated for a profile and -profile with filters matching the current context the most, is used. - -You can define profile without filters and use it as **default**. - -Only **one or none** profile will be returned per instance. - -All context filters are lists which may contain strings or Regular expressions (RegEx). -- **`hosts`** - Host from which publishing was triggered. `["maya", "nuke"]` -- **`families`** - Main family of processed instance. `["plate", "model"]` -- **`tasks`** - Task of processed instance. `["modeling", "animation"]` - -:::important Filtering -Filters are optional. In case when multiple profiles match current context, profile with higher number of matched filters has higher priority that profile without filters. -(Eg. order of when filter is added doesn't matter only precision of matching does.) -::: ### Extract Review Plugin responsible for automatic FFmpeg conversion to variety of formats. -Extract review is using [profile filtering](#profile_filters) to be able render different outputs for different situations. +Extract review is using [profile filtering](#profile-filters) to be able render different outputs for different situations. Applicable context filters: **`hosts`** - Host from which publishing was triggered. `["maya", "nuke"]` -- **`families`** - Main family of processed instance. `["plate", "model"]` +- **`families`** - Main family of processed subset. `["plate", "model"]` ![global_extract_review_profiles](assets/global_extract_review_profiles.png) @@ -82,32 +83,32 @@ Profile may generate multiple outputs from a single input. Each output must defi ### IntegrateAssetNew -Saves information for all published instances into DB, published assets are available for other hosts, tools and tasks after. +Saves information for all published subsets into DB, published assets are available for other hosts, tools and tasks after. #### Template name profiles -Allows to select [anatomy variant](admin_settings_project_anatomy.md#templates) based on context of processed published instance. +Allows to select [anatomy template](admin_settings_project_anatomy.md#templates) based on context of subset being published. -For example for `render` profile you want to publish and store assets in different location (based on anatomy setting) then for `publish` profile. -[Profile filtering](#profile_filters) is used to select between appropriate template for each context of published instances. +For example for `render` profile you might want to publish and store assets in different location (based on anatomy setting) then for `publish` profile. +[Profile filtering](#profile-filters) is used to select between appropriate template for each context of published subsets. Applicable context filters: - **`hosts`** - Host from which publishing was triggered. `["maya", "nuke"]` -- **`tasks`** - Task of processed instance. `["modeling", "animation"]` +- **`tasks`** - Current task. `["modeling", "animation"]` ![global_integrate_new_template_name_profile](assets/global_integrate_new_template_name_profile.png) -(This image shows use case where `render` anatomy template is used for instances of families ['review,'render', 'prerender'], `publish` template is chosen for all other.) +(This image shows use case where `render` anatomy template is used for subsets of families ['review, 'render', 'prerender'], `publish` template is chosen for all other.) #### Subset grouping profiles -Published instances might be grouped together for cleaner and easier selection in some loader tools (in [Loader](#artist_tools#subset-groups) for example) +Published subsets might be grouped together for cleaner and easier selection in **[Loader](artist_tools.md#subset-groups)** -Group name is chosen with use of [profile filtering](#profile_filters) +Group name is chosen with use of [profile filtering](#profile-filters) Applicable context filters: -- **`families`** - Main family of processed instance. `["plate", "model"]` +- **`families`** - Main family of processed subset. `["plate", "model"]` - **`hosts`** - Host from which publishing was triggered. `["maya", "nuke"]` -- **`tasks`** - Task of processed instance. `["modeling", "animation"]` +- **`tasks`** - Current task. `["modeling", "animation"]` ![global_integrate_new_template_name_profile](assets/global_integrate_new_subset_group.png) From 557352f7eddfbecd671ce53aa6e7ccac335bf014 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 7 May 2021 19:59:42 +0200 Subject: [PATCH 59/94] loader setting overrides are added for both Loader and SubsetLoader classes --- openpype/lib/plugin_tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/lib/plugin_tools.py b/openpype/lib/plugin_tools.py index fb12cef610..a5254af0da 100644 --- a/openpype/lib/plugin_tools.py +++ b/openpype/lib/plugin_tools.py @@ -194,7 +194,7 @@ def set_plugin_attributes_from_settings( # map plugin superclass to preset json. Currenly suppoted is load and # create (avalon.api.Loader and avalon.api.Creator) plugin_type = None - if superclass.__name__.split(".")[-1] == "Loader": + if superclass.__name__.split(".")[-1] in ("Loader", "SubsetLoader"): plugin_type = "load" elif superclass.__name__.split(".")[-1] == "Creator": plugin_type = "create" From 335443837ad845a7e982536adfd3170e27c91947 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 7 May 2021 20:00:26 +0200 Subject: [PATCH 60/94] modified delete old versions Loader from https://github.com/tokejepsen/pype/tree/2.x/feature/delete_old_versions --- openpype/plugins/load/delete_old_versions.py | 54 ++++++++++++-------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/openpype/plugins/load/delete_old_versions.py b/openpype/plugins/load/delete_old_versions.py index 8e3999e9c4..1c9deb262a 100644 --- a/openpype/plugins/load/delete_old_versions.py +++ b/openpype/plugins/load/delete_old_versions.py @@ -14,8 +14,12 @@ import avalon.pipeline from openpype.api import Anatomy -class DeleteOldVersions(api.Loader): +class DeleteOldVersions(api.SubsetLoader): """Deletes specific number of old version""" + + is_multiple_contexts_compatible = True + sequence_splitter = "__sequence_splitter__" + representations = ["*"] families = ["*"] @@ -259,9 +263,11 @@ class DeleteOldVersions(api.Loader): ) if not version_ids: - msg = "Skipping processing. Nothing to delete." + msg = "Skipping processing. Nothing to delete on {}/{}".format( + asset["name"], subset["name"] + ) self.log.info(msg) - self.message(msg) + print(msg) return repres = list(self.dbcon.find({ @@ -397,25 +403,30 @@ class DeleteOldVersions(api.Loader): self.log.error(msg) self.message(msg) - msg = "Total size of files: " + self.sizeof_fmt(size) - self.log.info(msg) - self.message(msg) + return size - def load(self, context, name=None, namespace=None, options=None): + def load(self, contexts, name=None, namespace=None, options=None): try: - versions_to_keep = 2 - remove_publish_folder = False - if options: - versions_to_keep = options.get( - "versions_to_keep", versions_to_keep - ) - remove_publish_folder = options.get( - "remove_publish_folder", remove_publish_folder - ) + size = 0 + for count, context in enumerate(contexts): + versions_to_keep = 2 + remove_publish_folder = False + if options: + versions_to_keep = options.get( + "versions_to_keep", versions_to_keep + ) + remove_publish_folder = options.get( + "remove_publish_folder", remove_publish_folder + ) - data = self.get_data(context, versions_to_keep) + data = self.get_data(context, versions_to_keep) - self.main(data, remove_publish_folder) + size += self.main(data, remove_publish_folder) + print("Progressing {}/{}".format(count + 1, len(contexts))) + + msg = "Total size of files: " + self.sizeof_fmt(size) + self.log.info(msg) + self.message(msg) except Exception: self.log.error("Failed to delete versions.", exc_info=True) @@ -438,6 +449,9 @@ class CalculateOldVersions(DeleteOldVersions): def main(self, data, remove_publish_folder): size = 0 + if not data: + return size + if remove_publish_folder: size = self.delete_whole_dir_paths( data["dir_paths"].values(), delete=False @@ -447,6 +461,4 @@ class CalculateOldVersions(DeleteOldVersions): data["dir_paths"], data["file_paths_by_dir"], delete=False ) - msg = "Total size of files: " + self.sizeof_fmt(size) - self.log.info(msg) - self.message(msg) + return size From 552f091a774b833646d7cfccdbb07d903290bb8a Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Mon, 10 May 2021 12:16:46 +0200 Subject: [PATCH 61/94] Grammar fixes mostly --- website/docs/artist_hosts_resolve.md | 69 +++++++++++++++++----------- 1 file changed, 41 insertions(+), 28 deletions(-) diff --git a/website/docs/artist_hosts_resolve.md b/website/docs/artist_hosts_resolve.md index 52c379671d..7b126c9127 100644 --- a/website/docs/artist_hosts_resolve.md +++ b/website/docs/artist_hosts_resolve.md @@ -9,7 +9,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; :::warning -Before you will be able to start with OpenPype tools in Blackmagic DaVinci Resolve (BMDVR) installation of own Python 3.6 interpreter and PySide 2 has to be done. Follow [this](#installation-of-python-and-pyside) link for more information +Before you are able to start with OpenPype tools in DaVinci Resolve, installation of its own Python 3.6 interpreter and PySide 2 has to be done. Go to [Installation of python and pyside](#installation-of-python-and-pyside) link for more information ::: @@ -25,9 +25,9 @@ Before you will be able to start with OpenPype tools in Blackmagic DaVinci Resol
    -## Creating Instances from timeline items +## Creating Shots from timeline items -Before any clip can be published with [Publisher](artist_tools.md#publisher) timeline items has to be marked with OpenPype specific marker with metadata. This way it is converted to publishable instance. +Before a clip can be published with [Publisher](artist_tools.md#publisher) timeline item has to be marked with OpenPype metadata markers. This way it is converted to a publishable subset. Lets do it step by step. @@ -36,10 +36,10 @@ Lets do it step by step.
    -### Color clips before opening Create +### Color clips before opening Create menu -Timeline video clips should be colored to `Chocolate` color for OpenPype to se it as selected for instance creation. +Timeline video clips should be colored to `Chocolate` color for OpenPype to se it as selected for subset creation.
    @@ -57,7 +57,7 @@ Timeline video clips should be colored to `Chocolate` color for OpenPype to se i
    -To be able to work with dynamic subset name, which is based on track names it is recomended to rename those tracks to some logical names. Recomended names are as such `main`, `review`, `fg01` or `fg02`, also `bg`; or with nubers like `bg01`, atc. So for example clip is on track **element** and subset family is set to **plate** then the resulting subset name will be **plateElement** +To be able to work with dynamic subset name, which is based on track names it is recommended to rename those tracks to what type of plates their clips represent. Commonly used ones are `main`, `review`, `fg01`, `fg02`, `bg`, `bg01`, etc. It is completely up to you but we recommend to always have at least `main` plate. For example if a clip is on track **element** and subset family is set to **plate** then the resulting subset name will be **plateElement**

    @@ -65,31 +65,31 @@ To be able to work with dynamic subset name, which is based on track names it is
    ![Create menu](assets/resolve_creator_subset_name.png) -So the resulting *subset* metadata in created **OpenPypeData** marker will by as such. +The name of the resulting *subset* can be seen in the **OpenPypeData** marker.



    ![Create menu](assets/resolve_remame_track_names.png) -Single track setup where we are using only `main` and `review` track names. +Simple track setup where we are only using `main` and `review` track names.
    ![Create menu](assets/resolve_create_vertical_rename_timeline.png) -An example of used track names. The yellow frame is highlighting vertically alligned clips - which are going to be renamed and grouped togeter under one asset (shot) name, but the concept of vertical renaming will be explained later in [Vertical Synchronization of Subset Attributes](#vertical-synchronization-of-subset-attributes). +An example of used track names. The yellow frame is highlighting vertically aligned clips - which are going to be renamed and grouped together under one asset (shot) name. The concept of vertical renaming will be explained later in [Vertical Synchronization of Subset Attributes](#vertical-synchronization-of-subset-attributes).
    -### Open Create ... +### Create menu...
    -After all clips which are inteded to be converted to publishable instances are colored to `Chockolate` color then open OpenPype menu. +After all clips which are intended to be converted to publishable instances are colored to `Chocolate` color, you can open OpenPype menu.
    @@ -97,13 +97,17 @@ After all clips which are inteded to be converted to publishable instances are c ![Create menu](assets/resolve_menu_openpype.png)
    + +
    + +
    -After the menu widget is opend (it can take while so be patient please :). +After the menu widget is opened (it can take while so be patient please :). -Hit `Create ...` and then set **Use selection** to active and select the family to **Create Publishable Clips**. +Hit `Create ...` and then set **Use selection** to active and select the family to **Create Publishable Clips**. -The Subset name could stay as it is - it is not going to be used. +The Subset name can stay as it is, it is not going to be used because each clip will generate it's own name.
    @@ -111,13 +115,20 @@ The Subset name could stay as it is - it is not going to be used. ![Create menu](assets/resolve_create_clips.png)
    +
    + +
    -In the new window *OpenPype publish attributes creator* set Rename clips to active if you wish to use different names of assets (shots) in pipeline then the original clip names conformed from EDL/XML. +The new windows that opens, let's you define various attributes for your future subsets and shots. -The sequencial renaming attributes can be defined by **Count sequence from** for starting of sequencial numbering. Then **Stepping number** will define gaps in sequences. +Set Rename clips to active if you wish to use different names of shots in pipeline then the original clip names conformed from EDL/XML. -As you can see in *Shot Template Keywords* section in `{shot}` key the renaming shot template name can be defined here and number of hashes will effect padding of the number in sequence. +**Count sequence from** - Start of the shot numbering if `#` is used in one of the keywords + +**Stepping number** - Sequential gaps in the numbering + +As you can see the in `{shot}` key within *Shot Template Keywords* section, you can use `#` symbol do define padding of the number in sequence and where it's going to be used.
    @@ -125,9 +136,12 @@ As you can see in *Shot Template Keywords* section in `{shot}` key the renaming ![Create menu](assets/resolve_create_renaming_clips.png)
    +
    + +
    -Notice the relationship of following sections. Keys from **Shot Template Keywords** sections will be used for formating of template strings in **Shot Hierarchy And Rename Settings** section. +Notice the relationship of following sections. Keys from **Shot Template Keywords** sections will be used for formating of templates in **Shot Hierarchy And Rename Settings** section. **Shot parent hierarchy** will be forming parents of the asset (shot) *the hidden root for this is project folder*. So for example of this template we will get resulging string `shots/sq01` @@ -147,21 +161,20 @@ Notice the relationship of following sections. Keys from **Shot Template Keyword ### Vertical synchronization of subset attributes -
    -
    +In case you are only working with two tracks on timeline where `main` track is going to be used as plates for compositors and `review` track holds mp4 clips for offlines and web preview. **Enable vertical sync** can be deactivated. -In case you are only working with two track on timeline setup with `main` track which is going to be used as plates for compositors or other and `review` for publishing h264 mp4 clips with offlines and web preview. The **Enable vertical sync** can be deactivated. - -The multiple tracks scenario - as it had been mentioned [here](#rename-timeline-track-names) - is recomanded to activate **Enable vertical sync** and define the hero (driving) track to *main* +In multiple tracks scenario - as mentioned [here](#rename-timeline-track-names) - it is recommended to activate **Enable vertical sync** and define the hero (driving) track to *main*. This will ensure that all of the clips on corresponding to the same shots will have the same publishing parameters.

    -
    + +
    ![Create menu](assets/resolve_create_single_track_rename_hero_track.png)
    +
    ![Create menu](assets/resolve_create_vertical_rename_creator_ui.png) @@ -175,7 +188,7 @@ The multiple tracks scenario - as it had been mentioned [here](#rename-timeline-
    -Once all `Chocolate` colored clips has been colored to `Pink` color and in the middle of them had appeared marker it has been successfully converted publishing instances. Now we can start **Publisher** - button can be found on OpenPype menu. +Once all `Chocolate` colored clips have gone through the [creator](#rcreate-menu), have been colored to `Pink` color and a marker has been created for each of them, it means they have been successfully converted to publishable clips. Now we can run **Publisher** - it's button can be found in the OpenPype menu.

    @@ -193,9 +206,9 @@ Notice that the main track clips and review had been merged into one instance. A
    ![Create menu](assets/resolve_publish_instance_other_plateSubsets.png) -Also notice how the subset (instance) name is formed form a *track* name and *subset familly* from previouse steps. +Also notice how the subset name is formed form a *track* name and *subset family* from previous steps. -Aslo important to notice the asset name in *OpenPypeData* at marker - the name is the same for all **Vertically renamed** shots as they have been grouped to gether. Unfortunatelly BMDVR is not allowing to rename clips so the only way to know is to se it in marker's metadata. +Also important is to notice the asset name in *OpenPypeData* at marker - the name is the same for all **Vertically renamed** shots as they have been grouped together. Unfortunately Resolve is not allowing to rename the clips so the only way to know is to see it in marker's metadata.
    @@ -204,7 +217,7 @@ Aslo important to notice the asset name in *OpenPypeData* at marker - the name i ## Installation of Python and PySide ### Installing Resolve's own python 3.6 interpreter. -BMDVR uses a hardcoded method to look for the python executable path. All of tho following paths are defined automatically by Python msi installer. We are using Python 3.6.2. +Resolve uses a hardcoded method to look for the python executable path. All of tho following paths are defined automatically by Python msi installer. We are using Python 3.6.2. Date: Mon, 10 May 2021 12:33:38 +0200 Subject: [PATCH 62/94] move resolve installation to admin section --- website/docs/admin_hosts_resolve.md | 103 +++++++++++++++++++++++++++ website/docs/artist_hosts_resolve.md | 97 +------------------------ website/sidebars.js | 3 +- 3 files changed, 107 insertions(+), 96 deletions(-) create mode 100644 website/docs/admin_hosts_resolve.md diff --git a/website/docs/admin_hosts_resolve.md b/website/docs/admin_hosts_resolve.md new file mode 100644 index 0000000000..d2e027205d --- /dev/null +++ b/website/docs/admin_hosts_resolve.md @@ -0,0 +1,103 @@ +--- +id: admin_hosts_resolve +title: DaVinci Resolve Setup +sidebar_label: DaVinci Resolve +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Resolve requirements +Due to the way resolve handles python and python scripts there are a few steps required steps needed to be done on any machine that will be using OpenPype with resolve. + +### Installing Resolve's own python 3.6 interpreter. +Resolve uses a hardcoded method to look for the python executable path. All of tho following paths are defined automatically by Python msi installer. We are using Python 3.6.2. + + + + + +`%LOCALAPPDATA%\Programs\Python\Python36` + + + + +`/opt/Python/3.6/bin` + + + + +`~/Library/Python/3.6/bin` + + + + + +### Installing PySide2 into python 3.6 for correct gui work + +OpenPype is using its own window widget inside Resolve, for that reason PySide2 has to be installed into the python 3.6 (as explained above). + + + + + +paste to any terminal of your choice + +```bash +%LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2 +``` + + + + +paste to any terminal of your choice + +```bash +/opt/Python/3.6/bin/python -m pip install PySide2 +``` + + + + +paste to any terminal of your choice + +```bash +~/Library/Python/3.6/bin/python -m pip install PySide2 +``` + + + + +
    + +### Set Resolve's Fusion settings for Python 3.6 interpereter + +
    + + +As it is shown in bellow picture you have to go to Fusion Tab and then in Fusion menu find Fusion Settings. Go to Fusion/Script and find Default Python Version and swith to Python 3.6 + +
    + +
    + +![Create menu](assets/resolve_fusion_tab.png) +![Create menu](assets/resolve_fusion_menu.png) +![Create menu](assets/resolve_fusion_script_settings.png) + +
    +
    \ No newline at end of file diff --git a/website/docs/artist_hosts_resolve.md b/website/docs/artist_hosts_resolve.md index 7b126c9127..be069eea79 100644 --- a/website/docs/artist_hosts_resolve.md +++ b/website/docs/artist_hosts_resolve.md @@ -1,7 +1,7 @@ --- id: artist_hosts_resolve -title: Blackmagic DaVinci Resolve -sidebar_label: Blackmagic DaVinci Resolve +title: DaVinci Resolve +sidebar_label: DaVinci Resolve --- @@ -214,96 +214,3 @@ Also important is to notice the asset name in *OpenPypeData* at marker - the nam
    - -## Installation of Python and PySide -### Installing Resolve's own python 3.6 interpreter. -Resolve uses a hardcoded method to look for the python executable path. All of tho following paths are defined automatically by Python msi installer. We are using Python 3.6.2. - - - - - -`%LOCALAPPDATA%\Programs\Python\Python36` - - - - -`/opt/Python/3.6/bin` - - - - -`~/Library/Python/3.6/bin` - - - - - -### Installing PySide2 into python 3.6 for correct gui work - -OpenPype is using own window widget inside Resolve, for that reason PySide2 has to be installed into the python 3.6 (as explained above). - - - - - -paste to any terminal of your choice - -```bash -%LOCALAPPDATA%\Programs\Python\Python36\python.exe -m pip install PySide2 -``` - - - - -paste to any terminal of your choice - -```bash -/opt/Python/3.6/bin/python -m pip install PySide2 -``` - - - - -paste to any terminal of your choice - -```bash -~/Library/Python/3.6/bin/python -m pip install PySide2 -``` - - - - -
    - -### Set Resolve's Fusion settings for Python 3.6 interpereter - -
    - - -As it is shown in bellow picture you have to go to Fusion Tab and then in Fusion menu find Fusion Settings. Go to Fusion/Script and find Default Python Version and swith to Python 3.6 - -
    - -
    - -![Create menu](assets/resolve_fusion_tab.png) -![Create menu](assets/resolve_fusion_menu.png) -![Create menu](assets/resolve_fusion_script_settings.png) - -
    -
    \ No newline at end of file diff --git a/website/sidebars.js b/website/sidebars.js index d1125896a0..6eec02b2b5 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -83,7 +83,8 @@ module.exports = { type: "category", label: "Integrations", items: [ - "admin_hosts_blender" + "admin_hosts_blender", + "admin_hosts_resolve" ], }, { From 44b5acd0583e6114174c36fc0506c25c95444cdc Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Mon, 10 May 2021 13:31:35 +0200 Subject: [PATCH 63/94] use instance start and end instead of timeline --- openpype/hosts/maya/plugins/publish/extract_thumbnail.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py index cf40104645..016efa6499 100644 --- a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py +++ b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py @@ -26,10 +26,6 @@ class ExtractThumbnail(openpype.api.Extractor): def process(self, instance): self.log.info("Extracting capture..") - start = cmds.currentTime(query=True) - end = cmds.currentTime(query=True) - self.log.info("start: {}, end: {}".format(start, end)) - camera = instance.data['review_camera'] capture_preset = "" @@ -50,8 +46,8 @@ class ExtractThumbnail(openpype.api.Extractor): # preset['compression'] = "qt" preset['quality'] = 50 preset['compression'] = "jpg" - preset['start_frame'] = start - preset['end_frame'] = end + preset['start_frame'] = instance.data["frameStart"] + preset['end_frame'] = instance.data["frameStart"] preset['camera_options'] = { "displayGateMask": False, "displayResolution": False, From 27d779159db9afbd1f107359d4ffecc54fbb715e Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Mon, 10 May 2021 23:00:18 +0200 Subject: [PATCH 64/94] fix pyenv path --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5dfd3fc61f..ec053ce90a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,7 +43,8 @@ ENV PYTHON_CONFIGURE_OPTS --enable-shared RUN echo 'export PATH="$HOME/.pyenv/bin:$PATH"'>> $HOME/.bashrc \ && echo 'eval "$(pyenv init -)"' >> $HOME/.bashrc \ - && echo 'eval "$(pyenv virtualenv-init -)"' >> $HOME/.bashrc + && echo 'eval "$(pyenv virtualenv-init -)"' >> $HOME/.bashrc \ + && echo -e "eval \"$(pyenv init --path)\"\n$(cat $HOME/.profile)" > $HOME/.profile RUN cat $HOME/.bashrc && source $HOME/.bashrc && pyenv install ${OPENPYPE_PYTHON_VERSION} COPY . /opt/openpype/ From b401e0bb5454d8069c03b85d36012a9381c8751f Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 11 May 2021 10:20:10 +0200 Subject: [PATCH 65/94] removing python3 command --- Dockerfile | 12 +++++++++--- tools/build.sh | 14 +++++++------- tools/create_env.sh | 4 ++-- tools/docker_build.sh | 17 ++++++++++++++++- 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index ec053ce90a..92900c67cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,8 +9,13 @@ LABEL org.opencontainers.image.source="https://github.com/pypeclub/pype" USER root -RUN yum -y update \ - && yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \ +# update base +RUN yum -y install deltarpm \ + && yum -y update \ + && yum clean all + +# add tools we need +RUN yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \ && yum -y install centos-release-scl \ && yum -y install \ bash \ @@ -42,10 +47,11 @@ RUN curl https://pyenv.run | bash ENV PYTHON_CONFIGURE_OPTS --enable-shared RUN echo 'export PATH="$HOME/.pyenv/bin:$PATH"'>> $HOME/.bashrc \ + && echo "alias pyhon3='python'" >> $HOME/.bashrc \ && echo 'eval "$(pyenv init -)"' >> $HOME/.bashrc \ && echo 'eval "$(pyenv virtualenv-init -)"' >> $HOME/.bashrc \ && echo -e "eval \"$(pyenv init --path)\"\n$(cat $HOME/.profile)" > $HOME/.profile -RUN cat $HOME/.bashrc && source $HOME/.bashrc && pyenv install ${OPENPYPE_PYTHON_VERSION} +RUN source $HOME/.bashrc && pyenv install ${OPENPYPE_PYTHON_VERSION} COPY . /opt/openpype/ # USER root diff --git a/tools/build.sh b/tools/build.sh index 0510447e07..953d51bd81 100755 --- a/tools/build.sh +++ b/tools/build.sh @@ -73,7 +73,7 @@ detect_python () { local version_command version_command="import sys;print('{0}.{1}'.format(sys.version_info[0], sys.version_info[1]))" local python_version - python_version="$(python3 <<< ${version_command})" + python_version="$(python <<< ${version_command})" oIFS="$IFS" IFS=. set -- $python_version @@ -85,7 +85,7 @@ detect_python () { echo -e "${BIWhite}[${RST} ${BIGreen}$1.$2${RST} ${BIWhite}]${RST}" fi else - command -v python3 >/dev/null 2>&1 || { echo -e "${BIRed}$1.$2$ - ${BIRed}FAILED${RST} ${BIYellow}Version is old and unsupported${RST}"; return 1; } + command -v python >/dev/null 2>&1 || { echo -e "${BIRed}$1.$2$ - ${BIRed}FAILED${RST} ${BIYellow}Version is old and unsupported${RST}"; return 1; } fi } @@ -131,7 +131,7 @@ realpath () { install_poetry () { echo -e "${BIGreen}>>>${RST} Installing Poetry ..." command -v curl >/dev/null 2>&1 || { echo -e "${BIRed}!!!${RST}${BIYellow} Missing ${RST}${BIBlue}curl${BIYellow} command.${RST}"; return 1; } - curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 - + curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - } # Main @@ -146,7 +146,7 @@ main () { pushd "$openpype_root" > /dev/null || return > /dev/null version_command="import os;exec(open(os.path.join('$openpype_root', 'openpype', 'version.py')).read());print(__version__);" - openpype_version="$(python3 <<< ${version_command})" + openpype_version="$(python <<< ${version_command})" _inside_openpype_tool="1" @@ -177,11 +177,11 @@ main () { echo -e "${BIGreen}>>>${RST} Building ..." if [[ "$OSTYPE" == "linux-gnu"* ]]; then - poetry run python3 "$openpype_root/setup.py" build > "$openpype_root/build/build.log" || { echo -e "${BIRed}!!!${RST} Build failed, see the build log."; return; } + poetry run python "$openpype_root/setup.py" build > "$openpype_root/build/build.log" || { echo -e "${BIRed}!!!${RST} Build failed, see the build log."; return; } elif [[ "$OSTYPE" == "darwin"* ]]; then - poetry run python3 "$openpype_root/setup.py" bdist_mac > "$openpype_root/build/build.log" || { echo -e "${BIRed}!!!${RST} Build failed, see the build log."; return; } + poetry run python "$openpype_root/setup.py" bdist_mac > "$openpype_root/build/build.log" || { echo -e "${BIRed}!!!${RST} Build failed, see the build log."; return; } fi - poetry run python3 "$openpype_root/tools/build_dependencies.py" + poetry run python "$openpype_root/tools/build_dependencies.py" if [[ "$OSTYPE" == "darwin"* ]]; then # fix code signing issue diff --git a/tools/create_env.sh b/tools/create_env.sh index a29139d884..81f0b3b0b0 100755 --- a/tools/create_env.sh +++ b/tools/create_env.sh @@ -89,7 +89,7 @@ done detect_python () { echo -e "${BIGreen}>>>${RST} Using python \c" local version_command="import sys;print('{0}.{1}'.format(sys.version_info[0], sys.version_info[1]))" - local python_version="$(python3 <<< ${version_command})" + local python_version="$(python <<< ${version_command})" oIFS="$IFS" IFS=. set -- $python_version @@ -101,7 +101,7 @@ detect_python () { echo -e "${BIWhite}[${RST} ${BIGreen}$1.$2${RST} ${BIWhite}]${RST}" fi else - command -v python3 >/dev/null 2>&1 || { echo -e "${BIRed}$1.$2$ - ${BIRed}FAILED${RST} ${BIYellow}Version is old and unsupported${RST}"; return 1; } + command -v python >/dev/null 2>&1 || { echo -e "${BIRed}$1.$2$ - ${BIRed}FAILED${RST} ${BIYellow}Version is old and unsupported${RST}"; return 1; } fi } diff --git a/tools/docker_build.sh b/tools/docker_build.sh index e3ce9a04c0..e7caa57bcc 100755 --- a/tools/docker_build.sh +++ b/tools/docker_build.sh @@ -5,6 +5,7 @@ RST='\033[0m' # Text Reset BIGreen='\033[1;92m' # Green BIYellow='\033[1;93m' # Yellow +BIRed='\033[1;91m' # Red ############################################################################## # Return absolute path @@ -32,14 +33,28 @@ main () { echo -e "${BIGreen}>>>${RST} Running docker build ..." docker build -t pypeclub/openpype:$openpype_version . + if [ $? -ne 0 ] ; then + echo -e "${BIRed}!!!${RST} Docker build failed." + return 1 + fi echo -e "${BIGreen}>>>${RST} Copying build from container ..." echo -e "${BIYellow}---${RST} Creating container from pypeclub/openpype:$openpype_version ..." id="$(docker create -ti pypeclub/openpype:$openpype_version bash)" + if [ $? -ne 0 ] ; then + echo -e "${BIRed}!!!${RST} Cannot create just built container." + return 1 + fi echo -e "${BIYellow}---${RST} Copying ..." docker cp "$id:/opt/openpype/build/exe.linux-x86_64-3.7" "$openpype_root/build" + if [ $? -ne 0 ] ; then + echo -e "${BIRed}!!!${RST} Copying failed." + return 1 + fi echo -e "${BIGreen}>>>${RST} All done, you can delete container:" echo -e "${BIYellow}$id${RST}" } -main +return_code=0 +main || return_code=$? +exit $return_code From 2bc20c00a2a8b83508934943d96530e120502aec Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 11 May 2021 10:37:36 +0200 Subject: [PATCH 66/94] add fetch dependencies and its cleanup --- .dockerignore | 1 + Dockerfile | 9 +++++++++ tools/create_env.sh | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index c48c47562e..f8cacebbbc 100644 --- a/.dockerignore +++ b/.dockerignore @@ -141,3 +141,4 @@ cython_debug/ vendor/bin docs/ +website/ diff --git a/Dockerfile b/Dockerfile index 92900c67cf..8d69a97b0e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -67,7 +67,16 @@ RUN cd /opt/openpype \ && pyenv local ${OPENPYPE_PYTHON_VERSION} RUN source $HOME/.bashrc \ + cd /opt/openpype \ && ./tools/create_env.sh RUN source $HOME/.bashrc \ + cd /opt/openpype \ + && ./tools/fetch_thirdparty_libs.sh + +RUN source $HOME/.bashrc \ + cd /opt/openpype \ && bash ./tools/build.sh + +RUN cd /opt/openpype \ + rm -rf ./vendor/bin diff --git a/tools/create_env.sh b/tools/create_env.sh index 81f0b3b0b0..b3fbaf42ed 100755 --- a/tools/create_env.sh +++ b/tools/create_env.sh @@ -108,7 +108,7 @@ detect_python () { install_poetry () { echo -e "${BIGreen}>>>${RST} Installing Poetry ..." command -v curl >/dev/null 2>&1 || { echo -e "${BIRed}!!!${RST}${BIYellow} Missing ${RST}${BIBlue}curl${BIYellow} command.${RST}"; return 1; } - curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 - + curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - export PATH="$PATH:$HOME/.poetry/bin" } From a9d3acb99d5f0547ff4a8e3391577ce1473b8c92 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 11 May 2021 10:41:07 +0200 Subject: [PATCH 67/94] pyenv fixes --- Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index 8d69a97b0e..b4241fbb83 100644 --- a/Dockerfile +++ b/Dockerfile @@ -68,14 +68,17 @@ RUN cd /opt/openpype \ RUN source $HOME/.bashrc \ cd /opt/openpype \ + && pyenv local ${OPENPYPE_PYTHON_VERSION} \ && ./tools/create_env.sh RUN source $HOME/.bashrc \ cd /opt/openpype \ + && pyenv local ${OPENPYPE_PYTHON_VERSION} \ && ./tools/fetch_thirdparty_libs.sh RUN source $HOME/.bashrc \ cd /opt/openpype \ + && pyenv local ${OPENPYPE_PYTHON_VERSION} \ && bash ./tools/build.sh RUN cd /opt/openpype \ From 2dccb8e7702c9fba763f1312c00fd20b36adaa3f Mon Sep 17 00:00:00 2001 From: Ondrej Date: Tue, 11 May 2021 14:11:32 +0200 Subject: [PATCH 68/94] corrected 3rd party bins --- Dockerfile | 9 +-------- pyproject.toml | 6 +++--- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index b4241fbb83..2309585a1b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,10 +47,9 @@ RUN curl https://pyenv.run | bash ENV PYTHON_CONFIGURE_OPTS --enable-shared RUN echo 'export PATH="$HOME/.pyenv/bin:$PATH"'>> $HOME/.bashrc \ - && echo "alias pyhon3='python'" >> $HOME/.bashrc \ && echo 'eval "$(pyenv init -)"' >> $HOME/.bashrc \ && echo 'eval "$(pyenv virtualenv-init -)"' >> $HOME/.bashrc \ - && echo -e "eval \"$(pyenv init --path)\"\n$(cat $HOME/.profile)" > $HOME/.profile + && echo 'eval "$(pyenv init --path)"' >> $HOME/.bashrc RUN source $HOME/.bashrc && pyenv install ${OPENPYPE_PYTHON_VERSION} COPY . /opt/openpype/ @@ -67,18 +66,12 @@ RUN cd /opt/openpype \ && pyenv local ${OPENPYPE_PYTHON_VERSION} RUN source $HOME/.bashrc \ - cd /opt/openpype \ - && pyenv local ${OPENPYPE_PYTHON_VERSION} \ && ./tools/create_env.sh RUN source $HOME/.bashrc \ - cd /opt/openpype \ - && pyenv local ${OPENPYPE_PYTHON_VERSION} \ && ./tools/fetch_thirdparty_libs.sh RUN source $HOME/.bashrc \ - cd /opt/openpype \ - && pyenv local ${OPENPYPE_PYTHON_VERSION} \ && bash ./tools/build.sh RUN cd /opt/openpype \ diff --git a/pyproject.toml b/pyproject.toml index c874db34f8..1f78fe1fc3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -97,9 +97,9 @@ url = "https://distribute.openpype.io/thirdparty/oiio_tools-2.2.0-windows.zip" hash = "fd2e00278e01e85dcee7b4a6969d1a16f13016ec16700fb0366dbb1b1f3c37ad" [openpype.thirdparty.oiio.linux] -url = "https://distribute.openpype.io/thirdparty/oiio-2.2.0-linux.tgz" -hash = "sha256:..." +url = "https://distribute.openpype.io/thirdparty/oiio_tools-2.2.12-linux.tgz" +hash = "53dea3e5b1acbe899268de39dd43685acd702f0f187ff37f65aa6349d22676a3" [openpype.thirdparty.oiio.darwin] url = "https://distribute.openpype.io/thirdparty/oiio-2.2.0-darwin.tgz" -hash = "sha256:..." \ No newline at end of file +hash = "sha256:..." From c778010fd4b905323b246e3025dac39b3667c3d8 Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Tue, 11 May 2021 14:55:07 +0200 Subject: [PATCH 69/94] poetry fixes --- .dockerignore | 4 +- Dockerfile | 1 + tools/create_env.sh | 3 +- tools/docker_build.sh | 2 +- tools/fetch_thirdparty_libs.sh | 70 ++++++++-------------------------- 5 files changed, 22 insertions(+), 58 deletions(-) diff --git a/.dockerignore b/.dockerignore index f8cacebbbc..07c1c151ce 100644 --- a/.dockerignore +++ b/.dockerignore @@ -139,6 +139,8 @@ dmypy.json # Cython debug symbols cython_debug/ -vendor/bin +.poetry/ +.github/ +vendor/bin/ docs/ website/ diff --git a/Dockerfile b/Dockerfile index 2309585a1b..6a4cd3599d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -53,6 +53,7 @@ RUN echo 'export PATH="$HOME/.pyenv/bin:$PATH"'>> $HOME/.bashrc \ RUN source $HOME/.bashrc && pyenv install ${OPENPYPE_PYTHON_VERSION} COPY . /opt/openpype/ +RUN rm -rf /openpype/.poetry || echo "No Poetry installed yet." # USER root # RUN chown -R pype /opt/openpype RUN chmod +x /opt/openpype/tools/create_env.sh && chmod +x /opt/openpype/tools/build.sh diff --git a/tools/create_env.sh b/tools/create_env.sh index b3fbaf42ed..d6a6828718 100755 --- a/tools/create_env.sh +++ b/tools/create_env.sh @@ -107,9 +107,10 @@ detect_python () { install_poetry () { echo -e "${BIGreen}>>>${RST} Installing Poetry ..." + export POETRY_HOME="$openpype_root/.poetry" command -v curl >/dev/null 2>&1 || { echo -e "${BIRed}!!!${RST}${BIYellow} Missing ${RST}${BIBlue}curl${BIYellow} command.${RST}"; return 1; } curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - - export PATH="$PATH:$HOME/.poetry/bin" + export PATH="$PATH:$POETRY_HOME/bin" } ############################################################################## diff --git a/tools/docker_build.sh b/tools/docker_build.sh index e7caa57bcc..866a542211 100755 --- a/tools/docker_build.sh +++ b/tools/docker_build.sh @@ -32,7 +32,7 @@ main () { openpype_version="$(python3 <<< ${version_command})" echo -e "${BIGreen}>>>${RST} Running docker build ..." - docker build -t pypeclub/openpype:$openpype_version . + docker build --pull --no-cache -t pypeclub/openpype:$openpype_version . if [ $? -ne 0 ] ; then echo -e "${BIRed}!!!${RST} Docker build failed." return 1 diff --git a/tools/fetch_thirdparty_libs.sh b/tools/fetch_thirdparty_libs.sh index 3875541d57..31f109ba68 100755 --- a/tools/fetch_thirdparty_libs.sh +++ b/tools/fetch_thirdparty_libs.sh @@ -5,13 +5,20 @@ art () { cat <<-EOF - ____________ - /\\ ___ \\ - \\ \\ \\/_\\ \\ - \\ \\ _____/ ______ ___ ___ ___ - \\ \\ \\___/ /\\ \\ \\ \\\\ \\\\ \\ - \\ \\____\\ \\ \\_____\\ \\__\\\\__\\\\__\\ - \\/____/ \\/_____/ . PYPE Club . + + . . .. . .. + _oOOP3OPP3Op_. . + .PPpo~· ·· ~2p. ·· ···· · · + ·Ppo · .pPO3Op.· · O:· · · · + .3Pp · oP3'· 'P33· · 4 ·· · · · ·· · · · + ·~OP 3PO· .Op3 : · ·· _____ _____ _____ + ·P3O · oP3oP3O3P' · · · · / /·/ /·/ / + O3:· O3p~ · ·:· · ·/____/·/____/ /____/ + 'P · 3p3· oP3~· ·.P:· · · ·· · · ·· · · · + · ': · Po' ·Opo'· .3O· . o[ by Pype Club ]]]==- - - · · + · '_ .. · . _OP3·· · ·https://openpype.io·· · + ~P3·OPPPO3OP~ · ·· · + · ' '· · ·· · · · ·· · EOF } @@ -51,53 +58,6 @@ BICyan='\033[1;96m' # Cyan BIWhite='\033[1;97m' # White -############################################################################## -# Detect required version of python -# Globals: -# colors -# PYTHON -# Arguments: -# None -# Returns: -# None -############################################################################### -detect_python () { - echo -e "${BIGreen}>>>${RST} Using python \c" - local version_command="import sys;print('{0}.{1}'.format(sys.version_info[0], sys.version_info[1]))" - local python_version="$(python3 <<< ${version_command})" - oIFS="$IFS" - IFS=. - set -- $python_version - IFS="$oIFS" - if [ "$1" -ge "3" ] && [ "$2" -ge "6" ] ; then - if [ "$2" -gt "7" ] ; then - echo -e "${BIWhite}[${RST} ${BIRed}$1.$2 ${BIWhite}]${RST} - ${BIRed}FAILED${RST} ${BIYellow}Version is new and unsupported, use${RST} ${BIPurple}3.7.x${RST}"; return 1; - else - echo -e "${BIWhite}[${RST} ${BIGreen}$1.$2${RST} ${BIWhite}]${RST}" - fi - PYTHON="python3" - else - command -v python3 >/dev/null 2>&1 || { echo -e "${BIRed}$1.$2$ - ${BIRed}FAILED${RST} ${BIYellow}Version is old and unsupported${RST}"; return 1; } - fi -} - -############################################################################## -# Clean pyc files in specified directory -# Globals: -# None -# Arguments: -# Optional path to clean -# Returns: -# None -############################################################################### -clean_pyc () { - local path - path=$pype_root - echo -e "${BIGreen}>>>${RST} Cleaning pyc at [ ${BIWhite}$path${RST} ] ... \c" - find "$path" -regex '^.*\(__pycache__\|\.py[co]\)$' -delete - echo -e "${BIGreen}DONE${RST}" -} - ############################################################################## # Return absolute path # Globals: @@ -140,7 +100,7 @@ main () { pushd "$openpype_root" > /dev/null || return > /dev/null echo -e "${BIGreen}>>>${RST} Running Pype tool ..." - poetry run python3 "$openpype_root/tools/fetch_thirdparty_libs.py" + poetry run python "$openpype_root/tools/fetch_thirdparty_libs.py" } main \ No newline at end of file From 84e47fae0ea0983ebfb6f0ca414e480f53d2b552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Samohel?= <33513211+antirotor@users.noreply.github.com> Date: Tue, 11 May 2021 15:35:43 +0200 Subject: [PATCH 70/94] updated linux oiio tgz hash --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b5edf8a3d9..3c62ee739c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -98,7 +98,7 @@ hash = "fd2e00278e01e85dcee7b4a6969d1a16f13016ec16700fb0366dbb1b1f3c37ad" [openpype.thirdparty.oiio.linux] url = "https://distribute.openpype.io/thirdparty/oiio_tools-2.2.12-linux.tgz" -hash = "53dea3e5b1acbe899268de39dd43685acd702f0f187ff37f65aa6349d22676a3" +hash = "de63a8bf7f6c45ff59ecafeba13123f710c2cbc1783ec9e0b938e980d4f5c37f" [openpype.thirdparty.oiio.darwin] url = "https://distribute.openpype.io/thirdparty/oiio-2.2.0-darwin.tgz" From f4cb1255c9569db0fc2a2f290f39d9c14ffdb7c3 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Tue, 11 May 2021 17:45:19 +0200 Subject: [PATCH 71/94] ignore case sensitivity on user input text replacement --- openpype/tools/standalonepublish/widgets/widget_family.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openpype/tools/standalonepublish/widgets/widget_family.py b/openpype/tools/standalonepublish/widgets/widget_family.py index 50335e3109..86663c8ee0 100644 --- a/openpype/tools/standalonepublish/widgets/widget_family.py +++ b/openpype/tools/standalonepublish/widgets/widget_family.py @@ -255,9 +255,9 @@ class FamilyWidget(QtWidgets.QWidget): defaults = list(plugin.defaults) # Replace - compare_regex = re.compile( - subset_name.replace(user_input_text, "(.+)") - ) + compare_regex = re.compile(re.sub( + user_input_text, "(.+)", subset_name, flags=re.IGNORECASE + )) subset_hints = set() if user_input_text: for _name in existing_subset_names: From f709f51b65deeb69a21b5b0058e848a571afb9e2 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:05:35 +0200 Subject: [PATCH 72/94] added `store_as_list` into modifaible dict entity --- openpype/settings/entities/dict_mutable_keys_entity.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index ef0124c0f0..b0a6de261d 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -194,6 +194,7 @@ class DictMutableKeysEntity(EndpointEntity): self.children_by_key = {} self.children_label_by_id = {} + self.store_as_list = self.schema_data.get("store_as_list") or False self.value_is_env_group = ( self.schema_data.get("value_is_env_group") or False ) From 47a907337c636d33c782cb9308db138ac69a8935 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:06:17 +0200 Subject: [PATCH 73/94] don't validate key regex if output is list of lists --- openpype/settings/entities/dict_mutable_keys_entity.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index b0a6de261d..63b9f54b2b 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -1,6 +1,6 @@ import re import copy - +import collections from .lib import ( NOT_SET, OverrideState @@ -98,7 +98,7 @@ class DictMutableKeysEntity(EndpointEntity): # TODO Check for value type if is Settings entity? child_obj = self.children_by_key.get(key) if not child_obj: - if not KEY_REGEX.match(key): + if not self.store_as_list and not KEY_REGEX.match(key): raise InvalidKeySymbols(self.path, key) child_obj = self.add_key(key) @@ -112,7 +112,7 @@ class DictMutableKeysEntity(EndpointEntity): if new_key == old_key: return - if not KEY_REGEX.match(new_key): + if not self.store_as_list and not KEY_REGEX.match(new_key): raise InvalidKeySymbols(self.path, new_key) self.children_by_key[new_key] = self.children_by_key.pop(old_key) @@ -129,7 +129,7 @@ class DictMutableKeysEntity(EndpointEntity): if key in self.children_by_key: self.pop(key) - if not KEY_REGEX.match(key): + if not self.store_as_list and not KEY_REGEX.match(key): raise InvalidKeySymbols(self.path, key) if self.value_is_env_group: @@ -370,7 +370,7 @@ class DictMutableKeysEntity(EndpointEntity): children_label_by_id = {} metadata_labels = metadata.get(M_DYNAMIC_KEY_LABEL) or {} for _key, _value in new_value.items(): - if not KEY_REGEX.match(_key): + if not self.store_as_list and not KEY_REGEX.match(_key): # Replace invalid characters with underscore # - this is safety to not break already existing settings _key = re.sub( From e3d4118ba45130910a19a071fe0a82dc12f67c11 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:06:44 +0200 Subject: [PATCH 74/94] added conversion for list of lists --- openpype/settings/entities/dict_mutable_keys_entity.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index 63b9f54b2b..5ee0715491 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -94,6 +94,13 @@ class DictMutableKeysEntity(EndpointEntity): for key in prev_keys: self.pop(key) + def _convert_to_valid_type(self, value): + try: + return collections.OrderedDict(value) + except Exception: + pass + return super(DictMutableKeysEntity, self)._convert_to_valid_type(value) + def set_key_value(self, key, value): # TODO Check for value type if is Settings entity? child_obj = self.children_by_key.get(key) From 17d742a143fff65f48d38603382d2efe89704539 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:23:15 +0200 Subject: [PATCH 75/94] changed output value to list if output should be list --- .../settings/entities/dict_mutable_keys_entity.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index 5ee0715491..e3b2848870 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -410,6 +410,12 @@ class DictMutableKeysEntity(EndpointEntity): @property def value(self): + if self.store_as_list: + output = [] + for key, child_entity in self.children_by_key.items(): + output.append(key, child_entity.value) + return output + output = {} for key, child_entity in self.children_by_key.items(): output[key] = child_entity.value @@ -489,6 +495,13 @@ class DictMutableKeysEntity(EndpointEntity): return False def _settings_value(self): + if self.store_as_list: + output = [] + for key, child_entity in self.children_by_key.items(): + child_value = child_entity.settings_value() + output.append([key, child_value]) + return output + output = {} for key, child_entity in self.children_by_key.items(): child_value = child_entity.settings_value() From c99b22a6693db7c96816c0fc0218368a9a44f2fd Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:23:38 +0200 Subject: [PATCH 76/94] changed conversion --- openpype/settings/entities/dict_mutable_keys_entity.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index e3b2848870..01280a5e86 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -1,6 +1,5 @@ import re import copy -import collections from .lib import ( NOT_SET, OverrideState @@ -96,7 +95,7 @@ class DictMutableKeysEntity(EndpointEntity): def _convert_to_valid_type(self, value): try: - return collections.OrderedDict(value) + return dict(value) except Exception: pass return super(DictMutableKeysEntity, self)._convert_to_valid_type(value) From 81354e58dc39fa045ff52886617af5d81dbb4b6c Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:24:16 +0200 Subject: [PATCH 77/94] modifiable item widgets know if data will be stored as list --- .../tools/settings/settings/dict_mutable_widget.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/openpype/tools/settings/settings/dict_mutable_widget.py b/openpype/tools/settings/settings/dict_mutable_widget.py index d29b72f2fc..2976863ad5 100644 --- a/openpype/tools/settings/settings/dict_mutable_widget.py +++ b/openpype/tools/settings/settings/dict_mutable_widget.py @@ -32,14 +32,15 @@ def create_remove_btn(parent): class ModifiableDictEmptyItem(QtWidgets.QWidget): - def __init__(self, entity_widget, parent): + def __init__(self, entity_widget, store_as_list, parent): super(ModifiableDictEmptyItem, self).__init__(parent) self.entity_widget = entity_widget self.collapsible_key = entity_widget.entity.collapsible_key self.ignore_input_changes = entity_widget.ignore_input_changes + self.store_as_list = store_as_list self.is_duplicated = False - self.key_is_valid = False + self.key_is_valid = store_as_list if self.collapsible_key: self.create_collapsible_ui() @@ -161,9 +162,11 @@ class ModifiableDictEmptyItem(QtWidgets.QWidget): class ModifiableDictItem(QtWidgets.QWidget): - def __init__(self, collapsible_key, entity, entity_widget): + def __init__(self, collapsible_key, store_as_list, entity, entity_widget): super(ModifiableDictItem, self).__init__(entity_widget.content_widget) + self.store_as_list = store_as_list + self.collapsible_key = collapsible_key self.entity = entity self.entity_widget = entity_widget @@ -607,7 +610,7 @@ class DictMutableKeysWidget(BaseWidget): self.add_required_keys() self.empty_row = ModifiableDictEmptyItem( - self, self.content_widget + self, self.entity.store_as_list, self.content_widget ) self.content_layout.addWidget(self.empty_row) @@ -734,7 +737,8 @@ class DictMutableKeysWidget(BaseWidget): def add_widget_for_child(self, child_entity): input_field = ModifiableDictItem( - self.entity.collapsible_key, child_entity, self + self.entity.collapsible_key, self.entity.store_as_list, + child_entity, self ) self.input_fields.append(input_field) From 9a3a8f0ac3b27126207fe762ef1f0461358f8c42 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:24:38 +0200 Subject: [PATCH 78/94] skipped key validation if will be stored as list --- openpype/tools/settings/settings/dict_mutable_widget.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openpype/tools/settings/settings/dict_mutable_widget.py b/openpype/tools/settings/settings/dict_mutable_widget.py index 2976863ad5..df6525e86a 100644 --- a/openpype/tools/settings/settings/dict_mutable_widget.py +++ b/openpype/tools/settings/settings/dict_mutable_widget.py @@ -102,7 +102,8 @@ class ModifiableDictEmptyItem(QtWidgets.QWidget): def _on_key_change(self): key = self.key_input.text() - self.key_is_valid = KEY_REGEX.match(key) + if not self.store_as_list: + self.key_is_valid = KEY_REGEX.match(key) if self.ignore_input_changes: return @@ -174,7 +175,7 @@ class ModifiableDictItem(QtWidgets.QWidget): self.ignore_input_changes = entity_widget.ignore_input_changes self.is_key_duplicated = False - self.key_is_valid = False + self.key_is_valid = store_as_list self.is_required = False self.origin_key = None @@ -404,7 +405,8 @@ class ModifiableDictItem(QtWidgets.QWidget): def _on_key_change(self): key = self.key_value() - self.key_is_valid = KEY_REGEX.match(key) + if not self.store_as_list: + self.key_is_valid = KEY_REGEX.match(key) if self.ignore_input_changes: return From a34167c6cb2d9c386f0ae4e2b9ab6b6c6be55f80 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:32:12 +0200 Subject: [PATCH 79/94] added few validations --- openpype/settings/entities/dict_mutable_keys_entity.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index 01280a5e86..535cdbea36 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -244,6 +244,10 @@ class DictMutableKeysEntity(EndpointEntity): if used_temp_label: self.label = None + if self.value_is_env_group and self.store_as_list: + reason = "Item can't store environments metadata to list output." + raise EntitySchemaError(self, reason) + if not self.schema_data.get("object_type"): reason = ( "Modifiable dictionary must have specified `object_type`." From 2ae5d66f51451098e1dffc4230f10debe66f57c5 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 11:33:14 +0200 Subject: [PATCH 80/94] removed unused "dynamic_label" key from schemas --- .../schemas/system_schema/host_settings/schema_blender.json | 1 - .../entities/schemas/system_schema/host_settings/schema_djv.json | 1 - .../schemas/system_schema/host_settings/schema_houdini.json | 1 - .../schemas/system_schema/host_settings/schema_maya.json | 1 - .../schemas/system_schema/host_settings/schema_shell.json | 1 - .../schemas/system_schema/host_settings/schema_tvpaint.json | 1 - .../schemas/system_schema/host_settings/schema_unreal.json | 1 - .../schemas/system_schema/host_settings/template_nuke.json | 1 - 8 files changed, 8 deletions(-) diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_blender.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_blender.json index e72b1fac5b..0a6c8ca035 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_blender.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_blender.json @@ -23,7 +23,6 @@ "type": "dict-modifiable", "key": "variants", "collapsible_key": true, - "dynamic_label": false, "use_label_wrap": false, "object_type": { "type": "dict", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_djv.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_djv.json index 229ca42b04..d09f038892 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_djv.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_djv.json @@ -23,7 +23,6 @@ "type": "dict-modifiable", "key": "variants", "collapsible_key": true, - "dynamic_label": false, "use_label_wrap": false, "object_type": { "type": "dict", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_houdini.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_houdini.json index ee88d90e8e..5390b9b78f 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_houdini.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_houdini.json @@ -23,7 +23,6 @@ "type": "dict-modifiable", "key": "variants", "collapsible_key": true, - "dynamic_label": false, "use_label_wrap": false, "object_type": { "type": "dict", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_maya.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_maya.json index 9a81eda88d..97854a3945 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_maya.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_maya.json @@ -23,7 +23,6 @@ "type": "dict-modifiable", "key": "variants", "collapsible_key": true, - "dynamic_label": false, "use_label_wrap": false, "object_type": { "type": "dict", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_shell.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_shell.json index fcbb415b12..986f83a9fc 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_shell.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_shell.json @@ -19,7 +19,6 @@ "type": "dict-modifiable", "key": "variants", "collapsible_key": true, - "dynamic_label": false, "use_label_wrap": false, "object_type": { "type": "dict", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_tvpaint.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_tvpaint.json index 3c13336eb1..c39e6f7a30 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_tvpaint.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_tvpaint.json @@ -23,7 +23,6 @@ "type": "dict-modifiable", "key": "variants", "collapsible_key": true, - "dynamic_label": false, "use_label_wrap": false, "object_type": { "type": "dict", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/schema_unreal.json b/openpype/settings/entities/schemas/system_schema/host_settings/schema_unreal.json index 1752899533..df5ec0e6fa 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/schema_unreal.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/schema_unreal.json @@ -23,7 +23,6 @@ "type": "dict-modifiable", "key": "variants", "collapsible_key": true, - "dynamic_label": false, "use_label_wrap": false, "object_type": { "type": "dict", diff --git a/openpype/settings/entities/schemas/system_schema/host_settings/template_nuke.json b/openpype/settings/entities/schemas/system_schema/host_settings/template_nuke.json index 0055d0b191..22398ba227 100644 --- a/openpype/settings/entities/schemas/system_schema/host_settings/template_nuke.json +++ b/openpype/settings/entities/schemas/system_schema/host_settings/template_nuke.json @@ -24,7 +24,6 @@ "type": "dict-modifiable", "key": "variants", "collapsible_key": true, - "dynamic_label": false, "use_label_wrap": false, "object_type": { "type": "dict", From e76e2fd60c528f50aa7fe46d82bef7e59d3f1db8 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 12:57:08 +0200 Subject: [PATCH 81/94] modifiable dict method _add_key may be forced to ignore invalid key --- openpype/settings/entities/dict_mutable_keys_entity.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index 535cdbea36..cc695ef775 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -131,11 +131,15 @@ class DictMutableKeysEntity(EndpointEntity): self._has_project_override = True self.on_change() - def _add_key(self, key): + def _add_key(self, key, _ingore_key_validation=False): if key in self.children_by_key: self.pop(key) - if not self.store_as_list and not KEY_REGEX.match(key): + if ( + not _ingore_key_validation + and not self.store_as_list + and not KEY_REGEX.match(key) + ): raise InvalidKeySymbols(self.path, key) if self.value_is_env_group: From cf84b12674487e575a0b0a60b40ede2decc74e9e Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 12:57:27 +0200 Subject: [PATCH 82/94] modifiable dict knows if is using values from current state --- .../settings/entities/dict_mutable_keys_entity.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index cc695ef775..4afcb3cbc3 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -347,6 +347,7 @@ class DictMutableKeysEntity(EndpointEntity): using_project_overrides = False using_studio_overrides = False + using_default_values = False if ( state is OverrideState.PROJECT and self.had_project_override @@ -364,12 +365,22 @@ class DictMutableKeysEntity(EndpointEntity): metadata = self._studio_override_metadata else: + using_default_values = True value = self._default_value metadata = self._default_metadata if value is NOT_SET: + using_default_values = False value = self.value_on_not_set + using_values_from_state = False + if state is OverrideState.PROJECT: + using_values_from_state = using_project_overrides + elif state is OverrideState.STUDIO: + using_values_from_state = using_studio_overrides + elif state is OverrideState.DEFAULTS: + using_values_from_state = using_default_values + new_value = copy.deepcopy(value) # Simulate `clear` method without triggering value change From df40b8ad6640e8d11e00eb8c0908420928b3ea10 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 12:57:48 +0200 Subject: [PATCH 83/94] implemented method to convert invalid keys to valid --- .../settings/entities/dict_mutable_keys_entity.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index 4afcb3cbc3..292e657239 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -398,11 +398,7 @@ class DictMutableKeysEntity(EndpointEntity): if not self.store_as_list and not KEY_REGEX.match(_key): # Replace invalid characters with underscore # - this is safety to not break already existing settings - _key = re.sub( - r"[^{}]+".format(KEY_ALLOWED_SYMBOLS), - "_", - _key - ) + new_key = self._convert_to_regex_valid_key(_key) child_entity = self._add_key(_key) child_entity.update_default_value(_value) @@ -420,6 +416,13 @@ class DictMutableKeysEntity(EndpointEntity): self.initial_value = self.settings_value() + def _convert_to_regex_valid_key(self, key): + return re.sub( + r"[^{}]+".format(KEY_ALLOWED_SYMBOLS), + "_", + key + ) + def children_key_by_id(self): return { child_entity.id: key From 03b3753bf414e3e403bcac84dda01be4d279a816 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 12:58:17 +0200 Subject: [PATCH 84/94] remove overrides methods are auto converting previous state keys to right one --- openpype/settings/entities/dict_mutable_keys_entity.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index 292e657239..af8416465d 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -605,7 +605,8 @@ class DictMutableKeysEntity(EndpointEntity): # Create new children for _key, _value in new_value.items(): - child_entity = self._add_key(_key) + new_key = self._convert_to_regex_valid_key(_key) + child_entity = self._add_key(new_key) child_entity.update_default_value(_value) label = metadata_labels.get(_key) if label: @@ -650,7 +651,8 @@ class DictMutableKeysEntity(EndpointEntity): # Create new children for _key, _value in new_value.items(): - child_entity = self._add_key(_key) + new_key = self._convert_to_regex_valid_key(_key) + child_entity = self._add_key(new_key) child_entity.update_default_value(_value) if self._has_studio_override: child_entity.update_studio_value(_value) From 619e7085bee1ea4cc2e57bc97115113cc40548d7 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 12 May 2021 12:58:57 +0200 Subject: [PATCH 85/94] modifiable dict shows autofixed keys as modification if autofix happened on values from same override state --- .../entities/dict_mutable_keys_entity.py | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/openpype/settings/entities/dict_mutable_keys_entity.py b/openpype/settings/entities/dict_mutable_keys_entity.py index af8416465d..4839dbcdc2 100644 --- a/openpype/settings/entities/dict_mutable_keys_entity.py +++ b/openpype/settings/entities/dict_mutable_keys_entity.py @@ -383,6 +383,10 @@ class DictMutableKeysEntity(EndpointEntity): new_value = copy.deepcopy(value) + if using_values_from_state: + initial_value = copy.deepcopy(value) + initial_value.update(metadata) + # Simulate `clear` method without triggering value change for key in tuple(self.children_by_key.keys()): self.children_by_key.pop(key) @@ -395,26 +399,44 @@ class DictMutableKeysEntity(EndpointEntity): children_label_by_id = {} metadata_labels = metadata.get(M_DYNAMIC_KEY_LABEL) or {} for _key, _value in new_value.items(): - if not self.store_as_list and not KEY_REGEX.match(_key): + label = metadata_labels.get(_key) + if self.store_as_list or KEY_REGEX.match(_key): + child_entity = self._add_key(_key) + else: # Replace invalid characters with underscore # - this is safety to not break already existing settings new_key = self._convert_to_regex_valid_key(_key) + if not using_values_from_state: + child_entity = self._add_key(new_key) + else: + child_entity = self._add_key( + _key, _ingore_key_validation=True + ) + self.change_key(_key, new_key) + _key = new_key + + if not label: + label = metadata_labels.get(new_key) - child_entity = self._add_key(_key) child_entity.update_default_value(_value) if using_project_overrides: child_entity.update_project_value(_value) elif using_studio_overrides: child_entity.update_studio_value(_value) - label = metadata_labels.get(_key) if label: children_label_by_id[child_entity.id] = label child_entity.set_override_state(state) self.children_label_by_id = children_label_by_id - self.initial_value = self.settings_value() + _settings_value = self.settings_value() + if using_values_from_state: + if _settings_value is NOT_SET: + initial_value = NOT_SET + else: + initial_value = _settings_value + self.initial_value = initial_value def _convert_to_regex_valid_key(self, key): return re.sub( From caf35d6d70ba743f5ab2f6a52dc07d636982342a Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 12 May 2021 13:01:41 +0200 Subject: [PATCH 86/94] Hiero: fixing audio collection --- openpype/hosts/hiero/otio/utils.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openpype/hosts/hiero/otio/utils.py b/openpype/hosts/hiero/otio/utils.py index f882a5d1f2..4c5d46bd51 100644 --- a/openpype/hosts/hiero/otio/utils.py +++ b/openpype/hosts/hiero/otio/utils.py @@ -68,7 +68,11 @@ def get_rate(item): return None num, den = item.framerate().toRational() - rate = float(num) / float(den) + + try: + rate = float(num) / float(den) + except ZeroDivisionError: + return None if rate.is_integer(): return rate From b97c246310c11d412aa7d3bb46d50a5175808ab2 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 12 May 2021 13:02:44 +0200 Subject: [PATCH 87/94] Hiero: adding audio family to instance --- openpype/hosts/hiero/plugins/publish/precollect_instances.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openpype/hosts/hiero/plugins/publish/precollect_instances.py b/openpype/hosts/hiero/plugins/publish/precollect_instances.py index a1dee711b7..4cb6011a10 100644 --- a/openpype/hosts/hiero/plugins/publish/precollect_instances.py +++ b/openpype/hosts/hiero/plugins/publish/precollect_instances.py @@ -57,6 +57,10 @@ class PrecollectInstances(pyblish.api.ContextPlugin): families = [str(f) for f in tag_data["families"]] families.insert(0, str(family)) + # add audio to families + if tag_data["audio"]: + families.append("audio") + # form label label = asset if asset != clip_name: From 26fc0b49e4155ccca73676f1ce7394734d84a3ad Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 12 May 2021 13:03:13 +0200 Subject: [PATCH 88/94] Global: updating editorial lib with frames to timecode --- openpype/lib/__init__.py | 2 ++ openpype/lib/editorial.py | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/openpype/lib/__init__.py b/openpype/lib/__init__.py index 457ceb1d56..838c5aa7a1 100644 --- a/openpype/lib/__init__.py +++ b/openpype/lib/__init__.py @@ -139,6 +139,7 @@ from .editorial import ( trim_media_range, range_from_frames, frames_to_secons, + frames_to_timecode, make_sequence_collection ) @@ -246,5 +247,6 @@ __all__ = [ "trim_media_range", "range_from_frames", "frames_to_secons", + "frames_to_timecode", "make_sequence_collection" ] diff --git a/openpype/lib/editorial.py b/openpype/lib/editorial.py index 1dbc4d7954..bf9a0cb506 100644 --- a/openpype/lib/editorial.py +++ b/openpype/lib/editorial.py @@ -137,6 +137,11 @@ def frames_to_secons(frames, framerate): return _ot.to_seconds(rt) +def frames_to_timecode(frames, framerate): + rt = _ot.from_frames(frames, framerate) + return _ot.to_timecode(rt) + + def make_sequence_collection(path, otio_range, metadata): """ Make collection from path otio range and otio metadata. From 11679000074325f045f2aa7a5871d02526d72be2 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 12 May 2021 13:03:35 +0200 Subject: [PATCH 89/94] Global: extract otio audio clips --- .../publish/extract_otio_audio_tracks.py | 263 ++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 openpype/plugins/publish/extract_otio_audio_tracks.py diff --git a/openpype/plugins/publish/extract_otio_audio_tracks.py b/openpype/plugins/publish/extract_otio_audio_tracks.py new file mode 100644 index 0000000000..ade53abeef --- /dev/null +++ b/openpype/plugins/publish/extract_otio_audio_tracks.py @@ -0,0 +1,263 @@ +import os +import pyblish +import openpype.api +from openpype.lib import ( + get_ffmpeg_tool_path +) +import tempfile +import opentimelineio as otio + + +class ExtractOtioAudioTracks(pyblish.api.ContextPlugin): + """Extract Audio tracks from OTIO timeline. + + Process will merge all found audio tracks into one long .wav file at frist + stage. Then it will trim it into individual short audio files relative to + asset length and add it to each marked instance data representation. This + is influenced by instance data audio attribute """ + + order = pyblish.api.CollectorOrder - 0.571 + label = "Extract OTIO Audio Tracks" + hosts = ["hiero"] + + # FFmpeg tools paths + ffmpeg_path = get_ffmpeg_tool_path("ffmpeg") + + def process(self, context): + """Convert otio audio track's content to audio representations + + Args: + context (pyblish.Context): context of publisher + """ + + # get sequence + otio_timeline = context.data["otioTimeline"] + + # temp file + audio_temp_fpath = self.create_temp_file("audio") + + # get all audio inputs from otio timeline + audio_inputs = self.get_audio_track_items(otio_timeline) + + # create empty audio with longest duration + empty = self.create_empty(audio_inputs) + + # add empty to list of audio inputs + audio_inputs.insert(0, empty) + + # create cmd + cmd = self.ffmpeg_path + " " + cmd += self.create_cmd(audio_inputs) + cmd += audio_temp_fpath + + # run subprocess + self.log.debug("Executing: {}".format(cmd)) + openpype.api.run_subprocess( + cmd, shell=True, logger=self.log + ) + + # remove empty + os.remove(empty["mediaPath"]) + + # split the long audio file to peces devided by isntances + audio_instances = self.get_audio_instances(context) + + # cut instance framerange and add to representations + self.create_audio_representations(audio_temp_fpath, audio_instances) + + def create_audio_representations(self, audio_file, instances): + for inst in instances: + # create empty representation attr + if "representations" not in inst.data: + inst.data["representations"] = [] + + name = inst.data["name"] + + # frameranges + timeline_in_h = inst.data["clipInH"] + timeline_out_h = inst.data["clipOutH"] + fps = inst.data["fps"] + + # seconds + duration = (timeline_out_h - timeline_in_h) + 1 + start_sec = float(timeline_in_h / fps) + duration_sec = float(duration / fps) + + # temp audio file + audio_fpath = self.create_temp_file(name) + + cmd = " ".join([ + self.ffmpeg_path, + "-ss {}".format(start_sec), + "-t {}".format(duration_sec), + "-i {}".format(audio_file), + audio_fpath + ]) + + # run subprocess + self.log.debug("Executing: {}".format(cmd)) + openpype.api.run_subprocess( + cmd, shell=True, logger=self.log + ) + + # add to representations + inst.data["representations"].append({ + "files": os.path.basename(audio_fpath), + "name": "wav", + "ext": "wav", + "stagingDir": os.path.dirname(audio_fpath), + "frameStart": 0, + "frameEnd": duration + }) + + def get_audio_instances(self, context): + """Return only instances which are having audio in families + + Args: + context (pyblish.context): context of publisher + + Returns: + list: list of selected instances + """ + return [ + _i for _i in context + if bool("audio" in _i.data.get("families", [])) + ] + + def get_audio_track_items(self, otio_timeline): + """Get all audio clips form OTIO audio tracks + + Args: + otio_timeline (otio.schema.timeline): timeline object + + Returns: + list: list of audio clip dictionaries + """ + output = [] + # go trough all audio tracks + for otio_track in otio_timeline.tracks: + if "Audio" not in otio_track.kind: + continue + self.log.debug("_" * 50) + playhead = 0 + for otio_clip in otio_track: + self.log.debug(otio_clip) + if isinstance(otio_clip, otio.schema.Gap): + playhead += otio_clip.source_range.duration.value + elif isinstance(otio_clip, otio.schema.Clip): + start = otio_clip.source_range.start_time.value + duration = otio_clip.source_range.duration.value + fps = otio_clip.source_range.start_time.rate + media_path = otio_clip.media_reference.target_url + input = { + "mediaPath": media_path, + "delayFrame": playhead, + "startFrame": start, + "durationFrame": duration, + "delayMilSec": int(float(playhead / fps) * 1000), + "startSec": float(start / fps), + "durationSec": float(duration / fps), + "fps": fps + } + if input not in output: + output.append(input) + self.log.debug("__ input: {}".format(input)) + playhead += otio_clip.source_range.duration.value + + return output + + def create_empty(self, inputs): + """Create an empty audio file used as duration placeholder + + Args: + inputs (list): list of audio clip dictionaries + + Returns: + dict: audio clip dictionary + """ + # temp file + empty_fpath = self.create_temp_file("empty") + + # get all end frames + end_secs = [(_i["delayFrame"] + _i["durationFrame"]) / _i["fps"] + for _i in inputs] + # get the max of end frames + max_duration_sec = max(end_secs) + + # create empty cmd + cmd = " ".join([ + self.ffmpeg_path, + "-f lavfi", + "-i anullsrc=channel_layout=stereo:sample_rate=48000", + "-t {}".format(max_duration_sec), + empty_fpath + ]) + + # generate empty with ffmpeg + # run subprocess + self.log.debug("Executing: {}".format(cmd)) + + openpype.api.run_subprocess( + cmd, shell=True, logger=self.log + ) + + # return dict with output + return { + "mediaPath": empty_fpath, + "delayMilSec": 0, + "startSec": 0.00, + "durationSec": max_duration_sec + } + + def create_cmd(self, inputs): + """Creating multiple input cmd string + + Args: + inputs (list): list of input dicts. Order mater. + + Returns: + str: the command body + + """ + # create cmd segments + _inputs = "" + _filters = "-filter_complex \"" + _channels = "" + for index, input in enumerate(inputs): + input_format = input.copy() + input_format.update({"i": index}) + _inputs += ( + "-ss {startSec} " + "-t {durationSec} " + "-i \"{mediaPath}\" " + ).format(**input_format) + + _filters += "[{i}]adelay={delayMilSec}:all=1[r{i}]; ".format( + **input_format) + _channels += "[r{}]".format(index) + + # merge all cmd segments together + cmd = _inputs + _filters + _channels + cmd += str( + "amix=inputs={inputs}:duration=first:" + "dropout_transition=1000,volume={inputs}[a]\" " + ).format(inputs=len(inputs)) + cmd += "-map \"[a]\" " + + return cmd + + def create_temp_file(self, name): + """Create temp wav file + + Args: + name (str): name to be used in file name + + Returns: + str: temp fpath + """ + return os.path.normpath( + tempfile.mktemp( + prefix="pyblish_tmp_{}_".format(name), + suffix=".wav" + ) + ) From 19c4b1e41dc4a21b2d00288b56f257d7c8410aeb Mon Sep 17 00:00:00 2001 From: Ondrej Samohel Date: Wed, 12 May 2021 15:43:50 +0200 Subject: [PATCH 90/94] copy libs from centos 7 to build --- Dockerfile | 5 ++++- tools/docker_build.sh | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6a4cd3599d..2d8ed27b15 100644 --- a/Dockerfile +++ b/Dockerfile @@ -73,7 +73,10 @@ RUN source $HOME/.bashrc \ && ./tools/fetch_thirdparty_libs.sh RUN source $HOME/.bashrc \ - && bash ./tools/build.sh + && bash ./tools/build.sh \ + && cp /usr/lib64/libffi* ./build/exe.linux-x86_64-3.7/lib \ + && cp /usr/lib64/libssl* ./build/exe.linux-x86_64-3.7/lib \ + && cp /usr/lib64/libcrypto* ./build/exe.linux-x86_64-3.7/lib RUN cd /opt/openpype \ rm -rf ./vendor/bin diff --git a/tools/docker_build.sh b/tools/docker_build.sh index 866a542211..7600fe044b 100755 --- a/tools/docker_build.sh +++ b/tools/docker_build.sh @@ -51,6 +51,11 @@ main () { echo -e "${BIRed}!!!${RST} Copying failed." return 1 fi + + echo -e "${BIGreen}>>>${RST} Fixing user ownership ..." + username="$(logname)" + chown -R $username ./build + echo -e "${BIGreen}>>>${RST} All done, you can delete container:" echo -e "${BIYellow}$id${RST}" } From 6a485fc88756a4df573c2c1d093f44555e8eddb6 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 12 May 2021 15:53:11 +0200 Subject: [PATCH 91/94] Hiero: improving instace pre-collector so it is creating audio instances --- .../plugins/publish/precollect_instances.py | 62 +++++++++++++++++-- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/openpype/hosts/hiero/plugins/publish/precollect_instances.py b/openpype/hosts/hiero/plugins/publish/precollect_instances.py index 4cb6011a10..8cccdec99a 100644 --- a/openpype/hosts/hiero/plugins/publish/precollect_instances.py +++ b/openpype/hosts/hiero/plugins/publish/precollect_instances.py @@ -24,7 +24,7 @@ class PrecollectInstances(pyblish.api.ContextPlugin): for track_item in selected_timeline_items: - data = dict() + data = {} clip_name = track_item.name() # get openpype tag data @@ -43,6 +43,11 @@ class PrecollectInstances(pyblish.api.ContextPlugin): tag_data["handleEnd"] = min( tag_data["handleEnd"], int(track_item.handleOutLength())) + # add audio to families + with_audio = False + if tag_data.pop("audio"): + with_audio = True + # add tag data to instance data data.update({ k: v for k, v in tag_data.items() @@ -57,10 +62,6 @@ class PrecollectInstances(pyblish.api.ContextPlugin): families = [str(f) for f in tag_data["families"]] families.insert(0, str(family)) - # add audio to families - if tag_data["audio"]: - families.append("audio") - # form label label = asset if asset != clip_name: @@ -98,6 +99,17 @@ class PrecollectInstances(pyblish.api.ContextPlugin): self.log.debug( "_ instance.data: {}".format(pformat(instance.data))) + if not with_audio: + return + + # create audio subset instance + self.create_audio_instance(context, **data) + + # add audioReview attribute to plate instance data + # if reviewTrack is on + if tag_data.get("reviewTrack") is not None: + instance.data["reviewAudio"] = True + def get_resolution_to_data(self, data, context): assert data.get("otioClip"), "Missing `otioClip` data" @@ -163,6 +175,46 @@ class PrecollectInstances(pyblish.api.ContextPlugin): self.log.debug( "_ instance.data: {}".format(pformat(instance.data))) + def create_audio_instance(self, context, **data): + master_layer = data.get("heroTrack") + + if not master_layer: + return + + asset = data.get("asset") + item = data.get("item") + clip_name = item.name() + + asset = data["asset"] + subset = "audioMain" + + # insert family into families + family = "audio" + + # form label + label = asset + if asset != clip_name: + label += " ({}) ".format(clip_name) + label += " {}".format(subset) + label += " [{}]".format(family) + + data.update({ + "name": "{}_{}".format(asset, subset), + "label": label, + "subset": subset, + "asset": asset, + "family": family, + "families": ["clip"] + }) + # remove review track attr if any + data.pop("reviewTrack") + + # create instance + instance = context.create_instance(**data) + self.log.info("Creating instance: {}".format(instance)) + self.log.debug( + "_ instance.data: {}".format(pformat(instance.data))) + def get_otio_clip_instance_data(self, otio_timeline, track_item): """ Return otio objects for timeline, track and clip From b0c72f38bff062f1ad6cec5114d4d2019cb4988e Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 12 May 2021 15:53:30 +0200 Subject: [PATCH 92/94] global: dont do anything with audio instance --- openpype/plugins/publish/collect_otio_subset_resources.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openpype/plugins/publish/collect_otio_subset_resources.py b/openpype/plugins/publish/collect_otio_subset_resources.py index d687c1920a..cebfc90630 100644 --- a/openpype/plugins/publish/collect_otio_subset_resources.py +++ b/openpype/plugins/publish/collect_otio_subset_resources.py @@ -22,6 +22,10 @@ class CollectOcioSubsetResources(pyblish.api.InstancePlugin): hosts = ["resolve", "hiero"] def process(self, instance): + + if "audio" in instance.data["family"]: + return + if not instance.data.get("representations"): instance.data["representations"] = list() version_data = dict() From 6f39b0f046e5358a520e429505ecfd7fec51e907 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 12 May 2021 15:53:57 +0200 Subject: [PATCH 93/94] Global: finalizing otio audio extractor --- .../publish/extract_otio_audio_tracks.py | 106 +++++++++++------- 1 file changed, 68 insertions(+), 38 deletions(-) diff --git a/openpype/plugins/publish/extract_otio_audio_tracks.py b/openpype/plugins/publish/extract_otio_audio_tracks.py index ade53abeef..23e9fcd03b 100644 --- a/openpype/plugins/publish/extract_otio_audio_tracks.py +++ b/openpype/plugins/publish/extract_otio_audio_tracks.py @@ -16,9 +16,9 @@ class ExtractOtioAudioTracks(pyblish.api.ContextPlugin): asset length and add it to each marked instance data representation. This is influenced by instance data audio attribute """ - order = pyblish.api.CollectorOrder - 0.571 + order = pyblish.api.ExtractorOrder - 0.44 label = "Extract OTIO Audio Tracks" - hosts = ["hiero"] + hosts = ["hiero", "resolve"] # FFmpeg tools paths ffmpeg_path = get_ffmpeg_tool_path("ffmpeg") @@ -29,6 +29,13 @@ class ExtractOtioAudioTracks(pyblish.api.ContextPlugin): Args: context (pyblish.Context): context of publisher """ + # split the long audio file to peces devided by isntances + audio_instances = self.get_audio_instances(context) + self.log.debug("Audio instances: {}".format(len(audio_instances))) + + if len(audio_instances) < 1: + self.log.info("No audio instances available") + return # get sequence otio_timeline = context.data["otioTimeline"] @@ -59,56 +66,77 @@ class ExtractOtioAudioTracks(pyblish.api.ContextPlugin): # remove empty os.remove(empty["mediaPath"]) - # split the long audio file to peces devided by isntances - audio_instances = self.get_audio_instances(context) - # cut instance framerange and add to representations - self.create_audio_representations(audio_temp_fpath, audio_instances) + self.add_audio_to_instances(audio_temp_fpath, audio_instances) - def create_audio_representations(self, audio_file, instances): + # remove full mixed audio file + os.remove(audio_temp_fpath) + + def add_audio_to_instances(self, audio_file, instances): + created_files = [] for inst in instances: - # create empty representation attr - if "representations" not in inst.data: - inst.data["representations"] = [] + name = inst.data["asset"] - name = inst.data["name"] + recycling_file = [f for f in created_files if name in f] # frameranges timeline_in_h = inst.data["clipInH"] timeline_out_h = inst.data["clipOutH"] fps = inst.data["fps"] - # seconds + # create duration duration = (timeline_out_h - timeline_in_h) + 1 - start_sec = float(timeline_in_h / fps) - duration_sec = float(duration / fps) - # temp audio file - audio_fpath = self.create_temp_file(name) + # ffmpeg generate new file only if doesnt exists already + if not recycling_file: + # convert to seconds + start_sec = float(timeline_in_h / fps) + duration_sec = float(duration / fps) - cmd = " ".join([ - self.ffmpeg_path, - "-ss {}".format(start_sec), - "-t {}".format(duration_sec), - "-i {}".format(audio_file), - audio_fpath - ]) + # temp audio file + audio_fpath = self.create_temp_file(name) - # run subprocess - self.log.debug("Executing: {}".format(cmd)) - openpype.api.run_subprocess( - cmd, shell=True, logger=self.log - ) + cmd = " ".join([ + self.ffmpeg_path, + "-ss {}".format(start_sec), + "-t {}".format(duration_sec), + "-i {}".format(audio_file), + audio_fpath + ]) - # add to representations - inst.data["representations"].append({ - "files": os.path.basename(audio_fpath), - "name": "wav", - "ext": "wav", - "stagingDir": os.path.dirname(audio_fpath), - "frameStart": 0, - "frameEnd": duration - }) + # run subprocess + self.log.debug("Executing: {}".format(cmd)) + openpype.api.run_subprocess( + cmd, shell=True, logger=self.log + ) + else: + audio_fpath = recycling_file.pop() + + if "audio" in (inst.data["families"] + [inst.data["family"]]): + # create empty representation attr + if "representations" not in inst.data: + inst.data["representations"] = [] + # add to representations + inst.data["representations"].append({ + "files": os.path.basename(audio_fpath), + "name": "wav", + "ext": "wav", + "stagingDir": os.path.dirname(audio_fpath), + "frameStart": 0, + "frameEnd": duration + }) + + elif "reviewAudio" in inst.data.keys(): + audio_attr = inst.data.get("audio") or [] + audio_attr.append({ + "filename": audio_fpath, + "offset": 0 + }) + inst.data["audio"] = audio_attr + + # add generated audio file to created files for recycling + if audio_fpath not in created_files: + created_files.append(audio_fpath) def get_audio_instances(self, context): """Return only instances which are having audio in families @@ -121,7 +149,9 @@ class ExtractOtioAudioTracks(pyblish.api.ContextPlugin): """ return [ _i for _i in context - if bool("audio" in _i.data.get("families", [])) + if bool("audio" in ( + _i.data.get("families", []) + [_i.data["family"]]) + ) or _i.data.get("reviewAudio") ] def get_audio_track_items(self, otio_timeline): From 121a338be17f0fd737c7cf5ae0e92075e7167547 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 12 May 2021 15:56:31 +0200 Subject: [PATCH 94/94] hound: suggestions --- openpype/plugins/publish/extract_otio_audio_tracks.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openpype/plugins/publish/extract_otio_audio_tracks.py b/openpype/plugins/publish/extract_otio_audio_tracks.py index 23e9fcd03b..43e40097f7 100644 --- a/openpype/plugins/publish/extract_otio_audio_tracks.py +++ b/openpype/plugins/publish/extract_otio_audio_tracks.py @@ -149,9 +149,11 @@ class ExtractOtioAudioTracks(pyblish.api.ContextPlugin): """ return [ _i for _i in context + # filter only those with audio family + # and also with reviewAudio data key if bool("audio" in ( _i.data.get("families", []) + [_i.data["family"]]) - ) or _i.data.get("reviewAudio") + ) or _i.data.get("reviewAudio") ] def get_audio_track_items(self, otio_timeline):

    ErJfl%|UGoY6-?k>jPMJi^Z@YVX2A0IM6?k0*d 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%0A${WlXa8&)`T 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 literal 0 HcmV?d00001 diff --git a/website/docs/assets/resolve_menu_openpype_opened.png b/website/docs/assets/resolve_menu_openpype_opened.png new file mode 100644 index 0000000000000000000000000000000000000000..9b0e35569b8402253e8a4431f1152d5d8751c113 GIT binary patch literal 5971 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 tdp8z49-vHe;>qSt3hh9m_afa%v4lVZ0F7z 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