Blender V5.0
image_sequence.cc File Reference
#include <cstring>
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_path_utils.hh"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "DNA_windowmanager_types.h"
#include "RNA_access.hh"
#include "BKE_image.hh"
#include "ED_image.hh"

Go to the source code of this file.

Functions

static void image_sequence_get_frame_ranges (wmOperator *op, ListBase *ranges, bool *r_was_relative)
static int image_cmp_frame (const void *a, const void *b)
static void image_detect_frame_range (ImageFrameRange *range, const bool detect_udim)
ListBase ED_image_filesel_detect_sequences (blender::StringRefNull blendfile_path, blender::StringRefNull root_path, wmOperator *op, const bool detect_udim)

Function Documentation

◆ ED_image_filesel_detect_sequences()

ListBase ED_image_filesel_detect_sequences ( blender::StringRefNull blendfile_path,
blender::StringRefNull root_path,
wmOperator * op,
bool detect_udim )

Used for both images and volume file loading.

Parameters
blendfile_pathFor relative paths, the operator paths will be relative to this.
root_pathWhen op references a relative path, ImageFrameRange::filepath will be made relative to this path if possible, otherwise it will be made absolute. Note that blendfile_path may equal root_path, otherwise root_path may be set to a libraries absolute file-path.

Definition at line 144 of file image_sequence.cc.

References BLI_addtail(), BLI_listbase_clear(), BLI_path_abs(), BLI_path_is_rel(), BLI_path_rel(), blender::StringRefNull::c_str(), FILE_MAX, ImageFrameRange::filepath, image_detect_frame_range(), image_sequence_get_frame_ranges(), LISTBASE_FOREACH, MEM_callocN(), wmOperator::ptr, RNA_string_get(), RNA_struct_property_is_set(), and STRNCPY().

Referenced by image_open_exec(), blender::ed::vse::sequencer_add_image_strip_exec(), and blender::ed::object::volume_import_exec().

◆ image_cmp_frame()

int image_cmp_frame ( const void * a,
const void * b )
static

Definition at line 82 of file image_sequence.cc.

References b, and ImageFrame::framenr.

Referenced by image_detect_frame_range().

◆ image_detect_frame_range()

void image_detect_frame_range ( ImageFrameRange * range,
const bool detect_udim )
static

◆ image_sequence_get_frame_ranges()

void image_sequence_get_frame_ranges ( wmOperator * op,
ListBase * ranges,
bool * r_was_relative )
static

Get a list of frames from the list of image files matching the first file name sequence pattern. The files and directory are read from standard file-select operator properties.

The output is a list of frame ranges, each containing a list of frames with matching names.

Definition at line 32 of file image_sequence.cc.

References BLI_addtail(), BLI_path_is_rel(), BLI_path_join, BLI_path_sequence_decode(), FILE_MAX, FILE_MAXDIR, ImageFrameRange::filepath, ImageFrame::framenr, ImageFrameRange::frames, MEM_callocN(), MEM_freeN(), wmOperator::ptr, RNA_BEGIN, RNA_boolean_get(), RNA_END, RNA_string_get(), RNA_string_get_alloc(), STREQLEN, and STRNCPY().

Referenced by ED_image_filesel_detect_sequences().