/* (non-Javadoc) * @see de.artcom.timeline.controller.TimeRangeController#mouseDragged(java.awt.event.MouseEvent) */ @Override public void mouseDragged(MouseEvent e) { super.mouseDragged(e); boolean _myPressedShift = (e.getModifiersEx() & MouseEvent.SHIFT_DOWN_MASK) == MouseEvent.SHIFT_DOWN_MASK; if (_myPressedShift) { switch (_myLoopAction) { case MOVE_END: _myTrackDataController .trackData() .scaleRange(_myLoopStart, _myLoopEnd, _myNewLoopStart, _myNewLoopEnd); break; case MOVE_BOTH: if (_myMoveList == null) break; for (ControlPoint myPoint : _myMoveList) { _myTrackDataController .trackData() .move( myPoint, new ControlPoint( myPoint.time() + (_myNewLoopStart - _myLoopStart), myPoint.value())); } break; default: break; } } }
public void assignTrackData(TrackController theController) { if (_myTrackDataController != null) { _myTrackDataController.clearSelection(); } _myTrackDataController = theController; _myTransportView = _myTrackDataController; _myTrackDataController.selection(_mySelection); }
public void replace() { if (_myLastSelection.size() == 0) { return; } TrackData myModel = _myTrackDataController.trackData(); double myRange = _myLastUpperBound - _myLastLowerBound; ArrayList<ControlPoint> myInsertion = prepareInsertion(_myTimeRange.start(), myRange, myModel); myModel.replaceAll(_myTimeRange.start(), myRange, myInsertion); _myTrackDataController.view().render(); }
public void insert() { if (_myLastSelection.size() == 0) { return; } TrackData myModel = _myTrackDataController.trackData(); ArrayList<ControlPoint> myInsertion = prepareInsertion(_myTimeRange.start(), 0, myModel); // insert last selection at lower bound of current selection myModel.insertAll(_myTimeRange.start(), _myTimeRange.range(), myInsertion); _myTrackDataController.view().render(); }
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 mouseMoved(MouseEvent e) { double myCurveX = _myTransportView.viewXToTime(e.getX()); int myLoopStart = _myTransportView.timeToViewX(_myTimeRange.start()); int myLoopEnd = _myTransportView.timeToViewX(_myTimeRange.end()); if (CCMath.abs(myLoopStart - e.getX()) < 5) { _myTrackDataController.trackDataView().moveRangeCursor(); } else if (CCMath.abs(myLoopEnd - e.getX()) < 5) { _myTrackDataController.trackDataView().moveRangeCursor(); } else if (myCurveX > _myTimeRange.start() && myCurveX < _myTimeRange.end()) { _myTrackDataController.trackDataView().moveCursor(); } else { _myTrackDataController.trackDataView().defaultCursour(); } }
public void handleMoveSegmentTo(ActionEvent actionEvent) { try { FXMLLoader loader = new FXMLLoader(getClass().getResource("/com/view/moveSegmentPopup.fxml")); AnchorPane pane = (AnchorPane) loader.load(); Stage dialogStage = new Stage(); dialogStage.setTitle("Move selected segment to track"); dialogStage.initModality(Modality.WINDOW_MODAL); dialogStage.initOwner(Main.primaryStage); Scene scene = new Scene(pane); dialogStage.setScene(scene); MoveSegmentPopupController controller = loader.getController(); controller.setDialogStage(dialogStage); dialogStage.showAndWait(); if (controller.isOkClicked()) { int beat = controller.getBeat(); String trackName = controller.getTrack(); ObservableList<Node> tracksList = Controller.getComposeAreaVBox().getChildren(); for (int i = 0; i < tracksList.size(); i++) { TrackController track = (TrackController) tracksList.get(i); if (track.nameProperty().getValue().equals(trackName)) { Rectangle rectangle = (Rectangle) track.getTrackBeats().getChildren().get(beat - 1); MusicSegmentController newSegment = new MusicSegmentController(this.name, this.length, this.width, this.audioPath); newSegment.setLayoutX(rectangle.getLayoutX()); newSegment.setLayoutY(i * 55 + 6); Controller.anchorPaneComposition.getChildren().add(newSegment); } } } } catch (IOException ex) { ex.printStackTrace(); } }
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)); }
/* (non-Javadoc) * @see de.artcom.timeline.controller.TimeRangeController#mousePressed(java.awt.event.MouseEvent) */ @Override public void mousePressed(MouseEvent e) { super.mousePressed(e); _myMoveList = null; boolean _myPressedShift = (e.getModifiersEx() & MouseEvent.SHIFT_DOWN_MASK) == MouseEvent.SHIFT_DOWN_MASK; if (_myPressedShift) { switch (_myLoopAction) { case MOVE_BOTH: _myMoveList = _myTrackDataController.trackData().rangeList(_myLoopStart, _myLoopEnd); break; default: break; } } }
/* (non-Javadoc) * @see de.artcom.timeline.controller.TimeRangeController#mouseReleased(java.awt.event.MouseEvent) */ @Override public void mouseReleased(MouseEvent theE) { super.mouseReleased(theE); _myTrackDataController.view().render(); }
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(); }