}
Auto *result = 0;
- position = edl->align_to_frame(position, 0);
+ get_prev_auto(track->to_units(position, 0), PLAY_FORWARD, result);
+//printf("Autos::get_auto_for_editing %p %p %p\n", default_auto, first, result);
+ if( !result || !EQUIV(track->from_units(result->position), position) ) {
+ if( edl->session->auto_keyframes ) {
+ position = edl->align_to_frame(position, 0);
+ result = insert_auto(track->to_units(position, 0));
+ }
+ }
//printf("Autos::get_auto_for_editing %p %p\n", first, default_auto);
- result = edl->session->auto_keyframes ?
- insert_auto(track->to_units(position, 0)) :
- get_prev_auto(track->to_units(position, 0), PLAY_FORWARD, result);
-
-//printf("Autos::get_auto_for_editing %p %p %p\n", default_auto, first, result);
return result;
}