- for(Auto *current = automation->autos[subscript + 1]->first;
- current;
- current = NEXT)
- {
- addto_value((FloatAuto*)current, offset_y);
+void VTrack::translate(int fauto, float dx, float dy, int all)
+{
+ if( all ) {
+ addto_value((FloatAuto*)automation->autos[fauto+0]->default_auto, dx);
+ addto_value((FloatAuto*)automation->autos[fauto+1]->default_auto, dy);
+ FloatAutos **fautos = (FloatAutos **)&automation->autos;
+ FloatAuto *xauto = (FloatAuto *)fautos[fauto+0]->first;
+ FloatAuto *yauto = (FloatAuto *)fautos[fauto+1]->first;
+ for( ; xauto; xauto=(FloatAuto *)xauto->next ) addto_value(xauto, dx);
+ for( ; yauto; yauto=(FloatAuto *)yauto->next ) addto_value(yauto, dy);
+ }
+ else {
+ FloatAutos **fautos = (FloatAutos **)&automation->autos;
+ FloatAuto *xauto = (FloatAuto *)fautos[fauto+0]->get_auto_for_editing(-1, 1);
+ FloatAuto *yauto = (FloatAuto *)fautos[fauto+1]->get_auto_for_editing(-1, 1);
+ addto_value(xauto, dx);
+ addto_value(yauto, dy);