forked from j62/ctbrec
Add settings for FFmpeg
This commit is contained in:
parent
855604aab5
commit
208aa16c80
|
@ -77,6 +77,8 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
|||
private TextField onlineCheckIntervalInSecs;
|
||||
private TextField leaveSpaceOnDevice;
|
||||
private TextField minimumLengthInSecs;
|
||||
private TextField ffmpegParameters;
|
||||
private TextField fileExtension;
|
||||
private CheckBox useAuthentication = new CheckBox();
|
||||
private CheckBox useTLS = new CheckBox();
|
||||
private CheckBox chooseStreamQuality = new CheckBox();
|
||||
|
@ -447,7 +449,39 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
|||
}
|
||||
});
|
||||
GridPane.setMargin(minimumLengthInSecs, new Insets(0, 0, 0, CHECKBOX_MARGIN));
|
||||
layout.add(minimumLengthInSecs, 1, row);
|
||||
layout.add(minimumLengthInSecs, 1, row++);
|
||||
|
||||
tt = new Tooltip("FFmpeg parameters to use when merging stream segments");
|
||||
l = new Label("FFmpeg parameters");
|
||||
l.setTooltip(tt);
|
||||
layout.add(l, 0, row);
|
||||
String ffmpegParams = Config.getInstance().getSettings().ffmpegMergedDownloadArgs;
|
||||
ffmpegParameters = new TextField(ffmpegParams);
|
||||
ffmpegParameters.setTooltip(tt);
|
||||
ffmpegParameters.textProperty().addListener((observable, oldValue, newValue) -> {
|
||||
if(!ffmpegParameters.getText().isEmpty()) {
|
||||
Config.getInstance().getSettings().ffmpegMergedDownloadArgs = ffmpegParameters.getText();
|
||||
saveConfig();
|
||||
}
|
||||
});
|
||||
GridPane.setMargin(ffmpegParameters, new Insets(0, 0, 0, CHECKBOX_MARGIN));
|
||||
layout.add(ffmpegParameters, 1, row++);
|
||||
|
||||
tt = new Tooltip("File extension to use for recordings");
|
||||
l = new Label("File Extension");
|
||||
l.setTooltip(tt);
|
||||
layout.add(l, 0, row);
|
||||
String fileSuffix = Config.getInstance().getSettings().ffmpegFileSuffix;
|
||||
fileExtension = new TextField(fileSuffix);
|
||||
fileExtension.setTooltip(tt);
|
||||
fileExtension.textProperty().addListener((observable, oldValue, newValue) -> {
|
||||
if(!fileExtension.getText().isEmpty()) {
|
||||
Config.getInstance().getSettings().ffmpegFileSuffix = fileExtension.getText();
|
||||
saveConfig();
|
||||
}
|
||||
});
|
||||
GridPane.setMargin(fileExtension, new Insets(0, 0, 0, CHECKBOX_MARGIN));
|
||||
layout.add(fileExtension, 1, row);
|
||||
|
||||
TitledPane locations = new TitledPane("Recorder", layout);
|
||||
locations.setCollapsible(false);
|
||||
|
@ -534,6 +568,7 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
|||
GridPane.setFillWidth(mediaPlayer, true);
|
||||
GridPane.setHgrow(mediaPlayer, Priority.ALWAYS);
|
||||
GridPane.setMargin(mediaPlayer, new Insets(0, 0, 0, CHECKBOX_MARGIN));
|
||||
GridPane.setColumnSpan(mediaPlayer, 3);
|
||||
layout.add(mediaPlayer, 1, row++);
|
||||
|
||||
Label l = new Label("Allow multiple players");
|
||||
|
@ -545,10 +580,10 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
|||
});
|
||||
GridPane.setMargin(l, new Insets(3, 0, 0, 0));
|
||||
GridPane.setMargin(multiplePlayers, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN));
|
||||
layout.add(multiplePlayers, 1, row++);
|
||||
layout.add(multiplePlayers, 1, row);
|
||||
|
||||
l = new Label("Show \"Player Starting\" Message");
|
||||
layout.add(l, 0, row);
|
||||
layout.add(l, 2, row);
|
||||
showPlayerStarting.setSelected(Config.getInstance().getSettings().showPlayerStarting);
|
||||
showPlayerStarting.setOnAction(e -> {
|
||||
Config.getInstance().getSettings().showPlayerStarting = showPlayerStarting.isSelected();
|
||||
|
@ -556,7 +591,7 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
|||
});
|
||||
GridPane.setMargin(l, new Insets(3, 0, 0, 0));
|
||||
GridPane.setMargin(showPlayerStarting, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN));
|
||||
layout.add(showPlayerStarting, 1, row++);
|
||||
layout.add(showPlayerStarting, 3, row++);
|
||||
|
||||
l = new Label("Display stream resolution in overview");
|
||||
layout.add(l, 0, row);
|
||||
|
@ -568,10 +603,10 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
|||
});
|
||||
GridPane.setMargin(l, new Insets(3, 0, 0, 0));
|
||||
GridPane.setMargin(loadResolution, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN));
|
||||
layout.add(loadResolution, 1, row++);
|
||||
layout.add(loadResolution, 1, row);
|
||||
|
||||
l = new Label("Manually select stream quality");
|
||||
layout.add(l, 0, row);
|
||||
layout.add(l, 2, row);
|
||||
chooseStreamQuality.setSelected(Config.getInstance().getSettings().chooseStreamQuality);
|
||||
chooseStreamQuality.setOnAction(e -> {
|
||||
Config.getInstance().getSettings().chooseStreamQuality = chooseStreamQuality.isSelected();
|
||||
|
@ -579,7 +614,7 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
|||
});
|
||||
GridPane.setMargin(l, new Insets(3, 0, 0, 0));
|
||||
GridPane.setMargin(chooseStreamQuality, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN));
|
||||
layout.add(chooseStreamQuality, 1, row++);
|
||||
layout.add(chooseStreamQuality, 3, row++);
|
||||
|
||||
l = new Label("Enable live previews (experimental)");
|
||||
layout.add(l, 0, row);
|
||||
|
@ -591,12 +626,12 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
|||
});
|
||||
GridPane.setMargin(l, new Insets(3, 0, 0, 0));
|
||||
GridPane.setMargin(livePreviews, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN));
|
||||
layout.add(livePreviews, 1, row++);
|
||||
layout.add(livePreviews, 1, row);
|
||||
|
||||
Tooltip tt = new Tooltip("The overviews will still be updated, but the thumbnails won't be changed. This is useful for less powerful systems.");
|
||||
l = new Label("Update thumbnails");
|
||||
l.setTooltip(tt);
|
||||
layout.add(l, 0, row);
|
||||
layout.add(l, 2, row);
|
||||
updateThumbnails.setTooltip(tt);
|
||||
updateThumbnails.setSelected(Config.getInstance().getSettings().updateThumbnails);
|
||||
updateThumbnails.setOnAction(e -> {
|
||||
|
@ -605,7 +640,7 @@ public class SettingsTab extends Tab implements TabSelectionListener {
|
|||
});
|
||||
GridPane.setMargin(l, new Insets(3, 0, 0, 0));
|
||||
GridPane.setMargin(updateThumbnails, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN));
|
||||
layout.add(updateThumbnails, 1, row++);
|
||||
layout.add(updateThumbnails, 3, row++);
|
||||
|
||||
tt = new Tooltip("Update the thumbnail overviews every x seconds");
|
||||
l = new Label("Update overview interval (seconds)");
|
||||
|
|
Loading…
Reference in New Issue