- Clip draw as scene strip background works fine again

- Path cleanup performed from curve view now clears only active track
  instead of all selected tracks.
This commit is contained in:
Sergey Sharybin 2012-03-08 16:27:53 +00:00
parent 3675fab31d
commit 895b99715b
3 changed files with 36 additions and 14 deletions

@ -2045,7 +2045,7 @@ static ImBuf * seq_render_scene_strip_impl(
/* opengl offscreen render */
scene_update_for_newframe(context.bmain, scene, scene->lay);
ibuf = sequencer_view3d_cb(scene, camera, context.rectx, context.recty,
IB_rect, context.scene->r.seq_prev_type, FALSE, err_out);
IB_rect, context.scene->r.seq_prev_type, TRUE, err_out);
if(ibuf == NULL) {
fprintf(stderr, "seq_render_scene_strip_impl failed to get opengl buffer: %s\n", err_out);
}

@ -411,14 +411,6 @@ static void clip_keymap(struct wmKeyConfig *keyconf)
RNA_boolean_set(kmi->ptr, "backwards", TRUE);
RNA_boolean_set(kmi->ptr, "sequence", TRUE);
/* clean-up */
kmi= WM_keymap_add_item(keymap, "CLIP_OT_clear_track_path", TKEY, KM_PRESS, KM_ALT, 0);
RNA_enum_set(kmi->ptr, "action", TRACK_CLEAR_REMAINED);
kmi= WM_keymap_add_item(keymap, "CLIP_OT_clear_track_path", TKEY, KM_PRESS, KM_SHIFT, 0);
RNA_enum_set(kmi->ptr, "action", TRACK_CLEAR_UPTO);
kmi= WM_keymap_add_item(keymap, "CLIP_OT_clear_track_path", TKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0);
RNA_enum_set(kmi->ptr, "action", TRACK_CLEAR_ALL);
/* mode */
kmi= WM_keymap_add_item(keymap, "CLIP_OT_mode_set", TABKEY, KM_PRESS, 0, 0);
RNA_enum_set(kmi->ptr, "mode", SC_MODE_RECONSTRUCTION);
@ -546,6 +538,17 @@ static void clip_keymap(struct wmKeyConfig *keyconf)
transform_keymap_for_space(keyconf, keymap, SPACE_CLIP);
/* clean-up */
kmi= WM_keymap_add_item(keymap, "CLIP_OT_clear_track_path", TKEY, KM_PRESS, KM_ALT, 0);
RNA_enum_set(kmi->ptr, "action", TRACK_CLEAR_REMAINED);
RNA_boolean_set(kmi->ptr, "clear_active", FALSE);
kmi= WM_keymap_add_item(keymap, "CLIP_OT_clear_track_path", TKEY, KM_PRESS, KM_SHIFT, 0);
RNA_enum_set(kmi->ptr, "action", TRACK_CLEAR_UPTO);
RNA_boolean_set(kmi->ptr, "clear_active", FALSE);
kmi= WM_keymap_add_item(keymap, "CLIP_OT_clear_track_path", TKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0);
RNA_enum_set(kmi->ptr, "action", TRACK_CLEAR_ALL);
RNA_boolean_set(kmi->ptr, "clear_active", FALSE);
/* ******** Hotkeys avalaible for preview region only ******** */
keymap= WM_keymap_find(keyconf, "Clip Graph Editor", SPACE_CLIP, 0);
@ -575,6 +578,17 @@ static void clip_keymap(struct wmKeyConfig *keyconf)
kmi= WM_keymap_add_item(keymap, "WM_OT_context_toggle", LKEY, KM_PRESS, 0, 0);
RNA_string_set(kmi->ptr, "data_path", "space_data.lock_time_cursor");
/* clean-up */
kmi= WM_keymap_add_item(keymap, "CLIP_OT_clear_track_path", TKEY, KM_PRESS, KM_ALT, 0);
RNA_enum_set(kmi->ptr, "action", TRACK_CLEAR_REMAINED);
RNA_boolean_set(kmi->ptr, "clear_active", TRUE);
kmi= WM_keymap_add_item(keymap, "CLIP_OT_clear_track_path", TKEY, KM_PRESS, KM_SHIFT, 0);
RNA_enum_set(kmi->ptr, "action", TRACK_CLEAR_UPTO);
RNA_boolean_set(kmi->ptr, "clear_active", TRUE);
kmi= WM_keymap_add_item(keymap, "CLIP_OT_clear_track_path", TKEY, KM_PRESS, KM_ALT|KM_SHIFT, 0);
RNA_enum_set(kmi->ptr, "action", TRACK_CLEAR_ALL);
RNA_boolean_set(kmi->ptr, "clear_active", TRUE);
transform_keymap_for_space(keyconf, keymap, SPACE_CLIP);
}

@ -1824,13 +1824,20 @@ static int clear_track_path_exec(bContext *C, wmOperator *op)
MovieTrackingTrack *track;
ListBase *tracksbase= BKE_tracking_get_tracks(&clip->tracking);
int action= RNA_enum_get(op->ptr, "action");
int clear_active= RNA_boolean_get(op->ptr, "clear_active");
track= tracksbase->first;
while(track) {
if(TRACK_VIEW_SELECTED(sc, track))
BKE_tracking_clear_path(track, sc->user.framenr, action);
if (clear_active) {
track= BKE_tracking_active_track(&clip->tracking);
BKE_tracking_clear_path(track, sc->user.framenr, action);
}
else {
track= tracksbase->first;
while(track) {
if(TRACK_VIEW_SELECTED(sc, track))
BKE_tracking_clear_path(track, sc->user.framenr, action);
track= track->next;
track= track->next;
}
}
WM_event_add_notifier(C, NC_MOVIECLIP|NA_EVALUATED, clip);
@ -1861,6 +1868,7 @@ void CLIP_OT_clear_track_path(wmOperatorType *ot)
/* proeprties */
RNA_def_enum(ot->srna, "action", clear_path_actions, TRACK_CLEAR_REMAINED, "Action", "Clear action to execute");
RNA_def_boolean(ot->srna, "clear_active", 0, "Clear Active", "Clear active track only instead of all selected tracks");
}
/********************** disable markers operator *********************/