mirror of
https://github.com/terrymacdonald/DisplayMagician.git
synced 2024-08-30 18:32:20 +00:00
Fixed ProcessPriority error in StartProgramControl
This is now working properly.
This commit is contained in:
parent
bf60ec8f8b
commit
20c390d6f9
@ -678,6 +678,33 @@ namespace DisplayMagician.Processes
|
||||
}
|
||||
}
|
||||
|
||||
public static ProcessPriority TranslateNameToPriority(string processPriorityName)
|
||||
{
|
||||
ProcessPriority wantedPriority = ProcessPriority.Normal;
|
||||
switch (processPriorityName.ToLowerInvariant())
|
||||
{
|
||||
case "high":
|
||||
wantedPriority = ProcessPriority.High;
|
||||
break;
|
||||
case "abovenormal":
|
||||
wantedPriority = ProcessPriority.AboveNormal;
|
||||
break;
|
||||
case "normal":
|
||||
wantedPriority = ProcessPriority.Normal;
|
||||
break;
|
||||
case "belownormal":
|
||||
wantedPriority = ProcessPriority.BelowNormal;
|
||||
break;
|
||||
case "idle":
|
||||
wantedPriority = ProcessPriority.Idle;
|
||||
break;
|
||||
default:
|
||||
wantedPriority = ProcessPriority.Normal;
|
||||
break;
|
||||
}
|
||||
return wantedPriority;
|
||||
}
|
||||
|
||||
public static ProcessPriorityClass TranslatePriorityToClass(ProcessPriority processPriorityClass)
|
||||
{
|
||||
ProcessPriorityClass wantedPriorityClass = ProcessPriorityClass.Normal;
|
||||
@ -731,7 +758,7 @@ namespace DisplayMagician.Processes
|
||||
}
|
||||
return wantedPriorityClass;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -26,8 +26,8 @@ using System.Resources;
|
||||
[assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")]
|
||||
|
||||
// Version information
|
||||
[assembly: AssemblyVersion("2.4.0.71")]
|
||||
[assembly: AssemblyFileVersion("2.4.0.71")]
|
||||
[assembly: AssemblyVersion("2.4.0.85")]
|
||||
[assembly: AssemblyFileVersion("2.4.0.85")]
|
||||
[assembly: NeutralResourcesLanguageAttribute( "en" )]
|
||||
[assembly: CLSCompliant(true)]
|
||||
|
||||
|
@ -301,8 +301,8 @@ namespace DisplayMagician.UIForms
|
||||
private void ShowShortcutLoadingWindow()
|
||||
{
|
||||
Program.AppShortcutLoadingSplashScreen = new ShortcutLoadingForm();
|
||||
Program.AppShortcutLoadingSplashScreen.Title = "Preparing images...";
|
||||
Program.AppShortcutLoadingSplashScreen.Description = "Preparing images before showing you the Shortcut information. You will be able to swap your shortcut icon to any image you want, or choose one from a list.";
|
||||
Program.AppShortcutLoadingSplashScreen.Title = "Preparing Shortcut...";
|
||||
Program.AppShortcutLoadingSplashScreen.Description = "Preparing the Shortcut ready for you to edit. You will be able to swap your shortcut icon to any image you want, or choose one from a list.";
|
||||
int resultX = this.DesktopLocation.X + ((this.Width - Program.AppShortcutLoadingSplashScreen.Width) / 2);
|
||||
int resultY = this.DesktopLocation.Y + ((this.Height - Program.AppShortcutLoadingSplashScreen.Height) / 2);
|
||||
Program.AppShortcutLoadingSplashScreen.WantedLocation = new Point(resultX, resultY);
|
||||
|
@ -9,6 +9,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using DisplayMagician.Processes;
|
||||
|
||||
namespace DisplayMagician.UIForms
|
||||
{
|
||||
@ -287,7 +288,7 @@ namespace DisplayMagician.UIForms
|
||||
|
||||
private void cbx_start_program_priority_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
myStartProgram.ProcessPriority = (ProcessPriority)cbx_start_program_priority.SelectedValue;
|
||||
myStartProgram.ProcessPriority = ProcessUtils.TranslateNameToPriority(cbx_start_program_priority.SelectedValue.ToString());
|
||||
}
|
||||
|
||||
private void cb_run_as_administrator_CheckedChanged(object sender, EventArgs e)
|
||||
|
@ -68,8 +68,11 @@ namespace DisplayMagicianShared.NVIDIA
|
||||
=> HasNvHdrEnabled == other.HasNvHdrEnabled &&
|
||||
HdrCapabilities.Equals(other.HdrCapabilities) &&
|
||||
HdrColorData.Equals(other.HdrColorData) &&
|
||||
HasAdaptiveSync == other.HasAdaptiveSync &&
|
||||
AdaptiveSyncConfig.Equals(other.AdaptiveSyncConfig) &&
|
||||
// Disabled the Adaptive Sync equality matching as we are having trouble applying it, which is causing issues in profile matching in DisplayMagician
|
||||
// To fix this bit, we need to test the SetActiveConfigOverride Adaptive Sync part of the codebase to apply this properly.
|
||||
// But for now, we'll exclude it from the equality matching and also stop trying to use the adaptive sync config.
|
||||
//HasAdaptiveSync == other.HasAdaptiveSync &&
|
||||
//AdaptiveSyncConfig.Equals(other.AdaptiveSyncConfig) &&
|
||||
HasColorData == other.HasColorData &&
|
||||
ColorData.Equals(other.ColorData) &&
|
||||
HasCustomDisplay == other.HasCustomDisplay &&
|
||||
@ -77,7 +80,11 @@ namespace DisplayMagicianShared.NVIDIA
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return (HasNvHdrEnabled, HdrCapabilities, HdrColorData, HasAdaptiveSync, AdaptiveSyncConfig, HasColorData, ColorData, HasCustomDisplay, CustomDisplays).GetHashCode();
|
||||
// Disabled the Adaptive Sync equality matching as we are having trouble applying it, which is causing issues in profile matching in DisplayMagician
|
||||
// To fix this bit, we need to test the SetActiveConfigOverride Adaptive Sync part of the codebase to apply this properly.
|
||||
// But for now, we'll exclude it from the equality matching and also stop trying to use the adaptive sync config.
|
||||
//return (HasNvHdrEnabled, HdrCapabilities, HdrColorData, HasAdaptiveSync, AdaptiveSyncConfig, HasColorData, ColorData, HasCustomDisplay, CustomDisplays).GetHashCode();
|
||||
return (HasNvHdrEnabled, HdrCapabilities, HdrColorData, HasColorData, ColorData, HasCustomDisplay, CustomDisplays).GetHashCode();
|
||||
}
|
||||
public static bool operator ==(NVIDIA_PER_DISPLAY_CONFIG lhs, NVIDIA_PER_DISPLAY_CONFIG rhs) => lhs.Equals(rhs);
|
||||
|
||||
@ -2030,67 +2037,7 @@ namespace DisplayMagicianShared.NVIDIA
|
||||
SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfig: Exception caused while turning off prior NVIDIA HDR colour settings for display {displayId}.");
|
||||
}
|
||||
|
||||
// Set any AdaptiveSync settings
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to set any adaptive Sync settings if in use.");
|
||||
|
||||
NV_SET_ADAPTIVE_SYNC_DATA_V1 adaptiveSyncData = myDisplay.AdaptiveSyncConfig;
|
||||
try
|
||||
{
|
||||
if (myDisplay.AdaptiveSyncConfig.DisableAdaptiveSync)
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to DISABLE Adaptive Sync for display {displayId}.");
|
||||
}
|
||||
else
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to ENABLE Adaptive Sync for display {displayId}.");
|
||||
}
|
||||
|
||||
if (myDisplay.AdaptiveSyncConfig.DisableFrameSplitting)
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to DISABLE Frame Splitting for display {displayId}.");
|
||||
}
|
||||
else
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to ENABLE Frame Splitting for display {displayId}.");
|
||||
}
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to set the Adaptice Sync Max Frame Interval to {myDisplay.AdaptiveSyncConfig.MaxFrameInterval}ms for display {displayId}.");
|
||||
|
||||
// Apply the AdaptiveSync settings
|
||||
NVStatus = NVImport.NvAPI_DISP_SetAdaptiveSyncData(displayId, ref adaptiveSyncData);
|
||||
if (NVStatus == NVAPI_STATUS.NVAPI_OK)
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_DISP_SetAdaptiveSyncData returned OK. We just successfully set the Adaptive Sync settings for display {displayId}.");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR.");
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfig: Exception caused while trying to set NVIDIA Adaptive Sync settings for display {displayId}.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -2993,6 +2940,71 @@ namespace DisplayMagicianShared.NVIDIA
|
||||
SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfigOverride: Exception caused while turning on custom NVIDIA HDR colour settings for display {displayId}.");
|
||||
}
|
||||
|
||||
// Disabled the Adaptive Sync equality matching as we are having trouble applying it, which is causing issues in profile matching in DisplayMagician
|
||||
// To fix this bit, we need to test the SetActiveConfigOverride Adaptive Sync part of the codebase to apply this properly.
|
||||
// But for now, we'll exclude it from the equality matching and also stop trying to use the adaptive sync config.
|
||||
|
||||
/*// Set any AdaptiveSync settings
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to set any adaptive Sync settings if in use.");
|
||||
|
||||
NV_SET_ADAPTIVE_SYNC_DATA_V1 adaptiveSyncData = myDisplay.AdaptiveSyncConfig;
|
||||
try
|
||||
{
|
||||
if (myDisplay.AdaptiveSyncConfig.DisableAdaptiveSync)
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to DISABLE Adaptive Sync for display {displayId}.");
|
||||
}
|
||||
else
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to ENABLE Adaptive Sync for display {displayId}.");
|
||||
}
|
||||
|
||||
if (myDisplay.AdaptiveSyncConfig.DisableFrameSplitting)
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to DISABLE Frame Splitting for display {displayId}.");
|
||||
}
|
||||
else
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to ENABLE Frame Splitting for display {displayId}.");
|
||||
}
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: We want to set the Adaptice Sync Max Frame Interval to {myDisplay.AdaptiveSyncConfig.MaxFrameInterval}ms for display {displayId}.");
|
||||
|
||||
// Apply the AdaptiveSync settings
|
||||
NVStatus = NVImport.NvAPI_DISP_SetAdaptiveSyncData(displayId, ref adaptiveSyncData);
|
||||
if (NVStatus == NVAPI_STATUS.NVAPI_OK)
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: NvAPI_DISP_SetAdaptiveSyncData returned OK. We just successfully set the Adaptive Sync settings for display {displayId}.");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_INSUFFICIENT_BUFFER)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input buffer is not large enough to hold it's contents. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_INVALID_DISPLAY_ID)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The input monitor is either not connected or is not a DP or HDMI panel. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_API_NOT_INITIALIZED)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: The NvAPI API needs to be initialized first. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_NO_IMPLEMENTATION)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: This entry point not available in this NVIDIA Driver. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else if (NVStatus == NVAPI_STATUS.NVAPI_ERROR)
|
||||
{
|
||||
SharedLogger.logger.Warn($"NVIDIALibrary/SetActiveConfig: A miscellaneous error occurred. NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}");
|
||||
}
|
||||
else
|
||||
{
|
||||
SharedLogger.logger.Trace($"NVIDIALibrary/SetActiveConfig: Some non standard error occurred while getting Mosaic Topology! NvAPI_DISP_SetAdaptiveSyncData() returned error code {NVStatus}. It's most likely that your monitor {displayId} doesn't support HDR.");
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
SharedLogger.logger.Error(ex, $"NVIDIALibrary/SetActiveConfig: Exception caused while trying to set NVIDIA Adaptive Sync settings for display {displayId}.");
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user