-
- if(mwindow->edl->session->cwindow_operation == CWINDOW_CAMERA)
- {
- affected_x_autos = (FloatAutos*)gui->affected_track->automation->autos[AUTOMATION_CAMERA_X];
- affected_y_autos = (FloatAutos*)gui->affected_track->automation->autos[AUTOMATION_CAMERA_Y];
- affected_z_autos = (FloatAutos*)gui->affected_track->automation->autos[AUTOMATION_CAMERA_Z];
- }
- else
- {
- affected_x_autos = (FloatAutos*)gui->affected_track->automation->autos[AUTOMATION_PROJECTOR_X];
- affected_y_autos = (FloatAutos*)gui->affected_track->automation->autos[AUTOMATION_PROJECTOR_Y];
- affected_z_autos = (FloatAutos*)gui->affected_track->automation->autos[AUTOMATION_PROJECTOR_Z];
+ FloatAuto *prev_x = 0, *next_x = 0;
+ float new_x = affected_x_autos->get_value(track_position, PLAY_FORWARD, prev_x, next_x);
+ FloatAuto *prev_y = 0, *next_y = 0;
+ float new_y = affected_y_autos->get_value(track_position, PLAY_FORWARD, prev_y, next_y);
+ FloatAuto *prev_z = 0, *next_z = 0;
+ float new_z = affected_z_autos->get_value(track_position, PLAY_FORWARD, prev_z, next_z);
+ int zooming = gui->translating_zoom, created;
+ gui->affected_x = (FloatAuto*)gui->cwindow->calculate_affected_auto(
+ affected_x_autos, !zooming, &created, 0);
+ if( created ) {
+ gui->affected_x->set_value(new_x);
+ redraw_canvas = 1;