diff --git a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java index 9d928066..5208e05a 100644 --- a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java +++ b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java @@ -138,6 +138,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { private SimpleIntegerProperty playlistRequestTimeout; private SimpleBooleanProperty minimizeToTray; private SimpleBooleanProperty showGridLinesInTables; + private SimpleIntegerProperty defaultPriority; public SettingsTab(List sites, Recorder recorder) { this.sites = sites; @@ -203,6 +204,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { playlistRequestTimeout = new SimpleIntegerProperty(null, "playlistRequestTimeout", settings.playlistRequestTimeout); minimizeToTray = new SimpleBooleanProperty(null, "minimizeToTray", settings.minimizeToTray); showGridLinesInTables = new SimpleBooleanProperty(null, "showGridLinesInTables", settings.showGridLinesInTables); + defaultPriority = new SimpleIntegerProperty(null, "defaultPriority", settings.defaultPriority); } private void createGui() { @@ -247,6 +249,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { .onChange(this::splitValuesChanged), Setting.of("Restrict Resolution", resolutionRange, "Only record streams with resolution within the given range"), Setting.of("Concurrent Recordings (0 = unlimited)", concurrentRecordings), + Setting.of("Default Priority", defaultPriority), Setting.of("Leave space on device (GiB)", leaveSpaceOnDevice, "Stop recording, if the free space on the device gets below this threshold").converter(new GigabytesConverter()), Setting.of("FFmpeg parameters", ffmpegParameters, "FFmpeg parameters to use when merging stream segments"), diff --git a/common/src/main/java/ctbrec/AbstractModel.java b/common/src/main/java/ctbrec/AbstractModel.java index e7d70b1f..6a09805d 100644 --- a/common/src/main/java/ctbrec/AbstractModel.java +++ b/common/src/main/java/ctbrec/AbstractModel.java @@ -33,7 +33,7 @@ public abstract class AbstractModel implements Model { private String description; private List tags = new ArrayList<>(); private int streamUrlIndex = -1; - private int priority = 50; + private int priority = -1; private boolean suspended = false; private boolean markedForLaterRecording = false; protected transient Site site; @@ -222,6 +222,9 @@ public abstract class AbstractModel implements Model { @Override public int getPriority() { + if (priority == -1) { + priority = Config.getInstance().getSettings().defaultPriority; + } return priority; } diff --git a/common/src/main/java/ctbrec/Settings.java b/common/src/main/java/ctbrec/Settings.java index 09c3ba27..2a0e0bb1 100644 --- a/common/src/main/java/ctbrec/Settings.java +++ b/common/src/main/java/ctbrec/Settings.java @@ -63,6 +63,7 @@ public class Settings { public int concurrentRecordings = 0; public boolean confirmationForDangerousActions = false; public String contactsheetTimestampLook = "font=sans-serif:fontcolor=white:fontsize=60:box=1:boxcolor=black@0.5:boxborderw=5"; + public int defaultPriority = 50; public boolean determineResolution = false; public List disabledSites = new ArrayList<>(); public String downloadFilename = "${modelSanitizedName}-${localDateTime}";