MediaPool#

class pybmd.media_pool.MediaPool(media_pool)[source]

Bases: WrapperBase

MediaPool Object

Methods

__init__(media_pool)

add_sub_folder(folder, name)

add sub folder to folder

append_to_timeline(self, clips)

append clips to current timeline

auto_sync_audio(media_pool_items, ...)

Syncs audio for specified [MediaPoolItems] (list).

create_empty_timeline(name)

create empty timeline

create_multicam_clip(clips, multicam_options)

Creates a multicam clip from the specified [MediaPoolItems] (list).

create_stereo_clip(left_media_pool_item, ...)

Takes in two existing media pool items and creates a new 3D stereoscopic media pool entry replacing the input media in the media pool.

create_timeline_from_clips(self, name, clips)

create new timeline from clips with name

delete_clip_mattes(media_pool_item, paths)

Delete mattes based on their file paths for specified media pool item

delete_clips(clips)

Delete clips from media pool

delete_folders(subfolders)

delete folders from media pool

delete_timelines(timelines)

delete timelines from media pool

export_metadata(file_name[, clips])

export metadata to csv file

get_clip_matte_list(media_pool_item)

get list of clip mattes for specified media pool item

get_current_folder()

get current folder

get_root_folder()

return root folder object of media pool

get_selected_clips()

Returns the current selected MediaPoolItems

get_timeline_matte_list(folder)

Get mattes in specified Folder

get_unique_id()

get unique id of media pool object

import_folder_from_file(file_path, ...)

Returns true if import from given DRB filePath is successful, false otherwise

import_media(self, file_paths)

Imports specified file/folder paths into current Media Pool folder.

import_timeline_from_file(file_path, ...)

create new timeline from file and import options

move_clips(clips, target_folder)

Moves specified clips to target Folder

move_folders(folders, target_folder)

move folders to target folder

refresh_folders()

Updates the folders in collaboration mode

relink_clips(media_pool_items, folder_path)

Update the folder location of specified media pool clips with the specified folderpath

set_current_folder(folder)

set current folder

set_selected_clip(media_pool_item)

Sets the selected MediaPoolItem to the given MediaPoolItem

unlink_clips(media_pool_items)

Unlink specified media pool clips

add_sub_folder(folder: Folder, name: str) → Folder[source]

add sub folder to folder

Parameters:
  • folder (Folder) – folder to add sub folder to

  • name (str) – name of new sub folder

Returns:

folder object of new sub folder

Return type:

Folder

append_to_timeline(self, clips: List[ForwardRef('MediaPoolItem')]) → List[pybmd.timeline_item.TimelineItem][source]

append clips to current timeline

Parameters:

clips (List[MediaPoolItem]|List[ClipInfo]) – clips to append to current timeline

Returns:

timeline items of appended clips at timeline

Return type:

List[TimelineItem]

Deprecated:

Passing a list of MediaPoolItem is a deprecated calling convention since DaVinci Resolve 21.1.0. Pass a list of ClipInfo instead.

create_empty_timeline(name) → Timeline[source]

create empty timeline

Return type:

Timeline

create_timeline_from_clips(self, name: str, clips: List[ForwardRef('MediaPoolItem')]) → pybmd.timeline.Timeline[source]

create new timeline from clips with name

Args:

name (str): new timeline name clips (List[MediaPoolItem]): clips to create timeline from

Returns:

Timeline: new timeline object

Deprecated:

Deprecated calling convention since DaVinci Resolve 21.1.0, use create_timeline_from_clips(name, [ClipInfo(...), ...]) instead.

create_timeline_from_clips(self, name: str, clip_info_list: List[ForwardRef(‘ClipInfo’)]) -> pybmd.timeline.Timeline

create new timeline from ClipInfo list with name

Args:

name (str): new timeline name clip_info_list (List[ClipInfo]): clip infos to create timeline from

Returns:

Timeline: new timeline object

Parameters:
  • name (str)

  • clips (List[MediaPoolItem])

Return type:

Timeline

delete_clip_mattes(media_pool_item: MediaPoolItem, paths: List[str]) → bool[source]

Delete mattes based on their file paths for specified media pool item

Parameters:
  • media_pool_item (MediaPoolItem) – media pool item to delete mattes for

  • paths (List[str]) – matte file paths to delete

Returns:

true if successful, false if not

Return type:

bool

delete_clips(clips: List[MediaPoolItem]) → bool[source]

