Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/sequencer/intern')
-rw-r--r--source/blender/sequencer/intern/clipboard.c2
-rw-r--r--source/blender/sequencer/intern/effects.c12
-rw-r--r--source/blender/sequencer/intern/iterator.c20
-rw-r--r--source/blender/sequencer/intern/modifier.c2
-rw-r--r--source/blender/sequencer/intern/prefetch.c8
-rw-r--r--source/blender/sequencer/intern/render.c4
-rw-r--r--source/blender/sequencer/intern/sequence_lookup.c2
-rw-r--r--source/blender/sequencer/intern/sequencer.c21
-rw-r--r--source/blender/sequencer/intern/strip_edit.c4
-rw-r--r--source/blender/sequencer/intern/strip_time.c2
-rw-r--r--source/blender/sequencer/intern/utils.c2
11 files changed, 54 insertions, 25 deletions
diff --git a/source/blender/sequencer/intern/clipboard.c b/source/blender/sequencer/intern/clipboard.c
index 29cb749bc99..e3f82dd4bb0 100644
--- a/source/blender/sequencer/intern/clipboard.c
+++ b/source/blender/sequencer/intern/clipboard.c
@@ -100,7 +100,7 @@ static void seqclipboard_ptr_restore(Main *bmain, ID **id_pt)
id_restore = (ID_PT)->newid;
}
else {
- /* the pointer of the same name still exists */
+ /* The pointer of the same name still exists. */
id_restore = BLI_findstring(lb, (ID_PT)->name + 2, offsetof(ID, name) + 2);
}
diff --git a/source/blender/sequencer/intern/effects.c b/source/blender/sequencer/intern/effects.c
index d41a2c19d55..1f518a69395 100644
--- a/source/blender/sequencer/intern/effects.c
+++ b/source/blender/sequencer/intern/effects.c
@@ -2414,19 +2414,19 @@ static void transform_image(int x,
for (int yi = start_line; yi < start_line + total_lines; yi++) {
for (int xi = 0; xi < x; xi++) {
- /* translate point */
+ /* Translate point. */
float xt = xi - translate_x;
float yt = yi - translate_y;
- /* rotate point with center ref */
+ /* Rotate point with center ref. */
float xr = c * xt + s * yt;
float yr = -s * xt + c * yt;
- /* scale point with center ref */
+ /* Scale point with center ref. */
xt = xr / scale_x;
yt = yr / scale_y;
- /* undo reference center point */
+ /* Undo reference center point. */
xt += (x / 2.0f);
yt += (y / 2.0f);
@@ -2651,7 +2651,7 @@ static void RVBlurBitmap2_float(float *map, int width, int height, float blur, i
swap = temp;
temp = map; /* map = swap; */ /* UNUSED */
- /* Tidy up */
+ /* Tidy up. */
MEM_freeN(filter);
MEM_freeN(temp);
}
@@ -3214,7 +3214,7 @@ void seq_effect_speed_rebuild_map(Scene *scene, Sequence *seq, bool force)
else {
/* if there is no fcurve, use value as simple multiplier */
if (!fcu) {
- fallback_fac = seq->speed_fader; /* same as speed_factor in rna*/
+ fallback_fac = seq->speed_fader; /* Same as speed_factor in RNA. */
}
}
diff --git a/source/blender/sequencer/intern/iterator.c b/source/blender/sequencer/intern/iterator.c
index 9bbc5362f18..20a2ee3b183 100644
--- a/source/blender/sequencer/intern/iterator.c
+++ b/source/blender/sequencer/intern/iterator.c
@@ -106,15 +106,23 @@ void SEQ_collection_free(SeqCollection *collection)
*
* \return empty strip collection.
*/
-SeqCollection *SEQ_collection_create(void)
+SeqCollection *SEQ_collection_create(const char *name)
{
- SeqCollection *collection = MEM_callocN(sizeof(SeqCollection), "SeqCollection");
+ SeqCollection *collection = MEM_callocN(sizeof(SeqCollection), name);
collection->set = BLI_gset_new(
BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "SeqCollection GSet");
return collection;
}
/**
+ * Return number of items in collection.
+ */
+uint SEQ_collection_len(const SeqCollection *collection)
+{
+ return BLI_gset_len(collection->set);
+}
+
+/**
* Query strips from seqbase. seq_reference is used by query function as filter condition.
*
* \param seq_reference: reference strip for query function
@@ -128,7 +136,7 @@ SeqCollection *SEQ_query_by_reference(Sequence *seq_reference,
ListBase *seqbase,
SeqCollection *collection))
{
- SeqCollection *collection = SEQ_collection_create();
+ SeqCollection *collection = SEQ_collection_create(__func__);
seq_query_func(seq_reference, seqbase, collection);
return collection;
}
@@ -215,7 +223,7 @@ void SEQ_collection_expand(ListBase *seqbase,
*/
SeqCollection *SEQ_query_all_strips_recursive(ListBase *seqbase)
{
- SeqCollection *collection = SEQ_collection_create();
+ SeqCollection *collection = SEQ_collection_create(__func__);
LISTBASE_FOREACH (Sequence *, seq, seqbase) {
if (seq->type == SEQ_TYPE_META) {
SEQ_collection_merge(collection, SEQ_query_all_strips_recursive(&seq->seqbase));
@@ -233,7 +241,7 @@ SeqCollection *SEQ_query_all_strips_recursive(ListBase *seqbase)
*/
SeqCollection *SEQ_query_all_strips(ListBase *seqbase)
{
- SeqCollection *collection = SEQ_collection_create();
+ SeqCollection *collection = SEQ_collection_create(__func__);
LISTBASE_FOREACH (Sequence *, seq, seqbase) {
SEQ_collection_append_strip(seq, collection);
}
@@ -248,7 +256,7 @@ SeqCollection *SEQ_query_all_strips(ListBase *seqbase)
*/
SeqCollection *SEQ_query_selected_strips(ListBase *seqbase)
{
- SeqCollection *collection = SEQ_collection_create();
+ SeqCollection *collection = SEQ_collection_create(__func__);
LISTBASE_FOREACH (Sequence *, seq, seqbase) {
if ((seq->flag & SELECT) == 0) {
continue;
diff --git a/source/blender/sequencer/intern/modifier.c b/source/blender/sequencer/intern/modifier.c
index b6f56025e6b..75c7d599be5 100644
--- a/source/blender/sequencer/intern/modifier.c
+++ b/source/blender/sequencer/intern/modifier.c
@@ -1438,7 +1438,7 @@ ImBuf *SEQ_modifier_apply_stack(const SeqRenderData *context,
if (smd->mask_time == SEQUENCE_MASK_TIME_RELATIVE) {
frame_offset = seq->start;
}
- else /*if (smd->mask_time == SEQUENCE_MASK_TIME_ABSOLUTE)*/ {
+ else /* if (smd->mask_time == SEQUENCE_MASK_TIME_ABSOLUTE) */ {
frame_offset = smd->mask_id ? ((Mask *)smd->mask_id)->sfra : 0;
}
diff --git a/source/blender/sequencer/intern/prefetch.c b/source/blender/sequencer/intern/prefetch.c
index 4317fa3a850..15609a76f5c 100644
--- a/source/blender/sequencer/intern/prefetch.c
+++ b/source/blender/sequencer/intern/prefetch.c
@@ -91,7 +91,7 @@ typedef struct PrefetchJob {
bool stop;
} PrefetchJob;
-static bool seq_prefetch_is_playing(Main *bmain)
+static bool seq_prefetch_is_playing(const Main *bmain)
{
for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
if (screen->animtimer) {
@@ -101,7 +101,7 @@ static bool seq_prefetch_is_playing(Main *bmain)
return false;
}
-static bool seq_prefetch_is_scrubbing(Main *bmain)
+static bool seq_prefetch_is_scrubbing(const Main *bmain)
{
for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
@@ -260,7 +260,7 @@ static void seq_prefetch_update_area(PrefetchJob *pfjob)
void SEQ_prefetch_stop_all(void)
{
- /*TODO(Richard): Use wm_jobs for prefetch, or pass main. */
+ /* TODO(Richard): Use wm_jobs for prefetch, or pass main. */
for (Scene *scene = G.main->scenes.first; scene; scene = scene->id.next) {
SEQ_prefetch_stop(scene);
}
@@ -533,7 +533,7 @@ static PrefetchJob *seq_prefetch_start_ex(const SeqRenderData *context, float cf
return pfjob;
}
-/* Start or resume prefetching*/
+/* Start or resume prefetching. */
void seq_prefetch_start(const SeqRenderData *context, float timeline_frame)
{
Scene *scene = context->scene;
diff --git a/source/blender/sequencer/intern/render.c b/source/blender/sequencer/intern/render.c
index 16adc392b3b..2f6f0180835 100644
--- a/source/blender/sequencer/intern/render.c
+++ b/source/blender/sequencer/intern/render.c
@@ -298,7 +298,7 @@ static bool must_render_strip(const Sequence *seq, SeqCollection *strips_at_time
return true;
}
- /* If strip has effects in stack, and all effects are above this strip, it it not rendered. */
+ /* If strip has effects in stack, and all effects are above this strip, it is not rendered. */
if (seq_have_effect_in_stack) {
return false;
}
@@ -308,7 +308,7 @@ static bool must_render_strip(const Sequence *seq, SeqCollection *strips_at_time
static SeqCollection *query_strips_at_frame(ListBase *seqbase, const int timeline_frame)
{
- SeqCollection *collection = SEQ_collection_create();
+ SeqCollection *collection = SEQ_collection_create(__func__);
LISTBASE_FOREACH (Sequence *, seq, seqbase) {
if (SEQ_time_strip_intersects_frame(seq, timeline_frame)) {
diff --git a/source/blender/sequencer/intern/sequence_lookup.c b/source/blender/sequencer/intern/sequence_lookup.c
index 72567dc394e..25b42957d99 100644
--- a/source/blender/sequencer/intern/sequence_lookup.c
+++ b/source/blender/sequencer/intern/sequence_lookup.c
@@ -87,7 +87,7 @@ static void seq_sequence_lookup_rebuild(const struct Scene *scene, struct Sequen
seq_sequence_lookup_build(scene, *lookup);
}
-static bool seq_sequence_lookup_is_valid(struct SequenceLookup *lookup)
+static bool seq_sequence_lookup_is_valid(const struct SequenceLookup *lookup)
{
return (lookup->tag & SEQ_LOOKUP_TAG_INVALID) == 0;
}
diff --git a/source/blender/sequencer/intern/sequencer.c b/source/blender/sequencer/intern/sequencer.c
index 8cd67195c30..7907b11989c 100644
--- a/source/blender/sequencer/intern/sequencer.c
+++ b/source/blender/sequencer/intern/sequencer.c
@@ -311,6 +311,9 @@ SequencerToolSettings *SEQ_tool_settings_init(void)
SequencerToolSettings *tool_settings = MEM_callocN(sizeof(SequencerToolSettings),
"Sequencer tool settings");
tool_settings->fit_method = SEQ_SCALE_TO_FIT;
+ tool_settings->snap_mode = SEQ_SNAP_TO_STRIPS | SEQ_SNAP_TO_CURRENT_FRAME |
+ SEQ_SNAP_TO_STRIP_HOLD;
+ tool_settings->snap_distance = 15;
return tool_settings;
}
@@ -336,6 +339,24 @@ eSeqImageFitMethod SEQ_tool_settings_fit_method_get(Scene *scene)
return tool_settings->fit_method;
}
+short SEQ_tool_settings_snap_mode_get(Scene *scene)
+{
+ const SequencerToolSettings *tool_settings = SEQ_tool_settings_ensure(scene);
+ return tool_settings->snap_mode;
+}
+
+short SEQ_tool_settings_snap_flag_get(Scene *scene)
+{
+ const SequencerToolSettings *tool_settings = SEQ_tool_settings_ensure(scene);
+ return tool_settings->snap_flag;
+}
+
+int SEQ_tool_settings_snap_distance_get(Scene *scene)
+{
+ const SequencerToolSettings *tool_settings = SEQ_tool_settings_ensure(scene);
+ return tool_settings->snap_distance;
+}
+
void SEQ_tool_settings_fit_method_set(Scene *scene, eSeqImageFitMethod fit_method)
{
SequencerToolSettings *tool_settings = SEQ_tool_settings_ensure(scene);
diff --git a/source/blender/sequencer/intern/strip_edit.c b/source/blender/sequencer/intern/strip_edit.c
index 3e6eb74fcb3..b9278b9f971 100644
--- a/source/blender/sequencer/intern/strip_edit.c
+++ b/source/blender/sequencer/intern/strip_edit.c
@@ -255,7 +255,7 @@ bool SEQ_edit_move_strip_to_meta(Scene *scene,
return false;
}
- SeqCollection *collection = SEQ_collection_create();
+ SeqCollection *collection = SEQ_collection_create(__func__);
SEQ_collection_append_strip(src_seq, collection);
SEQ_collection_expand(seqbase, collection, SEQ_query_strip_effect_chain);
@@ -396,7 +396,7 @@ Sequence *SEQ_edit_strip_split(Main *bmain,
return NULL;
}
- SeqCollection *collection = SEQ_collection_create();
+ SeqCollection *collection = SEQ_collection_create(__func__);
SEQ_collection_append_strip(seq, collection);
SEQ_collection_expand(seqbase, collection, SEQ_query_strip_effect_chain);
diff --git a/source/blender/sequencer/intern/strip_time.c b/source/blender/sequencer/intern/strip_time.c
index ecec317ed25..e5eb0b3f00f 100644
--- a/source/blender/sequencer/intern/strip_time.c
+++ b/source/blender/sequencer/intern/strip_time.c
@@ -60,7 +60,7 @@ float seq_give_frame_index(Sequence *seq, float timeline_frame)
}
if (seq->flag & SEQ_REVERSE_FRAMES) {
- /*reverse frame in this sequence */
+ /* Reverse frame in this sequence. */
if (timeline_frame <= sta) {
frame_index = end - sta;
}
diff --git a/source/blender/sequencer/intern/utils.c b/source/blender/sequencer/intern/utils.c
index a287466dfb2..98640ea8a5c 100644
--- a/source/blender/sequencer/intern/utils.c
+++ b/source/blender/sequencer/intern/utils.c
@@ -530,7 +530,7 @@ void SEQ_alpha_mode_from_file_extension(Sequence *seq)
/* called on draw, needs to be fast,
* we could cache and use a flag if we want to make checks for file paths resolving for eg. */
-bool SEQ_sequence_has_source(Sequence *seq)
+bool SEQ_sequence_has_source(const Sequence *seq)
{
switch (seq->type) {
case SEQ_TYPE_MASK: