- MaskAutos *autos;
- MaskAuto *keyframe;
- Track *track;
- MaskPoint *point;
- SubMask *mask;
- int total_points;
-
-// Get existing keyframe
- ((CWindowMaskGUI*)gui)->get_keyframe(track, autos, keyframe, mask, point, 0);
- if( track ) {
- mwindow->undo->update_undo_before(_("clr points"), 0);
-#ifdef USE_KEYFRAME_SPANNING
-// Create temp keyframe
- MaskAuto temp_keyframe(mwindow->edl, autos);
- temp_keyframe.copy_data(keyframe);
- SubMask *submask = temp_keyframe.get_submask(mwindow->edl->session->cwindow_mask);
- submask->points.remove_all_objects();
- total_points = 0;
-// Commit change to span of keyframes
- ((MaskAutos*)track->automation->autos[AUTOMATION_MASK])->update_parameter(&temp_keyframe);
-#else
- MaskAuto *current = (MaskAuto*)autos->default_auto;
- while( current ) {
- SubMask *submask = current->get_submask(mwindow->edl->session->cwindow_mask);
- submask->points.clear();
- current = current == (MaskAuto*)autos->default_auto ?
- (MaskAuto*)autos->first : (MaskAuto*)NEXT;
- }
- total_points = 0;
-#endif
- if( mwindow->cwindow->gui->affected_point >= total_points )
- mwindow->cwindow->gui->affected_point =
- total_points > 0 ? total_points-1 : 0;
-
- gui->update();
- gui->update_preview();
- mwindow->undo->update_undo_after(_("clr points"), LOAD_AUTOMATION);
- }
-
- return 1;
+ float v = 0;
+ CWindowMaskGUI * mask_gui = (CWindowMaskGUI*)gui;
+ mask_gui->feather->update(v);
+ mask_gui->feather_slider->update(v);
+ return mask_gui->feather->update_value(v);