Delete clips from media pool

Parameters:

clips (List[MediaPoolItem])

Return type:

bool

delete_folders(subfolders: List[Folder]) → bool[source]

delete folders from media pool

Parameters:

subfolders (List[Folder])

Return type:

bool

delete_timelines(timelines: List[Timeline]) → bool[source]

delete timelines from media pool

Parameters:

timelines (List[Timeline]) – list of timelines to delete

Returns:

true if successful, false if not

Return type:

bool

export_metadata(file_name: str, clips: List[MediaPoolItem] | None = None) → bool[source]

export metadata to csv file

Parameters:
  • file_name (str) – export metadata csv file name

  • clips (List[MediaPoolItem]) – clips to export metadata for If no clips are specified, all clips from media pool will be used.

Returns:

True if successful, False if not

Return type:

bool

get_clip_matte_list(media_pool_item: MediaPoolItem) → List[Path][source]

get list of clip mattes for specified media pool item

Parameters:

media_pool_item (MediaPoolItem)

Return type:

List[Path]

get_current_folder() → Folder[source]

get current folder

Returns:

current folder object

Return type:

Folder

get_root_folder() → Folder[source]

return root folder object of media pool

Returns:

root folder object

Return type:

Folder

get_timeline_matte_list(folder: Folder) → List[MediaPoolItem][source]

Get mattes in specified Folder

Parameters:

folder (Folder) – folder to get mattes for

Returns:

list of media pool items that are mattes

Return type:

List[MediaPoolItem]

import_media(self, file_paths: List[str]) → List[pybmd.media_pool_item.MediaPoolItem][source]

Imports specified file/folder paths into current Media Pool folder.

Args:

file_paths (List[str]): Input is an array of file/folder paths.

Returns:

List[MediaPoolItem]: Returns a list of the MediaPoolItem created.

Deprecated:

Deprecated calling convention since DaVinci Resolve 21.1.0, use import_media([ImportClipInfo(file_path=path), ...]) instead.

import_media(self, clip_info_list: List[ForwardRef(‘ImportClipInfo’)]) -> List[pybmd.media_pool_item.MediaPoolItem]
Imports file path(s) into current Media Pool folder as specified in the

ImportClipInfo list.

Each ImportClipInfo gets imported as one MediaPoolItem unless ‘Show Individual Frames’ is turned on.

Args:
clip_info_list (List[ImportClipInfo]): clip infos to import, e.g.

[ImportClipInfo("file_%03d.dpx", 1, 100)] imports “file_[001-100].dpx”.

Returns:
List[MediaPoolItem]: Returns a list of the MediaPoolItem created. Empty when

DaVinci Resolve imported nothing.

Note:

DaVinci Resolve only accepts this calling convention for image sequences, i.e. entries carrying start_index / end_index. Single media files import nothing and yield an empty list - pass their paths as strings instead.

import_media(self, clip_info_list: List[dict]) -> List[pybmd.media_pool_item.MediaPoolItem]
Imports file path(s) into current Media Pool folder as specified in the

clipInfo dict list.

Args:
clip_info_list (List[dict]): dicts of “FilePath” (str), “StartIndex” (int)

and “EndIndex” (int), e.g. [{"FilePath": "file_%03d.dpx", "StartIndex": 1, "EndIndex": 100}].

Returns:
List[MediaPoolItem]: Returns a list of the MediaPoolItem created. Empty when

DaVinci Resolve imported nothing.

Note:

DaVinci Resolve only accepts this calling convention for image sequences, i.e. dicts carrying “StartIndex” / “EndIndex”. Single media files import nothing and yield an empty list - pass their paths as strings instead.

Parameters:

file_paths (List[str])

Return type:

List[MediaPoolItem]

import_timeline_from_file(file_path: str, import_option: TimelineImportOptions) → Timeline[source]

create new timeline from file and import options

Parameters:
  • file_path (str) – timeline file path

  • import_option (TimelineImportOptions) – timelineimportoptions object

Returns:

timeline object

Return type:

Timeline

move_clips(clips: List[MediaPoolItem], target_folder: Folder) → bool[source]

Moves specified clips to target Folder

Parameters:
  • clips (List[MediaPoolItem]) – list of clips to move

  • target_folder (Folder) – target folder to move clips to

Returns:

true if successful, false if not

Return type:

bool

