diff --git a/Main/src/main/java/com/chameleonvision/vision/VisionProcess.java b/Main/src/main/java/com/chameleonvision/vision/VisionProcess.java index f8d284355..b98caf396 100644 --- a/Main/src/main/java/com/chameleonvision/vision/VisionProcess.java +++ b/Main/src/main/java/com/chameleonvision/vision/VisionProcess.java @@ -269,6 +269,9 @@ public class VisionProcess { addPipeline(new CVPipeline2d((CVPipeline2dSettings) settings)); } } + public void deletePipeline(int index){ + pipelines.remove(index); + } public CameraCapture getCamera() { return cameraCapture; diff --git a/Main/src/main/java/com/chameleonvision/web/SocketHandler.java b/Main/src/main/java/com/chameleonvision/web/SocketHandler.java index d25b8af24..323c06d92 100644 --- a/Main/src/main/java/com/chameleonvision/web/SocketHandler.java +++ b/Main/src/main/java/com/chameleonvision/web/SocketHandler.java @@ -105,19 +105,15 @@ public class SocketHandler { sendFullSettings(); VisionManager.saveCurrentCameraPipelines(); break; - // TODO: (HIGH) this never worked before, re-visit now that VisionProcess is written sanely case "deleteCurrentPipeline": -// int currentIndex = currentProcess.getCurrentPipelineIndex(); -// int nextIndex; -// if (currentIndex == currentProcess.getPipelines().size() - 1) { -// nextIndex = currentIndex - 1; -// } else { -// nextIndex = currentIndex; -// } -// cam.deletePipeline(); -// cam.setCurrentPipelineIndex(nextIndex); -// sendFullSettings(); -// VisionManager.saveCurrentCameraPipelines(); + int currentIndex = currentProcess.getCurrentPipelineIndex(); + if (currentIndex == currentProcess.getPipelines().size() - 1) { + currentProcess.setPipeline(currentIndex -1, false); + } + currentProcess.deletePipeline(currentIndex); + sendFullSettings(); + VisionManager.saveCurrentCameraPipelines(); +// TODO remove pipeline file after deleting break; case "save": ConfigManager.saveGeneralSettings();