/* Program.cs \r
\r
This file is part of the HandBrake source code.\r
- Homepage: <http://handbrake.m0k.org/>.\r
+ Homepage: <http://handbrake.fr>.\r
It may be used under the terms of the GNU General Public License. */\r
\r
using System;\r
-using System.Collections.Generic;\r
-using System.Collections.Specialized;\r
-using System.ComponentModel;\r
-using System.Data;\r
-using System.Drawing;\r
-using System.Text;\r
using System.Windows.Forms;\r
-using System.Net;\r
using System.IO;\r
-using System.Diagnostics;\r
-using System.Threading;\r
-using System.Runtime.InteropServices;\r
-\r
+using Handbrake.Presets;\r
\r
namespace Handbrake\r
{\r
[STAThread]\r
static void Main()\r
{\r
-\r
- // Development Code Expiry.\r
- // Remember to comment out on public release!!!\r
- int year = DateTime.Now.Year;\r
- int month = DateTime.Now.Month;\r
- int day = DateTime.Now.Day;\r
-\r
- if ((year > 2007) || (month > 10 )) { MessageBox.Show("Sorry, This development build of Handbrake has expired."); return; } \r
-\r
-\r
-\r
- // Check the system meets the system requirements.\r
- Boolean launch = true;\r
- try\r
+ Screen scr = Screen.PrimaryScreen;\r
+ if ((scr.Bounds.Width < 1024) || (scr.Bounds.Height < 620))\r
+ MessageBox.Show("Your system does not meet the minimum requirements for HandBrake. \n" + "Your screen is running at: " + scr.Bounds.Width + "x" + scr.Bounds.Height + " \nScreen resolution is too Low. Must be 1024x620 or greater", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+ else\r
{\r
- // Make sure the screen resolution is not below 1024x768\r
- System.Windows.Forms.Screen scr = System.Windows.Forms.Screen.PrimaryScreen;\r
- if ((scr.Bounds.Width < 1024) || (scr.Bounds.Height < 720))\r
- {\r
- MessageBox.Show("Your system does not meet the minimum requirements for HandBrake. \n" + "Your screen is running at: " + scr.Bounds.Width.ToString() + "x" + scr.Bounds.Height.ToString() + " \nScreen resolution is too Low. Must be 1024x720 or greater", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
- launch = false;\r
- }\r
+ string logDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), @"HandBrake\logs");\r
+ if (!Directory.Exists(logDir))\r
+ Directory.CreateDirectory(logDir);\r
\r
- // Make sure the system has enough RAM. 384MB or greater\r
- uint memory = MemoryCheck.CheckMemeory();\r
- memory = memory / 1024 / 1024;\r
-\r
- if (memory < 256)\r
+ if (!File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), @"HandBrake\presets.xml")))\r
{\r
- MessageBox.Show("Your system does not meet the minimum requirements for HandBrake. \n Insufficient RAM. 384MB or greater required. You have: " + memory.ToString() + "MB", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
- launch = false;\r
+ PresetsHandler x = new PresetsHandler();\r
+ x.UpdateBuiltInPresets();\r
}\r
- }\r
- catch (Exception exc)\r
- {\r
- MessageBox.Show("frmMain.cs - systemCheck() " + exc.ToString());\r
- }\r
-\r
\r
- // Either Launch or Close the Application\r
- if (launch == true)\r
- {\r
Application.EnableVisualStyles();\r
Application.SetCompatibleTextRenderingDefault(false);\r
Application.Run(new frmMain());\r
}\r
- else\r
- {\r
- Application.Exit();\r
- }\r
}\r
}\r
\r
- class MemoryCheck\r
- {\r
- public struct MEMORYSTATUS\r
- {\r
- public UInt32 dwLength;\r
- public UInt32 dwMemoryLoad;\r
- public UInt32 dwTotalPhys; // Used\r
- public UInt32 dwAvailPhys;\r
- public UInt32 dwTotalPageFile;\r
- public UInt32 dwAvailPageFile;\r
- public UInt32 dwTotalVirtual;\r
- public UInt32 dwAvailVirtual;\r
- // Aditional Varibles left in for future usage (JIC)\r
- }\r
-\r
- [DllImport("kernel32.dll")]\r
- public static extern void GlobalMemoryStatus\r
- (\r
- ref MEMORYSTATUS lpBuffer\r
- );\r
-\r
- public static uint CheckMemeory()\r
- {\r
- // Call the native GlobalMemoryStatus method\r
- // with the defined structure.\r
- MEMORYSTATUS memStatus = new MEMORYSTATUS();\r
- GlobalMemoryStatus(ref memStatus);\r
-\r
- uint MemoryInfo = memStatus.dwTotalPhys;\r
-\r
- return MemoryInfo;\r
- }\r
- }\r
}
\ No newline at end of file