forked from j62/ctbrec
1
0
Fork 0

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.
This commit is contained in:
0xboobface 2018-12-17 17:11:45 +01:00
parent 47d8101ce8
commit e362980028
4 changed files with 13 additions and 9 deletions

View File

@ -118,6 +118,9 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
preview.setCellValueFactory(cdf -> new SimpleStringProperty("")); preview.setCellValueFactory(cdf -> new SimpleStringProperty(""));
preview.setEditable(false); preview.setEditable(false);
preview.setId("preview"); preview.setId("preview");
if(!Config.getInstance().getSettings().livePreviews) {
preview.setVisible(false);
}
TableColumn<JavaFxModel, String> name = new TableColumn<>("Model"); TableColumn<JavaFxModel, String> name = new TableColumn<>("Model");
name.setPrefWidth(200); name.setPrefWidth(200);
name.setCellValueFactory(new PropertyValueFactory<JavaFxModel, String>("displayName")); name.setCellValueFactory(new PropertyValueFactory<JavaFxModel, String>("displayName"));

View File

@ -174,7 +174,7 @@ public class ThumbCell extends StackPane {
StackPane.setAlignment(pausedIndicator, Pos.TOP_LEFT); StackPane.setAlignment(pausedIndicator, Pos.TOP_LEFT);
getChildren().add(pausedIndicator); getChildren().add(pausedIndicator);
if(Config.getInstance().getSettings().previewInThumbnails) { if(Config.getInstance().getSettings().livePreviews) {
getChildren().add(createPreviewTrigger()); getChildren().add(createPreviewTrigger());
} }

View File

@ -64,7 +64,7 @@ public class SettingsTab extends Tab implements TabSelectionListener {
private CheckBox chooseStreamQuality = new CheckBox(); private CheckBox chooseStreamQuality = new CheckBox();
private CheckBox multiplePlayers = new CheckBox(); private CheckBox multiplePlayers = new CheckBox();
private CheckBox updateThumbnails = new CheckBox(); private CheckBox updateThumbnails = new CheckBox();
private CheckBox previewInThumbnails = new CheckBox(); private CheckBox livePreviews = new CheckBox();
private CheckBox showPlayerStarting = new CheckBox(); private CheckBox showPlayerStarting = new CheckBox();
private RadioButton recordLocal; private RadioButton recordLocal;
private RadioButton recordRemote; 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)); GridPane.setMargin(updateThumbnails, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN));
layout.add(updateThumbnails, 1, row++); layout.add(updateThumbnails, 1, row++);
l = new Label("Preview in thumbnails"); l = new Label("Enable live previews (experimental)");
layout.add(l, 0, row); layout.add(l, 0, row);
previewInThumbnails.setSelected(Config.getInstance().getSettings().previewInThumbnails); livePreviews.setSelected(Config.getInstance().getSettings().livePreviews);
previewInThumbnails.setOnAction((e) -> { livePreviews.setOnAction((e) -> {
Config.getInstance().getSettings().previewInThumbnails = previewInThumbnails.isSelected(); Config.getInstance().getSettings().livePreviews = livePreviews.isSelected();
saveConfig(); saveConfig();
showRestartRequired();
}); });
GridPane.setMargin(l, new Insets(3, 0, 0, 0)); GridPane.setMargin(l, new Insets(3, 0, 0, 0));
GridPane.setMargin(previewInThumbnails, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); GridPane.setMargin(livePreviews, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN));
layout.add(previewInThumbnails, 1, row++); layout.add(livePreviews, 1, row++);
l = new Label("Start Tab"); l = new Label("Start Tab");
layout.add(l, 0, row); layout.add(l, 0, row);

View File

@ -69,7 +69,7 @@ public class Settings {
public List<Model> models = new ArrayList<>(); public List<Model> models = new ArrayList<>();
public List<EventHandlerConfiguration> eventHandlers = new ArrayList<>(); public List<EventHandlerConfiguration> eventHandlers = new ArrayList<>();
public boolean determineResolution = false; public boolean determineResolution = false;
public boolean previewInThumbnails = true; public boolean livePreviews = false;
public boolean requireAuthentication = false; public boolean requireAuthentication = false;
public boolean chooseStreamQuality = false; public boolean chooseStreamQuality = false;
public int maximumResolution = 0; public int maximumResolution = 0;