Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Resolve: update to new publisher #157

Closed
Closed
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
f7e514a
Updating Resolve API reference
jakubjezek001 Mar 7, 2024
f943fe7
Add Ayon core constants and menu changes, update AyonMenu class, and …
jakubjezek001 Mar 7, 2024
09d7dc6
Update Resolve API functions and markers for Ayon compatibility.
jakubjezek001 Mar 7, 2024
fbd0fc5
Update plugin classes and imports for backward compatibility with new…
jakubjezek001 Mar 7, 2024
b692cde
Add import statement, update class inheritance, and define new attrib…
jakubjezek001 Mar 7, 2024
f634f19
Add workfile auto-creator plugin with instance creation logic.
jakubjezek001 Mar 7, 2024
666c76a
Update timeline frame rate settings and add otio metadata to Resolve …
jakubjezek001 Mar 7, 2024
6c42394
Refactor timeline item retrieval functions and menu launchers
jakubjezek001 Mar 7, 2024
18ccc00
Update Resolve API functions, containerization methods, and marker ha…
jakubjezek001 Mar 7, 2024
cabf6be
Remove deprecated functions and use constants for clip color in Resol…
jakubjezek001 Mar 7, 2024
bb5a23d
Merge branch 'develop' into feature/AY-979_Resolve-update-to-new-publ…
jakubjezek001 Mar 8, 2024
5517438
fixing bits after renaming and moving into constants
jakubjezek001 Mar 12, 2024
0c84f6f
adding function for getting native otio file
jakubjezek001 Mar 12, 2024
2a64d72
adding HostContext class for dealing with context in creators
jakubjezek001 Mar 12, 2024
0d90f57
adding abstracted plugins for dealing with new publisher
jakubjezek001 Mar 12, 2024
d03c2bf
create otio timeline can optionally add own timeline
jakubjezek001 Mar 12, 2024
17cfa43
Merge branch 'develop' into feature/AY-979_Resolve-update-to-new-publ…
jakubjezek001 Jun 12, 2024
6e1851f
Refactor menu stylesheet loading, update plugin creation logic
jakubjezek001 Jun 12, 2024
553602e
Merge branch 'develop' into feature/AY-979_Resolve-update-to-new-publ…
jakubjezek001 Jun 12, 2024
cdc55ed
Update API documentation and keyframe mode information. Remove outdat…
jakubjezek001 Jun 13, 2024
e1dea1c
Refactor otio file handling functions, add temp dir logic.
jakubjezek001 Jun 13, 2024
e4a11ef
Refactor get_otio_temp_dir to handle missing timeline.
jakubjezek001 Jun 13, 2024
932dfd6
Merge branch 'develop' into feature/AY-979_Resolve-update-to-new-publ…
jakubjezek001 Jun 13, 2024
3d1f0d7
reverting latest commit changes partly
jakubjezek001 Jun 13, 2024
d105d13
Update server_addon/resolve/client/ayon_resolve/api/lib.py
jakubjezek001 Jun 14, 2024
4ea3887
Merge branch 'develop' into feature/AY-979_Resolve-update-to-new-publ…
jakubjezek001 Jun 14, 2024
cd003ba
Merge branch 'develop' into feature/AY-979_Resolve-update-to-new-publ…
iLLiCiTiT Jun 20, 2024
210d23d
Merge branch 'develop' into feature/AY-979_Resolve-update-to-new-publ…
iLLiCiTiT Jul 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions server_addon/resolve/client/ayon_resolve/README.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@
![image](https://user-images.githubusercontent.com/40640033/102792588-ffcb1c80-43a8-11eb-9c6b-bf2114ed578e.png) with installed CMake in PATH.
- make sure Resolve Fusion (Fusion Tab/menu/Fusion/Fusion Settings) is set to Python 3.6
![image](https://user-images.githubusercontent.com/40640033/102631545-280b0f00-414e-11eb-89fc-98ac268d209d.png)
- Open OpenPype **Tray/Admin/Studio settings** > `applications/resolve/environment` and add Python3 path to `RESOLVE_PYTHON3_HOME` platform related.
- Open Ayon **Tray/Admin/Studio settings** > `applications/resolve/environment` and add Python3 path to `RESOLVE_PYTHON3_HOME` platform related.

## Editorial setup

This is how it looks on my testing project timeline
![image](https://user-images.githubusercontent.com/40640033/102637638-96ec6600-4156-11eb-9656-6e8e3ce4baf8.png)
Notice I had renamed tracks to `main` (holding metadata markers) and `review` used for generating review data with ffmpeg confersion to jpg sequence.

1. you need to start AYON menu from Resolve/EditTab/Menu/Workspace/Scripts/Comp/**__OpenPype_Menu__**
1. you need to start Ayon menu from Resolve/EditTab/Menu/Workspace/Scripts/Comp/**__Ayon_Menu__**
2. then select any clips in `main` track and change their color to `Chocolate`
3. in OpenPype Menu select `Create`
3. in Ayon Menu select `Create`
4. in Creator select `Create Publishable Clip [New]` (temporary name)
5. set `Rename clips` to True, Master Track to `main` and Use review track to `review` as in picture
![image](https://user-images.githubusercontent.com/40640033/102643773-0d419600-4160-11eb-919e-9c2be0aecab8.png)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

Last Updated: 1 April 2024
----------------------------
In this package, you will find a brief introduction to the Scripting API for DaVinci Resolve Studio. Apart from this README.txt file, this package contains folders containing the basic import
Expand Down Expand Up @@ -479,6 +480,7 @@ Beside primitive data types, Resolve's Python API mainly uses list and dict data
As Lua does not support list and dict data structures, the Lua API implements "list" as a table with indices, e.g. { [1] = listValue1, [2] = listValue2, ... }.
Similarly the Lua API implements "dict" as a table with the dictionary key as first element, e.g. { [dictKey1] = dictValue1, [dictKey2] = dictValue2, ... }.


Keyframe Mode information
-------------------------
This section covers additional notes for the functions Resolve.GetKeyframeMode() and Resolve.SetKeyframeMode(keyframeMode).
Expand Down
49 changes: 30 additions & 19 deletions server_addon/resolve/client/ayon_resolve/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,13 @@
containerise,
update_container,
maintained_selection,
remove_instance,
list_instances
)

from .lib import (
maintain_current_timeline,
publish_clip_color,
get_project_manager,
get_current_project,
get_current_resolve_project,
get_current_project, # backward compatibility
get_current_timeline,
get_any_timeline,
get_new_timeline,
Expand All @@ -30,9 +28,12 @@
get_timeline_item,
get_video_track_names,
get_current_timeline_items,
get_pype_timeline_item_by_name,
get_timeline_item_pype_tag,
set_timeline_item_pype_tag,
get_timeline_item_by_name,
get_pype_timeline_item_by_name, # backward compatibility
get_timeline_item_ayon_tag,
get_timeline_item_pype_tag, # backward compatibility
set_timeline_item_ayon_tag,
set_timeline_item_pype_tag, # backward compatibility
imprint,
set_publish_attribute,
get_publish_attribute,
Expand All @@ -49,8 +50,10 @@
from .plugin import (
ClipLoader,
TimelineItemLoader,
Creator,
PublishClip
ResolveCreator,
Creator, # backward compatibility
PublishableClip,
PublishClip, # backward compatibility
)

from .workio import (
Expand All @@ -64,31 +67,34 @@

from .testing_utils import TestGUI


# Resolve specific singletons
bmdvr = None
bmdvf = None
project_manager = None
media_storage = None


__all__ = [
"bmdvr",
"bmdvf",
"project_manager",
"media_storage",

# pipeline
"ResolveHost",
"ls",
"containerise",
"update_container",
"maintained_selection",
"remove_instance",
"list_instances",

# utils
"get_resolve_module",

# lib
"maintain_current_timeline",
"publish_clip_color",
"get_project_manager",
"get_current_project",
"get_current_resolve_project",
"get_current_project", # backward compatibility
"get_current_timeline",
"get_any_timeline",
"get_new_timeline",
Expand All @@ -99,9 +105,12 @@
"get_timeline_item",
"get_video_track_names",
"get_current_timeline_items",
"get_pype_timeline_item_by_name",
"get_timeline_item_pype_tag",
"set_timeline_item_pype_tag",
"get_timeline_item_by_name",
"get_pype_timeline_item_by_name", # backward compatibility
"get_timeline_item_ayon_tag",
"get_timeline_item_pype_tag", # backward compatibility
"set_timeline_item_ayon_tag",
"set_timeline_item_pype_tag", # backward compatibility
"imprint",
"set_publish_attribute",
"get_publish_attribute",
Expand All @@ -118,8 +127,10 @@
# plugin
"ClipLoader",
"TimelineItemLoader",
"Creator",
"PublishClip",
"ResolveCreator",
"Creator", # backward compatibility
"PublishableClip",
"PublishClip", # backward compatibility

# workio
"open_file",
Expand Down
18 changes: 18 additions & 0 deletions server_addon/resolve/client/ayon_resolve/api/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Ayon sequential rename variables
rename_index = 0
rename_add = 0

publish_clip_color = "Pink"
ayon_marker_workflow = True

# Ayon compound clip workflow variable
ayon_tag_name = "VFX Notes"

# Ayon marker workflow variables
ayon_marker_name = "AyonData"
ayon_marker_duration = 1
ayon_marker_color = "Mint"
temp_marker_frame = None

# Ayon default timeline
ayon_timeline_name = "AyonTimeline"
Loading
Loading