Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_action/action_edit.c
| Show First 20 Lines • Show All 270 Lines • ▼ Show 20 Lines | static int actkeys_previewrange_exec(bContext *C, wmOperator *UNUSED(op)) | ||||
| } | } | ||||
| if (ac.scene == NULL) { | if (ac.scene == NULL) { | ||||
| return OPERATOR_CANCELLED; | return OPERATOR_CANCELLED; | ||||
| } | } | ||||
| scene = ac.scene; | scene = ac.scene; | ||||
| /* set the range directly */ | /* set the range directly */ | ||||
| get_keyframe_extents(&ac, &min, &max, false); | get_keyframe_extents(&ac, &min, &max, true); | ||||
| scene->r.flag |= SCER_PRV_RANGE; | scene->r.flag |= SCER_PRV_RANGE; | ||||
| scene->r.psfra = floorf(min); | scene->r.psfra = floorf(min); | ||||
| scene->r.pefra = ceilf(max); | scene->r.pefra = ceilf(max); | ||||
| if (scene->r.psfra == scene->r.pefra) { | if (scene->r.psfra == scene->r.pefra) { | ||||
| scene->r.pefra = scene->r.psfra + 1; | scene->r.pefra = scene->r.psfra + 1; | ||||
| } | } | ||||
| /* set notifier that things have changed */ | /* set notifier that things have changed */ | ||||
| /* XXX err... there's nothing for frame ranges yet, but this should do fine too */ | /* XXX err... there's nothing for frame ranges yet, but this should do fine too */ | ||||
| WM_event_add_notifier(C, NC_SCENE | ND_FRAME, ac.scene); | WM_event_add_notifier(C, NC_SCENE | ND_FRAME, ac.scene); | ||||
| return OPERATOR_FINISHED; | return OPERATOR_FINISHED; | ||||
| } | } | ||||
| void ACTION_OT_previewrange_set(wmOperatorType *ot) | void ACTION_OT_previewrange_set(wmOperatorType *ot) | ||||
| { | { | ||||
| /* identifiers */ | /* identifiers */ | ||||
| ot->name = "Auto-Set Preview Range"; | ot->name = "Set Preview Range to Selected"; | ||||
| ot->idname = "ACTION_OT_previewrange_set"; | ot->idname = "ACTION_OT_previewrange_set"; | ||||
| ot->description = "Set Preview Range based on extents of selected Keyframes"; | ot->description = "Set Preview Range based on extents of selected Keyframes"; | ||||
| /* api callbacks */ | /* api callbacks */ | ||||
| ot->exec = actkeys_previewrange_exec; | ot->exec = actkeys_previewrange_exec; | ||||
| ot->poll = ED_operator_action_active; | ot->poll = ED_operator_action_active; | ||||
| /* flags */ | /* flags */ | ||||
| ▲ Show 20 Lines • Show All 1,657 Lines • Show Last 20 Lines | |||||