Blender  V3.3
Classes | Macros | Typedefs | Variables
transform_convert_sequencer.c File Reference
#include "DNA_space_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BKE_context.h"
#include "BKE_main.h"
#include "BKE_report.h"
#include "ED_markers.h"
#include "ED_time_scrub_ui.h"
#include "SEQ_animation.h"
#include "SEQ_channels.h"
#include "SEQ_edit.h"
#include "SEQ_effects.h"
#include "SEQ_iterator.h"
#include "SEQ_relations.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "SEQ_transform.h"
#include "SEQ_utils.h"
#include "UI_view2d.h"
#include "transform.h"
#include "transform_convert.h"

Go to the source code of this file.

Classes

struct  TransDataSeq
 
struct  TransSeq
 

Macros

#define SEQ_EDGE_PAN_INSIDE_PAD   3.5
 
#define SEQ_EDGE_PAN_OUTSIDE_PAD   0 /* Disable clamping for panning, use whole screen. */
 
#define SEQ_EDGE_PAN_SPEED_RAMP   1
 
#define SEQ_EDGE_PAN_MAX_SPEED   4 /* In UI units per second, slower than default. */
 
#define SEQ_EDGE_PAN_DELAY   1.0f
 
#define SEQ_EDGE_PAN_ZOOM_INFLUENCE   0.5f
 

Typedefs

typedef struct TransDataSeq TransDataSeq
 
typedef struct TransSeq TransSeq
 

Functions

UVs Transform Flush
static void view2d_edge_pan_loc_compensate (TransInfo *t, float loc_in[2], float r_loc[2])
 
static void flushTransSeq (TransInfo *t)
 
static void recalcData_sequencer (TransInfo *t)
 
Special After Transform Sequencer
static void special_aftertrans_update__sequencer (bContext *UNUSED(C), TransInfo *t)
 
void transform_convert_sequencer_channel_clamp (TransInfo *t, float r_val[2])
 

Variables

TransConvertTypeInfo TransConvertType_Sequencer
 

Sequencer Transform Creation

enum  SeqInputSide { SEQ_INPUT_LEFT = -1 , SEQ_INPUT_RIGHT = 1 }
 
typedef enum SeqInputSide SeqInputSide
 
static void SeqTransInfo (TransInfo *t, Sequence *seq, int *r_count, int *r_flag)
 
static int SeqTransCount (TransInfo *t, ListBase *seqbase)
 
static TransDataSeqToTransData (Scene *scene, TransData *td, TransData2D *td2d, TransDataSeq *tdsq, Sequence *seq, int flag, int sel_flag)
 
static int SeqToTransData_build (TransInfo *t, ListBase *seqbase, TransData *td, TransData2D *td2d, TransDataSeq *tdsq)
 
static void free_transform_custom_data (TransCustomData *custom_data)
 
static void seq_transform_cancel (TransInfo *t, SeqCollection *transformed_strips)
 
static ListBaseseqbase_active_get (const TransInfo *t)
 
static bool seq_transform_check_overlap (SeqCollection *transformed_strips)
 
static SeqCollectionseq_transform_collection_from_transdata (TransDataContainer *tc)
 
static void freeSeqData (TransInfo *t, TransDataContainer *tc, TransCustomData *custom_data)
 
static SeqCollectionquery_selected_strips_no_handles (ListBase *seqbase)
 
static Sequenceeffect_input_get (const Scene *scene, Sequence *effect, SeqInputSide side)
 
static Sequenceeffect_base_input_get (const Scene *scene, Sequence *effect, SeqInputSide side)
 
static SeqCollectionquery_time_dependent_strips_strips (TransInfo *t)
 
static void createTransSeqData (bContext *UNUSED(C), TransInfo *t)
 

Macro Definition Documentation

◆ SEQ_EDGE_PAN_DELAY

#define SEQ_EDGE_PAN_DELAY   1.0f

Definition at line 42 of file transform_convert_sequencer.c.

◆ SEQ_EDGE_PAN_INSIDE_PAD

#define SEQ_EDGE_PAN_INSIDE_PAD   3.5

Definition at line 38 of file transform_convert_sequencer.c.

◆ SEQ_EDGE_PAN_MAX_SPEED

#define SEQ_EDGE_PAN_MAX_SPEED   4 /* In UI units per second, slower than default. */

Definition at line 41 of file transform_convert_sequencer.c.

◆ SEQ_EDGE_PAN_OUTSIDE_PAD

#define SEQ_EDGE_PAN_OUTSIDE_PAD   0 /* Disable clamping for panning, use whole screen. */

Definition at line 39 of file transform_convert_sequencer.c.

◆ SEQ_EDGE_PAN_SPEED_RAMP

#define SEQ_EDGE_PAN_SPEED_RAMP   1

