diff options
Diffstat (limited to 'source/blender/editors/space_clip')
-rw-r--r-- | source/blender/editors/space_clip/clip_buttons.c | 6 | ||||
-rw-r--r-- | source/blender/editors/space_clip/clip_editor.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_clip/clip_ops.c | 10 | ||||
-rw-r--r-- | source/blender/editors/space_clip/tracking_ops_track.c | 26 |
4 files changed, 34 insertions, 10 deletions
diff --git a/source/blender/editors/space_clip/clip_buttons.c b/source/blender/editors/space_clip/clip_buttons.c index d555238e949..7379891543b 100644 --- a/source/blender/editors/space_clip/clip_buttons.c +++ b/source/blender/editors/space_clip/clip_buttons.c @@ -809,12 +809,12 @@ void uiTemplateMovieclipInformation(uiLayout *layout, char str[1024]; size_t ofs = 0; - ofs += BLI_snprintf(str + ofs, sizeof(str) - ofs, TIP_("%d x %d"), width, height); + ofs += BLI_snprintf_rlen(str + ofs, sizeof(str) - ofs, TIP_("%d x %d"), width, height); if (ibuf) { if (ibuf->rect_float) { if (ibuf->channels != 4) { - ofs += BLI_snprintf( + ofs += BLI_snprintf_rlen( str + ofs, sizeof(str) - ofs, TIP_(", %d float channel(s)"), ibuf->channels); } else if (ibuf->planes == R_IMF_PLANES_RGBA) { @@ -837,7 +837,7 @@ void uiTemplateMovieclipInformation(uiLayout *layout, short frs_sec; float frs_sec_base; if (IMB_anim_get_fps(clip->anim, &frs_sec, &frs_sec_base, true)) { - ofs += BLI_snprintf( + ofs += BLI_snprintf_rlen( str + ofs, sizeof(str) - ofs, TIP_(", %.2f fps"), (float)frs_sec / frs_sec_base); } } diff --git a/source/blender/editors/space_clip/clip_editor.c b/source/blender/editors/space_clip/clip_editor.c index 2da13646a8b..9aa6a993c13 100644 --- a/source/blender/editors/space_clip/clip_editor.c +++ b/source/blender/editors/space_clip/clip_editor.c @@ -904,7 +904,7 @@ static void start_prefetch_threads(MovieClip *clip, queue.do_update = do_update; queue.progress = progress; - TaskPool *task_pool = BLI_task_pool_create(&queue, TASK_PRIORITY_LOW); + TaskPool *task_pool = BLI_task_pool_create(&queue, TASK_PRIORITY_LOW, TASK_ISOLATION_ON); for (int i = 0; i < tot_thread; i++) { BLI_task_pool_push(task_pool, prefetch_task_func, clip, false, NULL); } diff --git a/source/blender/editors/space_clip/clip_ops.c b/source/blender/editors/space_clip/clip_ops.c index 0c54a042a1a..369a6e7c944 100644 --- a/source/blender/editors/space_clip/clip_ops.c +++ b/source/blender/editors/space_clip/clip_ops.c @@ -1235,10 +1235,8 @@ static void do_movie_proxy(void *pjv, float *progress) { ProxyJob *pj = pjv; - Scene *scene = pj->scene; MovieClip *clip = pj->clip; struct MovieDistortion *distortion = NULL; - int cfra, sfra = SFRA, efra = EFRA; if (pj->index_context) { IMB_anim_index_rebuild(pj->index_context, stop, do_update, progress); @@ -1252,8 +1250,8 @@ static void do_movie_proxy(void *pjv, return; } - sfra = 1; - efra = clip->len; + const int sfra = 1; + const int efra = clip->len; if (build_undistort_count) { int threads = BLI_system_thread_count(); @@ -1265,7 +1263,7 @@ static void do_movie_proxy(void *pjv, BKE_tracking_distortion_set_threads(distortion, threads); } - for (cfra = sfra; cfra <= efra; cfra++) { + for (int cfra = sfra; cfra <= efra; cfra++) { BKE_movieclip_build_proxy_frame( clip, pj->clip_flag, distortion, cfra, build_undistort_sizes, build_undistort_count, 1); @@ -1431,7 +1429,7 @@ static void do_sequence_proxy(void *pjv, queue.do_update = do_update; queue.progress = progress; - TaskPool *task_pool = BLI_task_pool_create(&queue, TASK_PRIORITY_LOW); + TaskPool *task_pool = BLI_task_pool_create(&queue, TASK_PRIORITY_LOW, TASK_ISOLATION_ON); handles = MEM_callocN(sizeof(ProxyThread) * tot_thread, "proxy threaded handles"); for (int i = 0; i < tot_thread; i++) { ProxyThread *handle = &handles[i]; diff --git a/source/blender/editors/space_clip/tracking_ops_track.c b/source/blender/editors/space_clip/tracking_ops_track.c index 9882304d97d..0a99d1020f6 100644 --- a/source/blender/editors/space_clip/tracking_ops_track.c +++ b/source/blender/editors/space_clip/tracking_ops_track.c @@ -24,8 +24,11 @@ #include "MEM_guardedalloc.h" #include "BLI_math.h" +#include "BLI_string.h" #include "BLI_utildefines.h" +#include "BLT_translation.h" + #include "BKE_context.h" #include "BKE_global.h" #include "BKE_main.h" @@ -398,6 +401,28 @@ static int track_markers_modal(bContext *C, wmOperator *UNUSED(op), const wmEven return OPERATOR_PASS_THROUGH; } +static char *track_markers_desc(bContext *UNUSED(C), wmOperatorType *UNUSED(op), PointerRNA *ptr) +{ + const bool backwards = RNA_boolean_get(ptr, "backwards"); + const bool sequence = RNA_boolean_get(ptr, "sequence"); + + if (backwards && sequence) { + return BLI_strdup(TIP_("Track the selected markers backward for the entire clip")); + } + if (backwards && !sequence) { + return BLI_strdup(TIP_("Track the selected markers backward by one frame")); + } + if (!backwards && sequence) { + return BLI_strdup(TIP_("Track the selected markers forward for the entire clip")); + } + if (!backwards && !sequence) { + return BLI_strdup(TIP_("Track the selected markers forward by one frame")); + } + + /* Use default description. */ + return NULL; +} + void CLIP_OT_track_markers(wmOperatorType *ot) { /* identifiers */ @@ -410,6 +435,7 @@ void CLIP_OT_track_markers(wmOperatorType *ot) ot->invoke = track_markers_invoke; ot->modal = track_markers_modal; ot->poll = ED_space_clip_tracking_poll; + ot->get_description = track_markers_desc; /* flags */ ot->flag = OPTYPE_UNDO; |