From e362980028b3bbd6c72a024141fe9cd6189cbaa1 Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Mon, 17 Dec 2018 17:11:45 +0100 Subject: [PATCH] Make live previews experimental Add a setting to toggle live previews. When switched off, the thumbnails won't show the trigger and the recording table won't show the column. I did this, because the MediaPlayer sometimes bugs out. It then opens a lot of connections and further tries to open a stream end in an exception in the playlist parser. --- .../main/java/ctbrec/ui/RecordedModelsTab.java | 3 +++ client/src/main/java/ctbrec/ui/ThumbCell.java | 2 +- .../main/java/ctbrec/ui/settings/SettingsTab.java | 15 ++++++++------- common/src/main/java/ctbrec/Settings.java | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/client/src/main/java/ctbrec/ui/RecordedModelsTab.java b/client/src/main/java/ctbrec/ui/RecordedModelsTab.java index ab693d3f..020512c5 100644 --- a/client/src/main/java/ctbrec/ui/RecordedModelsTab.java +++ b/client/src/main/java/ctbrec/ui/RecordedModelsTab.java @@ -118,6 +118,9 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener { preview.setCellValueFactory(cdf -> new SimpleStringProperty(" ▶ ")); preview.setEditable(false); preview.setId("preview"); + if(!Config.getInstance().getSettings().livePreviews) { + preview.setVisible(false); + } TableColumn name = new TableColumn<>("Model"); name.setPrefWidth(200); name.setCellValueFactory(new PropertyValueFactory("displayName")); diff --git a/client/src/main/java/ctbrec/ui/ThumbCell.java b/client/src/main/java/ctbrec/ui/ThumbCell.java index fa3d4746..4f1cecc8 100644 --- a/client/src/main/java/ctbrec/ui/ThumbCell.java +++ b/client/src/main/java/ctbrec/ui/ThumbCell.java @@ -174,7 +174,7 @@ public class ThumbCell extends StackPane { StackPane.setAlignment(pausedIndicator, Pos.TOP_LEFT); getChildren().add(pausedIndicator); - if(Config.getInstance().getSettings().previewInThumbnails) { + if(Config.getInstance().getSettings().livePreviews) { getChildren().add(createPreviewTrigger()); } diff --git a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java index 4585978f..6ced7598 100644 --- a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java +++ b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java @@ -64,7 +64,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { private CheckBox chooseStreamQuality = new CheckBox(); private CheckBox multiplePlayers = new CheckBox(); private CheckBox updateThumbnails = new CheckBox(); - private CheckBox previewInThumbnails = new CheckBox(); + private CheckBox livePreviews = new CheckBox(); private CheckBox showPlayerStarting = new CheckBox(); private RadioButton recordLocal; private RadioButton recordRemote; @@ -462,16 +462,17 @@ public class SettingsTab extends Tab implements TabSelectionListener { GridPane.setMargin(updateThumbnails, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); layout.add(updateThumbnails, 1, row++); - l = new Label("Preview in thumbnails"); + l = new Label("Enable live previews (experimental)"); layout.add(l, 0, row); - previewInThumbnails.setSelected(Config.getInstance().getSettings().previewInThumbnails); - previewInThumbnails.setOnAction((e) -> { - Config.getInstance().getSettings().previewInThumbnails = previewInThumbnails.isSelected(); + livePreviews.setSelected(Config.getInstance().getSettings().livePreviews); + livePreviews.setOnAction((e) -> { + Config.getInstance().getSettings().livePreviews = livePreviews.isSelected(); saveConfig(); + showRestartRequired(); }); GridPane.setMargin(l, new Insets(3, 0, 0, 0)); - GridPane.setMargin(previewInThumbnails, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); - layout.add(previewInThumbnails, 1, row++); + GridPane.setMargin(livePreviews, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); + layout.add(livePreviews, 1, row++); l = new Label("Start Tab"); layout.add(l, 0, row); diff --git a/common/src/main/java/ctbrec/Settings.java b/common/src/main/java/ctbrec/Settings.java index eb480855..c96cf985 100644 --- a/common/src/main/java/ctbrec/Settings.java +++ b/common/src/main/java/ctbrec/Settings.java @@ -69,7 +69,7 @@ public class Settings { public List models = new ArrayList<>(); public List eventHandlers = new ArrayList<>(); public boolean determineResolution = false; - public boolean previewInThumbnails = true; + public boolean livePreviews = false; public boolean requireAuthentication = false; public boolean chooseStreamQuality = false; public int maximumResolution = 0;