public void cut() {
    copy();

    TrackData myTrackData = _myTrackDataController.trackData();

    ArrayList<ControlPoint> myRange =
        myTrackData.copyRange(_myTimeRange.start(), _myTimeRange.end());
    myTrackData.removeAll(_myTimeRange.start(), _myTimeRange.end());

    UndoHistory.instance()
        .apply(new CutAction(_myTrackDataController, myRange, _myTimeRange.clone()));
    _myTrackDataController.view().render();
  }
  public void copy() {
    TrackData myTrackData = _myTrackDataController.trackData();

    //		double myLowValue = myTrackData.getValue(_myTimeRange.start());
    //		double myHighValue = myTrackData.getValue(_myTimeRange.end());

    ArrayList<ControlPoint> myRange =
        myTrackData.copyRange(_myTimeRange.start(), _myTimeRange.end());
    _myLastSelection = new ArrayList<ControlPoint>();
    _myLastLowerBound = _myTimeRange.start();
    _myLastUpperBound = _myTimeRange.end();
    //		_myLastSelection.add(new ControlPoint(_myTimeRange.start(), myLowValue));
    _myLastSelection.addAll(myRange);
    //		_myLastSelection.add(new ControlPoint(_myTimeRange.end(), myHighValue));
  }
 public void cutTime(TrackView theTimelinePanel) {
   TrackData myModel = _myTrackDataController.trackData();
   _myLastSelection = myModel.copyRange(_myTimeRange.start(), _myTimeRange.end());
   myModel.cutRange(_myTimeRange.start(), _myTimeRange.end());
   _myTrackDataController.view().render();
 }