move_folders(folders: List[Folder], target_folder: Folder) → bool[source]

move folders to target folder

Parameters:
  • folders (List[Folder]) – folders to move

  • target_folder (Folder) – target folder to move folders to

Returns:

true if successful, false if not

Return type:

bool

relink_clips(media_pool_items: List[MediaPoolItem], folder_path: str) → bool[source]

Update the folder location of specified media pool clips with the specified folderpath

Parameters:
  • media_pool_items (List[MediaPoolItem]) – clips to relink

  • folder_path (str) – folder path to relink clips to

Returns:

True if successful, False if not

Return type:

bool

set_current_folder(folder: Folder) → bool[source]

set current folder

Parameters:

folder (Folder)

Return type:

bool

unlink_clips(media_pool_items: List[MediaPoolItem]) → bool[source]

Unlink specified media pool clips

Parameters:

media_pool_items (List[MediaPoolItem])

Return type:

bool

refresh_folders() → bool[source]

Updates the folders in collaboration mode

Returns:

True if successful

Return type:

bool

Raises:

APIVersionError – If Resolve version < 18.0.0

Version:

Added in DaVinci Resolve 18.0.0

get_unique_id() → str[source]

get unique id of media pool object

Return type:

str

import_folder_from_file(file_path: str, source_clips_path: str) → bool[source]

Returns true if import from given DRB filePath is successful, false otherwise

Parameters:
  • file_path (str) – file path to DRB file

  • source_clips_path (str) – sourceClipsPath is a tring that specifies a filesystem path to search for source clips if the media is inaccessible in their original path, empty by default

Returns:

Returns true if import from given DRB filePath is successful, false otherwise

Return type:

bool

Raises:

APIVersionError – If Resolve version < 18.5.0

Version:

Added in DaVinci Resolve 18.5.0 Beta

create_stereo_clip(left_media_pool_item: MediaPoolItem, right_media_pool_item: MediaPoolItem) → MediaPoolItem[source]

Takes in two existing media pool items and creates a new 3D stereoscopic media pool entry replacing the input media in the media pool.

Parameters:
  • left_media_pool_item (MediaPoolItem) – left media pool item

  • right_media_pool_item (MediaPoolItem) – right media pool item

Returns:

3D stereoscopic media pool entry

Return type:

MediaPoolItem

Raises:

APIVersionError – If Resolve version < 18.6.4

Version:

Added in DaVinci Resolve 18.6.4

get_selected_clips() → List[MediaPoolItem][source]

Returns the current selected MediaPoolItems

Returns:

current selected MediaPoolItems

Return type:

List[MediaPoolItem]

Raises:

APIVersionError – If Resolve version < 19.0.2

Version:

Added in DaVinci Resolve 19.0.2

set_selected_clip(media_pool_item: MediaPoolItem) → bool[source]

Sets the selected MediaPoolItem to the given MediaPoolItem

Parameters:

media_pool_item (MediaPoolItem) – selected MediaPoolItem

Returns:

Returns true if successful, false if not

Return type:

bool

auto_sync_audio(media_pool_items: List[MediaPoolItem], audio_sync_settings: AudioSyncSetting) → bool[source]

Syncs audio for specified [MediaPoolItems] (list). The list must contain a minimum of two MediaPoolItems - at least one video and one audio clip. #BUG NOT WORKING IN DR19.1.X because Resolve’s API not working

Parameters:
  • media_pool_items (List[MediaPoolItem]) – _description_

  • audio_sync_settings (AudioSyncSetting) – _description_

Returns:

Returns True if successful. Refer to ‘AudioSyncSetting’ section for details.

Return type:

bool

Raises:

APIVersionError – If Resolve version < 19.1.0

Version:

Added in DaVinci Resolve 19.1.0

create_multicam_clip(clips: List[MediaPoolItem], multicam_options: MulticamOptions | dict) → List[MediaPoolItem][source]

Creates a multicam clip from the specified [MediaPoolItems] (list).

Parameters:
  • clips (List[MediaPoolItem]) – MediaPoolItems to build the multicam clip from.

  • multicam_options (MulticamOptions | dict) – Multicam creation options. Refer to ‘MulticamOptions’ section for details.

Returns:

The created multicam clip(s). Empty list if creation failed.

Return type:

List[MediaPoolItem]

Raises:

APIVersionError – If Resolve version < 21.1.0

Version:

Added in DaVinci Resolve 21.1.0