@@ -39,6 +39,9 @@ public struct DispSet
39
39
private int initialHeight ;
40
40
private int initialRefresh ;
41
41
private bool useSecondScreen = false ;
42
+ private int desiredWidth ;
43
+ private int desiredHeight ;
44
+ private int desiredRefresh ;
42
45
NotifyIcon trayNotifyIcon ;
43
46
private void NVStreamerMainUI_Load ( object sender , EventArgs e )
44
47
{
@@ -66,6 +69,13 @@ private void NVStreamerMainUI_Load(object sender, EventArgs e)
66
69
if ( Registry . CurrentUser . OpenSubKey ( "SOFTWARE\\ TapperWare\\ NVStreamer1080" , true ) == null )
67
70
Registry . CurrentUser . CreateSubKey ( "SOFTWARE\\ TapperWare\\ NVStreamer1080" , true ) ;
68
71
useSecondScreen = ( ( string ) Registry . CurrentUser . OpenSubKey ( "SOFTWARE\\ TapperWare\\ NVStreamer1080" , true ) . GetValue ( "UseSecondScreen" , "0" ) ) == "1" ;
72
+ desiredWidth = ( ( int ) Registry . CurrentUser . OpenSubKey ( "SOFTWARE\\ TapperWare\\ NVStreamer1080" , true ) . GetValue ( "Width" , 1920 ) ) ;
73
+ desiredHeight = ( ( int ) Registry . CurrentUser . OpenSubKey ( "SOFTWARE\\ TapperWare\\ NVStreamer1080" , true ) . GetValue ( "Height" , 1080 ) ) ;
74
+ desiredRefresh = ( ( int ) Registry . CurrentUser . OpenSubKey ( "SOFTWARE\\ TapperWare\\ NVStreamer1080" , true ) . GetValue ( "Refresh" , 60 ) ) ;
75
+ DWidth . Text = desiredHeight . ToString ( ) ;
76
+ DHeight . Text = desiredWidth . ToString ( ) ;
77
+ DRefresh . Text = desiredRefresh . ToString ( ) ;
78
+
69
79
if ( useSecondScreen )
70
80
useSecondScreenCB . Checked = true ;
71
81
@@ -154,8 +164,8 @@ private void CheckTimer_Tick(object sender, EventArgs e)
154
164
}
155
165
else
156
166
{
157
- SetResolution ( 1920 , 1080 , 60 ) ;
158
- label1 . Text = "NVStreamer active: 1920x1080@60 " ;
167
+ SetResolution ( desiredWidth , desiredHeight , desiredRefresh ) ;
168
+ label1 . Text = $ "NVStreamer active: { desiredWidth } x { desiredHeight } @ { desiredRefresh } ";
159
169
}
160
170
nv1080Set = true ;
161
171
useSecondScreenCB . Enabled = false ;
@@ -190,6 +200,23 @@ private void OnSecondScreenCheckboxChange(object sender, EventArgs e)
190
200
useSecondScreen = useSecondScreenCB . Checked ;
191
201
192
202
}
193
-
203
+
204
+ private void Width_TextChanged ( object sender , EventArgs e ) {
205
+ int i ;
206
+ if ( ! int . TryParse ( DWidth . Text , out i ) )
207
+ DWidth . Text = ( i = 1920 ) . ToString ( ) ;
208
+
209
+ Registry . CurrentUser . OpenSubKey ( "SOFTWARE\\ TapperWare\\ NVStreamer1080" , true ) . SetValue ( "Width" , i , RegistryValueKind . DWord ) ;
210
+
211
+ if ( ! int . TryParse ( DHeight . Text , out i ) )
212
+ DHeight . Text = ( i = 1080 ) . ToString ( ) ;
213
+
214
+ Registry . CurrentUser . OpenSubKey ( "SOFTWARE\\ TapperWare\\ NVStreamer1080" , true ) . SetValue ( "Height" , i , RegistryValueKind . DWord ) ;
215
+
216
+ if ( ! int . TryParse ( DRefresh . Text , out i ) )
217
+ DRefresh . Text = ( i = 60 ) . ToString ( ) ;
218
+
219
+ Registry . CurrentUser . OpenSubKey ( "SOFTWARE\\ TapperWare\\ NVStreamer1080" , true ) . SetValue ( "Refresh" , i , RegistryValueKind . DWord ) ;
220
+ }
194
221
}
195
222
}
0 commit comments