Blender
V3.3
|
#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 |
#define SEQ_EDGE_PAN_DELAY 1.0f |
Definition at line 42 of file transform_convert_sequencer.c.
#define SEQ_EDGE_PAN_INSIDE_PAD 3.5 |
Definition at line 38 of file transform_convert_sequencer.c.
#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.
#define SEQ_EDGE_PAN_OUTSIDE_PAD 0 /* Disable clamping for panning, use whole screen. */ |
Definition at line 39 of file transform_convert_sequencer.c.
#define SEQ_EDGE_PAN_SPEED_RAMP 1 |
Definition at line 40 of file transform_convert_sequencer.c.
#define SEQ_EDGE_PAN_ZOOM_INFLUENCE 0.5f |
Definition at line 43 of file transform_convert_sequencer.c.
typedef enum SeqInputSide SeqInputSide |
typedef struct TransDataSeq TransDataSeq |
Used for sequencer transform.
Sequencer transform customdata (stored in TransCustomDataContainer).
enum SeqInputSide |
Enumerator | |
---|---|
SEQ_INPUT_LEFT | |
SEQ_INPUT_RIGHT |
Definition at line 368 of file transform_convert_sequencer.c.
Definition at line 468 of file transform_convert_sequencer.c.
References RenderData::cfra, count, TransDataContainer::custom, TransCustomData::data, TransDataContainer::data, TransDataContainer::data_2d, TransDataContainer::data_len, TransSeq::edge_pan, TransCustomData::free_cb, freeSeqData(), TransSeq::initial_v2d_cur, LISTBASE_FOREACH, max_ii(), MAXSEQ, MEM_callocN, min_ii(), NULL, query_time_dependent_strips_strips(), Scene::r, scene, SELECT, TransSeq::selection_channel_range_max, TransSeq::selection_channel_range_min, SEQ_active_seqbase_get(), SEQ_EDGE_PAN_DELAY, SEQ_EDGE_PAN_INSIDE_PAD, SEQ_EDGE_PAN_MAX_SPEED, SEQ_EDGE_PAN_OUTSIDE_PAD, SEQ_EDGE_PAN_SPEED_RAMP, SEQ_EDGE_PAN_ZOOM_INFLUENCE, SEQ_editing_get(), Editing::seqbasep, SeqToTransData_build(), SeqTransCount(), t, T_NO_CURSOR_WRAP, TransSeq::tdseq, TFM_TRANSLATION, TransSeq::time_dependent_strips, TRANS_DATA_CONTAINER_FIRST_SINGLE, transform_convert_frame_side_dir_get(), TransCustomDataContainer::type, UI_view2d_edge_pan_init(), UI_view2d_edge_pan_set_limits(), and TransCustomData::use_free.
|
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().
|
static |
Definition at line 373 of file transform_convert_sequencer.c.
References input, scene, Sequence::seq1, Sequence::seq2, and SEQ_time_left_handle_frame_get().
Referenced by effect_base_input_get().
Definition at line 569 of file transform_convert_sequencer.c.
References Freestyle::a, blender::math::abs(), CLAMP, TransDataContainer::data, TransDataContainer::data_2d, Sequence::flag, Sequence::machine, MAXSEQ, NULL, offset, round_fl_to_int(), scene, TransDataSeq::sel_flag, SELECT, TransDataSeq::seq, SEQ_collection_expand(), SEQ_collection_free(), SEQ_ITERATOR_FOREACH, SEQ_LEFTSEL, SEQ_offset_animdata(), SEQ_OVERLAP, SEQ_query_strip_effect_chain(), SEQ_RIGHTSEL, SEQ_time_left_handle_frame_get(), SEQ_time_left_handle_frame_set(), SEQ_time_right_handle_frame_get(), SEQ_time_right_handle_frame_set(), seq_transform_collection_from_transdata(), SEQ_transform_fix_single_image_seq_offsets(), SEQ_transform_sequence_can_be_translated(), SEQ_transform_test_overlap(), SEQ_transform_translate_sequence(), seqbase_active_get(), Sequence::start, TransDataSeq::start_offset, t, TransSeq::time_dependent_strips, TRANS_DATA_CONTAINER_FIRST_SINGLE, and view2d_edge_pan_loc_compensate().
Referenced by recalcData_sequencer().
|
static |
Definition at line 264 of file transform_convert_sequencer.c.
References TransCustomData::data, MEM_freeN, NULL, SEQ_collection_free(), TransSeq::tdseq, TransSeq::time_dependent_strips, and TransCustomData::use_free.
Referenced by freeSeqData().
|
static |
Definition at line 318 of file transform_convert_sequencer.c.
References TransDataContainer::custom, TransCustomData::data, DEG_id_tag_update(), Sequence::flag, free_transform_custom_data(), ID_RECALC_SEQUENCER_STRIPS, NULL, scene, SEQ_collection_expand(), SEQ_collection_free(), SEQ_editing_get(), SEQ_IGNORE_CHANNEL_LOCK, SEQ_ITERATOR_FOREACH, SEQ_MARKER_TRANS, SEQ_query_strip_effect_chain(), seq_transform_cancel(), seq_transform_check_overlap(), seq_transform_collection_from_transdata(), SEQ_transform_handle_overlap(), seqbase_active_get(), t, TransSeq::time_dependent_strips, TRANS_CANCEL, and TransCustomDataContainer::type.
Referenced by createTransSeqData().
|
static |
Definition at line 357 of file transform_convert_sequencer.c.
References LISTBASE_FOREACH, SELECT, SEQ_collection_append_strip(), SEQ_collection_create(), SEQ_LEFTSEL, and SEQ_RIGHTSEL.
Referenced by query_time_dependent_strips_strips().
|
static |
Strips that aren't selected, but their position entirely depends on transformed strips. This collection is used to offset animation.
Definition at line 399 of file transform_convert_sequencer.c.
References effect_base_input_get(), Sequence::flag, NULL, query_selected_strips_no_handles(), Sequence::seq1, Sequence::seq2, SEQ_collection_append_strip(), SEQ_collection_duplicate(), SEQ_collection_expand(), SEQ_collection_free(), SEQ_collection_has_strip(), SEQ_collection_remove_strip(), SEQ_INPUT_LEFT, SEQ_INPUT_RIGHT, SEQ_ITERATOR_FOREACH, SEQ_LEFTSEL, SEQ_query_selected_strips(), SEQ_query_strip_effect_chain(), SEQ_RIGHTSEL, SEQ_transform_sequence_can_be_translated(), seqbase_active_get(), and t.
Referenced by createTransSeqData().
Definition at line 662 of file transform_convert_sequencer.c.
References Freestyle::a, TransDataContainer::data, DEG_id_tag_update(), flushTransSeq(), ID_RECALC_SEQUENCER_STRIPS, if(), NULL, TransDataSeq::seq, SEQ_relations_invalidate_cache_composite(), t, and TRANS_DATA_CONTAINER_FIRST_SINGLE.
|
static |
Definition at line 276 of file transform_convert_sequencer.c.
References SEQ_active_seqbase_get(), SEQ_editing_get(), SEQ_ITERATOR_FOREACH, SEQ_transform_seqbase_shuffle(), SEQ_transform_test_overlap(), and t.
Referenced by freeSeqData().
|
static |
Definition at line 296 of file transform_convert_sequencer.c.
References Sequence::flag, SEQ_ITERATOR_FOREACH, and SEQ_OVERLAP.
Referenced by freeSeqData().
|
static |
Definition at line 307 of file transform_convert_sequencer.c.
References Freestyle::a, TransDataContainer::data, TransDataContainer::data_len, SEQ_collection_append_strip(), and SEQ_collection_create().
Referenced by flushTransSeq(), and freeSeqData().
Definition at line 290 of file transform_convert_sequencer.c.
References SEQ_active_seqbase_get(), SEQ_editing_get(), and t.
Referenced by flushTransSeq(), freeSeqData(), and query_time_dependent_strips_strips().
|
static |
Definition at line 166 of file transform_convert_sequencer.c.
References TransData::axismtx, copy_v3_v3(), TransData::dist, TransData::ext, TransDataSeq::flag, TransData::ival, TransData2D::loc, TransData2D::loc2d, Sequence::machine, TransData::mtx, NULL, scene, TransDataSeq::sel_flag, SELECT, TransDataSeq::seq, SEQ_LEFTSEL, SEQ_RIGHTSEL, SEQ_time_left_handle_frame_get(), SEQ_time_right_handle_frame_get(), TransData::smtx, Sequence::start, TransDataSeq::start_offset, TD_SELECTED, unit_m3(), and TransData::val.
Referenced by SeqToTransData_build().
|
static |
Definition at line 231 of file transform_convert_sequencer.c.
References count, ListBase::first, Sequence::next, scene, SELECT, SEQ_LEFTSEL, SEQ_RIGHTSEL, SeqToTransData(), SeqTransInfo(), and t.
Referenced by createTransSeqData().
Definition at line 153 of file transform_convert_sequencer.c.
References count, ListBase::first, Sequence::next, SeqTransInfo(), and t.
Referenced by createTransSeqData().
Definition at line 83 of file transform_convert_sequencer.c.
References RenderData::cfra, channels(), Sequence::flag, left, Scene::r, right, scene, SELECT, SEQ_channels_displayed_get(), SEQ_editing_get(), SEQ_LEFTSEL, SEQ_RIGHTSEL, SEQ_time_left_handle_frame_get(), SEQ_time_right_handle_frame_get(), SEQ_transform_is_locked(), t, and TFM_TIME_EXTEND.
Referenced by SeqToTransData_build(), and SeqTransCount().
Definition at line 692 of file transform_convert_sequencer.c.
References ED_markers_post_apply_transform(), ELEM, SpaceSeq::flag, if(), SEQ_MARKER_TRANS, t, TFM_SEQ_SLIDE, TFM_TIME_EXTEND, TFM_TIME_TRANSLATE, and TRANS_CANCEL.
Definition at line 721 of file transform_convert_sequencer.c.
References MAXSEQ, round_fl_to_int(), TransSeq::selection_channel_range_max, TransSeq::selection_channel_range_min, t, and TRANS_DATA_CONTAINER_FIRST_SINGLE.
Referenced by applySeqSlide().
|
static |
Definition at line 542 of file transform_convert_sequencer.c.
References BLI_rctf_transform_pt_v(), copy_v2_v2(), CTX_VIEW2D_EDGE_PAN, TransSeq::edge_pan, TransSeq::initial_v2d_cur, t, TRANS_CANCEL, TRANS_DATA_CONTAINER_FIRST_SINGLE, UI_view2d_edge_pan_apply(), UI_view2d_edge_pan_cancel(), and xy.
Referenced by flushTransSeq().
TransConvertTypeInfo TransConvertType_Sequencer |
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().