Blender  V2.93
Classes | Typedefs | Functions
image_sequence.c File Reference
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_fileops.h"
#include "BLI_fileops_types.h"
#include "BLI_listbase.h"
#include "BLI_math_base.h"
#include "BLI_path_util.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "DNA_image_types.h"
#include "DNA_windowmanager_types.h"
#include "RNA_access.h"
#include "BKE_image.h"
#include "BKE_main.h"
#include "ED_image.h"

Go to the source code of this file.

Classes

struct  ImageFrame
 

Typedefs

typedef struct ImageFrame ImageFrame
 

Functions

static void image_sequence_get_frame_ranges (wmOperator *op, ListBase *ranges)
 
static int image_cmp_frame (const void *a, const void *b)
 
static int image_get_udim (char *filepath, ListBase *udim_tiles)
 
static void image_detect_frame_range (ImageFrameRange *range, const bool detect_udim)
 
ListBase ED_image_filesel_detect_sequences (Main *bmain, wmOperator *op, const bool detect_udim)
 

Typedef Documentation

◆ ImageFrame

typedef struct ImageFrame ImageFrame

Function Documentation

◆ ED_image_filesel_detect_sequences()

ListBase ED_image_filesel_detect_sequences ( Main bmain,
wmOperator op,
const bool  detect_udim 
)

◆ image_cmp_frame()

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

Definition at line 104 of file image_sequence.c.

References Freestyle::a, and ImageFrame::framenr.

Referenced by image_detect_frame_range().

◆ image_detect_frame_range()

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

From a list of frames, compute the start (offset) and length of the sequence of contiguous frames. If UDIM is detect, it will return UDIM tiles as well.

Definition at line 184 of file image_sequence.c.

References BLI_listbase_sort(), ImageFrameRange::filepath, ListBase::first, ImageFrame::framenr, ImageFrameRange::frames, image_cmp_frame(), image_get_udim(), ImageFrameRange::length, ImageFrame::next, NULL, ImageFrameRange::offset, and ImageFrameRange::udim_tiles.

Referenced by ED_image_filesel_detect_sequences().

◆ image_get_udim()

static int image_get_udim ( char *  filepath,
ListBase udim_tiles 
)
static

◆ image_sequence_get_frame_ranges()

static void image_sequence_get_frame_ranges ( wmOperator op,
ListBase ranges 
)
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 fileselect operator properties.

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

Definition at line 58 of file image_sequence.c.

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

Referenced by ED_image_filesel_detect_sequences().