Definition at line 40 of file transform_convert_sequencer.c.

◆ SEQ_EDGE_PAN_ZOOM_INFLUENCE

#define SEQ_EDGE_PAN_ZOOM_INFLUENCE   0.5f

Definition at line 43 of file transform_convert_sequencer.c.

Typedef Documentation

◆ SeqInputSide

typedef enum SeqInputSide SeqInputSide

◆ TransDataSeq

typedef struct TransDataSeq TransDataSeq

Used for sequencer transform.

◆ TransSeq

typedef struct TransSeq TransSeq

Sequencer transform customdata (stored in TransCustomDataContainer).

Enumeration Type Documentation

◆ SeqInputSide

Enumerator
SEQ_INPUT_LEFT 
SEQ_INPUT_RIGHT 

Definition at line 368 of file transform_convert_sequencer.c.

Function Documentation

◆ createTransSeqData()

static void createTransSeqData ( bContext UNUSEDC,
TransInfo t 
)
static

◆ effect_base_input_get()

static Sequence* effect_base_input_get ( const Scene scene,
Sequence effect,
SeqInputSide  side 
)
static

Definition at line 385 of file transform_convert_sequencer.c.

References effect_input_get(), input, NULL, and scene.

Referenced by query_time_dependent_strips_strips().

◆ effect_input_get()

static Sequence* effect_input_get ( const Scene scene,
Sequence effect,
SeqInputSide  side 
)
static

◆ flushTransSeq()

static void flushTransSeq ( TransInfo t)
static

◆ free_transform_custom_data()

static void free_transform_custom_data ( TransCustomData custom_data)
static

◆ freeSeqData()

static void freeSeqData ( TransInfo t,
TransDataContainer tc,
TransCustomData custom_data 
)
static

◆ query_selected_strips_no_handles()

static SeqCollection* query_selected_strips_no_handles ( ListBase seqbase)
static

◆ query_time_dependent_strips_strips()

static SeqCollection* query_time_dependent_strips_strips ( TransInfo t)
static

◆ recalcData_sequencer()

static void recalcData_sequencer ( TransInfo t)
static

◆ seq_transform_cancel()

static void seq_transform_cancel ( TransInfo t,
SeqCollection transformed_strips 
)
static

◆ seq_transform_check_overlap()

static bool seq_transform_check_overlap ( SeqCollection transformed_strips)
static

Definition at line 296 of file transform_convert_sequencer.c.

References Sequence::flag, SEQ_ITERATOR_FOREACH, and SEQ_OVERLAP.

Referenced by freeSeqData().

◆ seq_transform_collection_from_transdata()

static SeqCollection* seq_transform_collection_from_transdata ( TransDataContainer tc)
static

◆ seqbase_active_get()

static ListBase* seqbase_active_get ( const TransInfo t)
static

◆ SeqToTransData()

static TransData* SeqToTransData ( Scene scene,
TransData td,
TransData2D td2d,
TransDataSeq tdsq,
Sequence seq,
int  flag,
int  sel_flag 
)
static

◆ SeqToTransData_build()

static int SeqToTransData_build ( TransInfo t,
ListBase seqbase,
TransData td,
TransData2D td2d,
TransDataSeq tdsq 
)
static

◆ SeqTransCount()

static int SeqTransCount ( TransInfo t,
ListBase seqbase 
)
static

Definition at line 153 of file transform_convert_sequencer.c.

References count, ListBase::first, Sequence::next, SeqTransInfo(), and t.

Referenced by createTransSeqData().

◆ SeqTransInfo()

static void SeqTransInfo ( TransInfo t,
Sequence seq,
int *  r_count,
int *  r_flag 
)
static

◆ special_aftertrans_update__sequencer()

static void special_aftertrans_update__sequencer ( bContext UNUSEDC,
TransInfo t 
)
static

◆ transform_convert_sequencer_channel_clamp()

void transform_convert_sequencer_channel_clamp ( TransInfo t,
float  r_val[2] 
)

◆ view2d_edge_pan_loc_compensate()

static void view2d_edge_pan_loc_compensate ( TransInfo t,
float  loc_in[2],
float  r_loc[2] 
)
static

Variable Documentation

◆ TransConvertType_Sequencer

TransConvertTypeInfo TransConvertType_Sequencer
Initial value:
= {
}
static void special_aftertrans_update__sequencer(bContext *UNUSED(C), TransInfo *t)
static void createTransSeqData(bContext *UNUSED(C), TransInfo *t)
static void recalcData_sequencer(TransInfo *t)

Definition at line 738 of file transform_convert_sequencer.c.

Referenced by convert_type_get(), createTransData(), and ED_transform_snap_sequencer_to_closest_strip_calc().