diff --git a/Source/AutoHDR.ProjectResources/ProjectLocales.Designer.cs b/Source/AutoHDR.ProjectResources/ProjectLocales.Designer.cs
index 5b770f1..c16bacc 100644
--- a/Source/AutoHDR.ProjectResources/ProjectLocales.Designer.cs
+++ b/Source/AutoHDR.ProjectResources/ProjectLocales.Designer.cs
@@ -277,6 +277,24 @@ public static string BuyBeer {
}
}
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Change color depth ähnelt.
+ ///
+ public static string ChangeColorDepth {
+ get {
+ return ResourceManager.GetString("ChangeColorDepth", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Change HDR ähnelt.
+ ///
+ public static string ChangeHDR {
+ get {
+ return ResourceManager.GetString("ChangeHDR", resourceCulture);
+ }
+ }
+
///
/// Sucht eine lokalisierte Zeichenfolge, die Changelog ähnelt.
///
@@ -286,6 +304,42 @@ public static string Changelog {
}
}
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Change playback device ähnelt.
+ ///
+ public static string ChangePlaybackDevice {
+ get {
+ return ResourceManager.GetString("ChangePlaybackDevice", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Change record device ähnelt.
+ ///
+ public static string ChangeRecordDevice {
+ get {
+ return ResourceManager.GetString("ChangeRecordDevice", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Change refresh rate ähnelt.
+ ///
+ public static string ChangeRefreshRate {
+ get {
+ return ResourceManager.GetString("ChangeRefreshRate", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Change resolution ähnelt.
+ ///
+ public static string ChangeResolution {
+ get {
+ return ResourceManager.GetString("ChangeResolution", resourceCulture);
+ }
+ }
+
///
/// Sucht eine lokalisierte Zeichenfolge, die Check for new version on startup ähnelt.
///
@@ -628,15 +682,6 @@ public static string Info {
}
}
- ///
- /// Sucht eine lokalisierte Zeichenfolge, die Input device ähnelt.
- ///
- public static string InputDevice {
- get {
- return ResourceManager.GetString("InputDevice", resourceCulture);
- }
- }
-
///
/// Sucht eine lokalisierte Zeichenfolge, die Primary ähnelt.
///
@@ -751,6 +796,15 @@ public static string ManagedHDR {
}
}
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Invalid settings. ähnelt.
+ ///
+ public static string MessageInvalidSettings {
+ get {
+ return ResourceManager.GetString("MessageInvalidSettings", resourceCulture);
+ }
+ }
+
///
/// Sucht eine lokalisierte Zeichenfolge, die Mssing audio device. ähnelt.
///
@@ -877,15 +931,6 @@ public static string Open {
}
}
- ///
- /// Sucht eine lokalisierte Zeichenfolge, die Output device ähnelt.
- ///
- public static string OutputDevice {
- get {
- return ResourceManager.GetString("OutputDevice", resourceCulture);
- }
- }
-
///
/// Sucht eine lokalisierte Zeichenfolge, die Priority ähnelt.
///
@@ -1012,42 +1057,6 @@ public static string Save {
}
}
- ///
- /// Sucht eine lokalisierte Zeichenfolge, die Set color depth ähnelt.
- ///
- public static string SetColorDepth {
- get {
- return ResourceManager.GetString("SetColorDepth", resourceCulture);
- }
- }
-
- ///
- /// Sucht eine lokalisierte Zeichenfolge, die Set HDR ähnelt.
- ///
- public static string SetHDR {
- get {
- return ResourceManager.GetString("SetHDR", resourceCulture);
- }
- }
-
- ///
- /// Sucht eine lokalisierte Zeichenfolge, die Set refresh rate ähnelt.
- ///
- public static string SetRefreshRate {
- get {
- return ResourceManager.GetString("SetRefreshRate", resourceCulture);
- }
- }
-
- ///
- /// Sucht eine lokalisierte Zeichenfolge, die Set resolution ähnelt.
- ///
- public static string SetResolution {
- get {
- return ResourceManager.GetString("SetResolution", resourceCulture);
- }
- }
-
///
/// Sucht eine lokalisierte Zeichenfolge, die Settings ähnelt.
///
diff --git a/Source/AutoHDR.ProjectResources/ProjectLocales.de.resx b/Source/AutoHDR.ProjectResources/ProjectLocales.de.resx
index be1627a..56747d2 100644
--- a/Source/AutoHDR.ProjectResources/ProjectLocales.de.resx
+++ b/Source/AutoHDR.ProjectResources/ProjectLocales.de.resx
@@ -180,9 +180,27 @@
Kauf mir ein Bier!
+
+ Farbtiefe ändern
+
+
+ HDR ändern
+
Changelog
+
+ Wiedergabegerät ändern
+
+
+ Aufnahmegerät ändern
+
+
+ Bildwiederholrate ändern
+
+
+ Auflösung ändern
+
Beim Start auf neuere Version prüfen
@@ -273,9 +291,6 @@
Info
-
- Eingangsgerät
-
Hauptmonitor
@@ -300,6 +315,9 @@
Automatischer HDR-Modus
+
+ Ungültige Einstellungen
+
Audiogerät fehlt.
@@ -342,9 +360,6 @@
Öffnen
-
- Ausgangsgerät
-
Priorität
@@ -390,18 +405,6 @@
Speichern
-
- Farbtiefe ändern
-
-
- HDR ändern
-
-
- Bildwiederholrate ändern
-
-
- Auflösung ändern
-
Einstellungen
diff --git a/Source/AutoHDR.ProjectResources/ProjectLocales.resx b/Source/AutoHDR.ProjectResources/ProjectLocales.resx
index 8f37c3c..2524181 100644
--- a/Source/AutoHDR.ProjectResources/ProjectLocales.resx
+++ b/Source/AutoHDR.ProjectResources/ProjectLocales.resx
@@ -190,9 +190,27 @@
Buy me a beer!
+
+ Change color depth
+
+
+ Change HDR
+
Changelog
+
+ Change playback device
+
+
+ Change record device
+
+
+ Change refresh rate
+
+
+ Change resolution
+
Check for new version on startup
@@ -307,9 +325,6 @@
Info
-
- Input device
-
Primary
@@ -1016,6 +1031,9 @@ Public License instead of this License. But first, please read
Automated HDR mode
+
+ Invalid settings.
+
Mssing audio device.
@@ -1058,9 +1076,6 @@ Public License instead of this License. But first, please read
Open
-
- Output device
-
Priority
@@ -1103,18 +1118,6 @@ Public License instead of this License. But first, please read
Save
-
- Set color depth
-
-
- Set HDR
-
-
- Set refresh rate
-
-
- Set resolution
-
Settings
diff --git a/Source/AutoHDR/Globals.cs b/Source/AutoHDR/Globals.cs
index 446475a..a2fb31d 100644
--- a/Source/AutoHDR/Globals.cs
+++ b/Source/AutoHDR/Globals.cs
@@ -72,7 +72,7 @@ public void LoadSettings()
}
catch (Exception ex)
{
- string backupFile = $"{System.AppDomain.CurrentDomain.BaseDirectory}Backup_Settings_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xml.bak";
+ string backupFile = $"{System.AppDomain.CurrentDomain.BaseDirectory}Backup_Settings_{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.json";
if (File.Exists(SettingsPath))
{
File.Move(SettingsPath, backupFile);
diff --git a/Source/AutoHDR/Profiles/Actions/AudioDeviceAction.cs b/Source/AutoHDR/Profiles/Actions/AudioDeviceAction.cs
index 0a2d56c..9efe5d5 100644
--- a/Source/AutoHDR/Profiles/Actions/AudioDeviceAction.cs
+++ b/Source/AutoHDR/Profiles/Actions/AudioDeviceAction.cs
@@ -10,43 +10,43 @@ namespace AutoHDR.Profiles.Actions
public class AudioDeviceAction : ProfileActionBase
{
- public override bool CanSave => (SetOutput && OutputDevice!=null) || (SetInput && InputDevice != null);
+ public override bool CanSave => (ChangePlaybackDevice && PlaybackDevice!=null) || (ChangeRecordDevice && RecordDevice != null);
public override string CannotSaveMessage => ProjectLocales.MessageMissingAudioDevice;
public override string ActionTypeName => ProjectLocales.AudioAction;
- private Guid _outputDeviceID = Guid.Empty;
+ private Guid _playbackDeviceID = Guid.Empty;
[JsonProperty]
- public Guid OutputDeviceID { get => _outputDeviceID; set { _outputDeviceID = value; OnPropertyChanged(); OnPropertyChanged(nameof(OutputDevice)); } }
+ public Guid PlaybackDeviceID { get => _playbackDeviceID; set { _playbackDeviceID = value; OnPropertyChanged(); OnPropertyChanged(nameof(PlaybackDevice)); } }
- public AudioDevice OutputDevice { get => AudioController.Instance.OutputAudioDevices.FirstOrDefault(d => d.ID.Equals(OutputDeviceID)); set { OutputDeviceID = value.ID; } }
+ public AudioDevice PlaybackDevice { get => AudioController.Instance.OutputAudioDevices.FirstOrDefault(d => d.ID.Equals(PlaybackDeviceID)); set { PlaybackDeviceID = value.ID; } }
private bool _setOutput = false;
[JsonProperty]
- public bool SetOutput { get => _setOutput; set { _setOutput = value; OnPropertyChanged(); } }
+ public bool ChangePlaybackDevice { get => _setOutput; set { _setOutput = value; OnPropertyChanged(); } }
- private Guid _inputDeviceID =Guid.Empty;
+ private Guid _recodDeviceID =Guid.Empty;
[JsonProperty]
- public Guid InputDeviceID { get => _inputDeviceID; set { _inputDeviceID = value; OnPropertyChanged(); OnPropertyChanged(nameof(InputDevice)); } }
+ public Guid RecordDeviceID { get => _recodDeviceID; set { _recodDeviceID = value; OnPropertyChanged(); OnPropertyChanged(nameof(RecordDevice)); } }
- public AudioDevice InputDevice { get => AudioController.Instance.InputAudioDevices.FirstOrDefault(d => d.ID.Equals(InputDeviceID)); set { InputDeviceID = value.ID; } }
+ public AudioDevice RecordDevice { get => AudioController.Instance.InputAudioDevices.FirstOrDefault(d => d.ID.Equals(RecordDeviceID)); set { RecordDeviceID = value.ID; } }
private bool _setInput = false;
[JsonProperty]
- public bool SetInput { get => _setInput; set { _setInput = value; OnPropertyChanged(); } }
+ public bool ChangeRecordDevice { get => _setInput; set { _setInput = value; OnPropertyChanged(); } }
- public override string ActionDescription => $"[{(OutputDevice != null && SetOutput ? OutputDevice.Name : string.Empty)} {(InputDevice != null && SetInput ? InputDevice.Name : string.Empty)}]";
+ public override string ActionDescription => $"[{(PlaybackDevice != null && ChangePlaybackDevice ? PlaybackDevice.Name : string.Empty)} {(RecordDevice != null && ChangeRecordDevice ? RecordDevice.Name : string.Empty)}]";
public AudioDeviceAction() : base()
@@ -57,15 +57,15 @@ public override ActionEndResult RunAction(ApplicationChangedType applicationChan
{
try
{
- if (SetOutput)
+ if (ChangePlaybackDevice)
{
- CallNewLog(new CodectoryCore.Logging.LogEntry($"Setting output audio device to {OutputDevice.Name}"));
- OutputDevice.SetAsDefault();
+ CallNewLog(new CodectoryCore.Logging.LogEntry($"Setting playback device to {PlaybackDevice.Name}"));
+ PlaybackDevice.SetAsDefault();
}
- if (SetInput)
+ if (ChangeRecordDevice)
{
- CallNewLog(new CodectoryCore.Logging.LogEntry($"Setting input audio device to {InputDevice.Name}"));
- InputDevice.SetAsDefault();
+ CallNewLog(new CodectoryCore.Logging.LogEntry($"Setting record audio device to {RecordDevice.Name}"));
+ RecordDevice.SetAsDefault();
}
return new ActionEndResult(true);
}
diff --git a/Source/AutoHDR/Profiles/Actions/DisplayAction.cs b/Source/AutoHDR/Profiles/Actions/DisplayAction.cs
index d093a4d..c436f17 100644
--- a/Source/AutoHDR/Profiles/Actions/DisplayAction.cs
+++ b/Source/AutoHDR/Profiles/Actions/DisplayAction.cs
@@ -17,8 +17,8 @@ namespace AutoHDR.Profiles.Actions
[JsonObject(MemberSerialization.OptIn)]
public class DisplayAction : ProfileActionBase
{
- public override bool CanSave => Resolution != null;
- public override string CannotSaveMessage => ProjectLocales.MessageMissingAudioDevice;
+ public override bool CanSave => (!ChangeResolution || Resolution != null) && (!ChangeRefreshRate || RefreshRate != 0) && (!ChangeColorDepth || ColorDepth != ColorDepth.BPCUnkown);
+ public override string CannotSaveMessage => ProjectLocales.MessageInvalidSettings;
public List AllDisplays
{
get
@@ -32,7 +32,8 @@ public List AllDisplays
private Display _display = null;
[JsonProperty]
- public Display Display {
+ public Display Display
+ {
get => _display;
set
{
@@ -54,24 +55,24 @@ public Display Display {
- private bool _setHDR = false;
+ private bool _changeHDR = false;
[JsonProperty]
- public bool SetHDR { get => _setHDR; set { _setHDR = value; OnPropertyChanged(); } }
+ public bool ChangeHDR { get => _changeHDR; set { _changeHDR = value; OnPropertyChanged(); } }
- private bool _setResolution = false;
+ private bool _changeResolution = false;
[JsonProperty]
- public bool SetResolution { get => _setResolution; set { _setResolution = value; OnPropertyChanged(); } }
+ public bool ChangeResolution { get => _changeResolution; set { _changeResolution = value; OnPropertyChanged(); } }
- private bool _setRefreshRate = false;
+ private bool _changeRefreshRate = false;
[JsonProperty]
- public bool SetRefreshRate { get => _setRefreshRate; set { _setRefreshRate = value; OnPropertyChanged(); } }
+ public bool ChangeRefreshRate { get => _changeRefreshRate; set { _changeRefreshRate = value; OnPropertyChanged(); } }
- private bool _setColorDepth =false;
+ private bool _changeColorDepth =false;
[JsonProperty]
- public bool SetColorDepth { get => _setColorDepth; set { _setColorDepth = value; OnPropertyChanged(); } }
+ public bool ChangeColorDepth { get => _changeColorDepth; set { _changeColorDepth = value; OnPropertyChanged(); } }
private bool _enableHDR = false;
@@ -100,13 +101,13 @@ public override string ActionDescription
get
{
string returnValue = $"[{Display.Name}]:";
- if (SetHDR)
+ if (ChangeHDR)
returnValue += $" {ProjectLocales.HDR} {(EnableHDR ? ProjectLocales.Yes : ProjectLocales.No)}";
- if (SetResolution)
+ if (ChangeResolution)
returnValue += $" {ProjectLocales.Resolution} {Resolution.Width}x{Resolution.Height}";
- if (SetRefreshRate)
+ if (ChangeRefreshRate)
returnValue += $" {ProjectLocales.RefreshRate} {RefreshRate}Hz";
- if (SetColorDepth)
+ if (ChangeColorDepth)
returnValue += $" {ProjectLocales.ColorDepth} {ColorDepth}";
return returnValue;
}
@@ -124,7 +125,7 @@ public override ActionEndResult RunAction(ApplicationChangedType applicationChan
{
try
{
- if (SetHDR)
+ if (ChangeHDR)
if (Display.IsAllDisplay())
{
CallNewLog(new CodectoryCore.Logging.LogEntry($"{(EnableHDR ? "Activating" : "Deactivating")} HDR for all displays."));
@@ -139,7 +140,7 @@ public override ActionEndResult RunAction(ApplicationChangedType applicationChan
HDRController.SetHDRState(Display.UID, EnableHDR);
}
System.Threading.Thread.Sleep(100);
- if (SetResolution)
+ if (ChangeResolution)
if (Display.IsAllDisplay())
{
CallNewLog(new CodectoryCore.Logging.LogEntry($"Setting resolution {Resolution} for all displays."));
@@ -152,7 +153,7 @@ public override ActionEndResult RunAction(ApplicationChangedType applicationChan
Display.SetResolution(Resolution);
}
System.Threading.Thread.Sleep(100);
- if (SetRefreshRate)
+ if (ChangeRefreshRate)
if (Display.IsAllDisplay())
{
CallNewLog(new CodectoryCore.Logging.LogEntry($"Setting refresh rate {RefreshRate} for all displays."));
@@ -166,7 +167,7 @@ public override ActionEndResult RunAction(ApplicationChangedType applicationChan
Display.SetRefreshRate(RefreshRate);
}
System.Threading.Thread.Sleep(100);
- if (SetColorDepth)
+ if (ChangeColorDepth)
if (Display.IsAllDisplay())
{
CallNewLog(new CodectoryCore.Logging.LogEntry($"Setting color depth {ColorDepth} for all displays."));
diff --git a/Source/AutoHDR/Profiles/Actions/ProfileActionAdder.cs b/Source/AutoHDR/Profiles/Actions/ProfileActionAdder.cs
index a51ae8e..0eb4854 100644
--- a/Source/AutoHDR/Profiles/Actions/ProfileActionAdder.cs
+++ b/Source/AutoHDR/Profiles/Actions/ProfileActionAdder.cs
@@ -54,6 +54,7 @@ public BaseViewModel ContentControlViewModel
_contentControlViewModel = value;
OnPropertyChanged();
ProfileAction = (IProfileAction)ContentControlViewModel;
+ UpdateCanCreate();
}
}
diff --git a/Source/AutoHDR/Profiles/Profile.cs b/Source/AutoHDR/Profiles/Profile.cs
index 252a6cd..198a707 100644
--- a/Source/AutoHDR/Profiles/Profile.cs
+++ b/Source/AutoHDR/Profiles/Profile.cs
@@ -32,11 +32,11 @@ public static Profile DefaultProfile()
defaultProfile.Name = "HDR";
Profiles.Actions.DisplayAction startAction = new Profiles.Actions.DisplayAction();
startAction.Display = Display.AllDisplays;
- startAction.SetHDR = true;
+ startAction.ChangeHDR = true;
startAction.EnableHDR = true;
Profiles.Actions.DisplayAction endAction = new Profiles.Actions.DisplayAction();
endAction.Display = Display.AllDisplays;
- endAction.SetHDR = true;
+ endAction.ChangeHDR = true;
endAction.EnableHDR = false;
defaultProfile.ApplicationStarted.Add(startAction);
defaultProfile.ApplicationClosed.Add(endAction);
diff --git a/Source/AutoHDR/Properties/AssemblyInfo.cs b/Source/AutoHDR/Properties/AssemblyInfo.cs
index 6d1bdfd..88246db 100644
--- a/Source/AutoHDR/Properties/AssemblyInfo.cs
+++ b/Source/AutoHDR/Properties/AssemblyInfo.cs
@@ -52,5 +52,5 @@
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.9.0.0")]
-[assembly: AssemblyFileVersion("1.9.0.0")]
+[assembly: AssemblyVersion("1.9.1.0")]
+[assembly: AssemblyFileVersion("1.9.1.0")]
diff --git a/Source/AutoHDR/UserAppSettings.cs b/Source/AutoHDR/UserAppSettings.cs
index 20d5468..c73786b 100644
--- a/Source/AutoHDR/UserAppSettings.cs
+++ b/Source/AutoHDR/UserAppSettings.cs
@@ -118,6 +118,15 @@ private static string UpgradeJson(string serializedJson)
{
serializedJson = serializedJson.Replace("\"$type\": \"AutoHDR.Displays.Display, AutoHDR\"", "\"$type\": \"AutoHDR.Displays.Display, AutoHDR.Displays\"");
serializedJson = serializedJson.Replace("\"Monitors\": [", "\"Displays\": [");
+ serializedJson = serializedJson.Replace("\"SetHDR\":", "\"ChangeHDR\":");
+ serializedJson = serializedJson.Replace("\"SetResolution\":", "\"ChangeResolution\":");
+ serializedJson = serializedJson.Replace("\"SetRefreshRate\":", "\"ChangeRefreshRate\":");
+ serializedJson = serializedJson.Replace("\"SetColorDepth\":", "\"ChangeColorDepth\":");
+ serializedJson = serializedJson.Replace("\"SetOutput\":", "\"ChangePlaybackDevice\":");
+ serializedJson = serializedJson.Replace("\"SetInput\":", "\"ChangeRecordDevice\":");
+ serializedJson = serializedJson.Replace("\"OutputDeviceID\":", "\"PlaybackDeviceID\":");
+ serializedJson = serializedJson.Replace("\"InputDeviceID\":", "\"RecordDeviceID\":");
+
return serializedJson;
}
diff --git a/Source/AutoHDR/Views/AudioActionView.xaml b/Source/AutoHDR/Views/AudioActionView.xaml
index 9f08a5a..6f22b4a 100644
--- a/Source/AutoHDR/Views/AudioActionView.xaml
+++ b/Source/AutoHDR/Views/AudioActionView.xaml
@@ -41,15 +41,15 @@
-
-
+
+
-
+
-
+
-
+
-
+
diff --git a/Source/AutoHDR/Views/DisplayActionView.xaml b/Source/AutoHDR/Views/DisplayActionView.xaml
index 672b052..3d6e829 100644
--- a/Source/AutoHDR/Views/DisplayActionView.xaml
+++ b/Source/AutoHDR/Views/DisplayActionView.xaml
@@ -35,30 +35,36 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
+