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.Text;\r
+using System.Globalization;\r
using System.Text.RegularExpressions;\r
using System.Windows.Forms;\r
-using System.Globalization;\r
\r
namespace Handbrake.Functions\r
{\r
- class QueryParser\r
+ internal class QueryParser\r
{\r
- static readonly private CultureInfo Culture = new CultureInfo("en-US", false);\r
+ private static readonly CultureInfo Culture = new CultureInfo("en-US", false);\r
\r
- // All the Main Window GUI options\r
#region Varibles\r
\r
#region Source\r
+\r
+ private int q_chaptersFinish;\r
+ private int q_chaptersStart;\r
private int q_dvdTitle;\r
+\r
/// <summary>\r
/// Returns an Integer\r
/// DVD Title number.\r
/// </summary>\r
public int DVDTitle\r
{\r
- get\r
- {\r
- return this.q_dvdTitle;\r
- }\r
+ get { return q_dvdTitle; }\r
}\r
\r
- private int q_chaptersStart;\r
/// <summary>\r
/// Returns an Int\r
/// DVD Chapter number or chapter range.\r
/// </summary>\r
public int DVDChapterStart\r
{\r
- get\r
- {\r
- return this.q_chaptersStart;\r
- }\r
+ get { return q_chaptersStart; }\r
}\r
\r
- private int q_chaptersFinish;\r
/// <summary>\r
/// Returns an Int\r
/// DVD Chapter number or chapter range.\r
/// </summary>\r
public int DVDChapterFinish\r
{\r
- get\r
- {\r
- return this.q_chaptersFinish;\r
- }\r
+ get { return q_chaptersFinish; }\r
}\r
-#endregion\r
+\r
+ #endregion\r
\r
#region Destination\r
+\r
private string q_format;\r
+ private string q_videoEncoder;\r
+\r
/// <summary>\r
/// Returns a String \r
/// Full path of the destination.\r
/// </summary>\r
public string Format\r
{\r
- get\r
- {\r
- return this.q_format;\r
- }\r
+ get { return q_format; }\r
}\r
\r
- private string q_videoEncoder;\r
/// <summary>\r
/// Returns an String\r
/// The Video Encoder used.\r
/// </summary>\r
public string VideoEncoder\r
{\r
- get\r
- {\r
- return this.q_videoEncoder;\r
- }\r
+ get { return q_videoEncoder; }\r
}\r
+\r
#endregion\r
\r
#region Picture Settings\r
+\r
+ private Boolean q_anamorphic;\r
+ private Boolean q_chapterMarkers;\r
+ private string q_cropbottom;\r
+ private string q_cropLeft;\r
+ private string q_cropRight;\r
+ private string q_croptop;\r
+ private string q_cropValues;\r
+ private int q_deBlock;\r
+ private Boolean q_decomb;\r
+ private string q_deinterlace;\r
+ private string q_denoise;\r
+ private Boolean q_detelecine;\r
+ private Boolean q_looseAnamorphic;\r
+ private int q_maxHeight;\r
+ private int q_maxWidth;\r
+ private int q_videoHeight;\r
private int q_videoWidth;\r
+\r
/// <summary>\r
/// Returns an Int\r
/// The selected Width for the encoding.\r
/// </summary>\r
public int Width\r
{\r
- get\r
- {\r
- return this.q_videoWidth;\r
- }\r
+ get { return q_videoWidth; }\r
}\r
\r
- private int q_videoHeight;\r
/// <summary>\r
/// Returns an Int\r
/// The selected Height for the encoding.\r
/// </summary>\r
public int Height\r
{\r
- get\r
- {\r
- return this.q_videoHeight;\r
- }\r
+ get { return q_videoHeight; }\r
}\r
\r
- private int q_maxWidth;\r
/// <summary>\r
/// Returns an Int\r
/// The selected Width for the encoding.\r
/// </summary>\r
public int MaxWidth\r
{\r
- get\r
- {\r
- return this.q_maxWidth;\r
- }\r
+ get { return q_maxWidth; }\r
}\r
\r
- private int q_maxHeight;\r
/// <summary>\r
/// Returns an Int\r
/// The selected Height for the encoding.\r
/// </summary>\r
public int MaxHeight\r
{\r
- get\r
- {\r
- return this.q_maxHeight;\r
- }\r
+ get { return q_maxHeight; }\r
}\r
\r
- private string q_cropValues;\r
/// <summary>\r
/// Returns an String\r
/// Cropping values.\r
/// </summary>\r
public string CropValues\r
{\r
- get\r
- {\r
- return this.q_cropValues;\r
- }\r
+ get { return q_cropValues; }\r
}\r
\r
- private string q_croptop;\r
/// <summary>\r
/// Returns an String\r
/// Cropping values.\r
/// </summary>\r
public string CropTop\r
{\r
- get\r
- {\r
- return this.q_croptop;\r
- }\r
+ get { return q_croptop; }\r
}\r
\r
- private string q_cropbottom;\r
/// <summary>\r
/// Returns an String\r
/// Cropping values.\r
/// </summary>\r
public string CropBottom\r
{\r
- get\r
- {\r
- return this.q_cropbottom;\r
- }\r
+ get { return q_cropbottom; }\r
}\r
\r
- private string q_cropLeft;\r
/// <summary>\r
/// Returns an String\r
/// Cropping values.\r
/// </summary>\r
public string CropLeft\r
{\r
- get\r
- {\r
- return this.q_cropLeft;\r
- }\r
+ get { return q_cropLeft; }\r
}\r
\r
- private string q_cropRight;\r
/// <summary>\r
/// Returns an String\r
/// Cropping values.\r
/// </summary>\r
public string CropRight\r
{\r
- get\r
- {\r
- return this.q_cropRight;\r
- }\r
+ get { return q_cropRight; }\r
}\r
\r
- private Boolean q_detelecine;\r
/// <summary>\r
/// Returns a boolean to indicate wither DeTelecine is on or off\r
/// </summary>\r
public Boolean DeTelecine\r
{\r
- get\r
- {\r
- return this.q_detelecine;\r
- }\r
+ get { return q_detelecine; }\r
}\r
\r
- private int q_deBlock;\r
/// <summary>\r
/// Returns a boolean to indicate wither DeBlock is on or off.\r
/// </summary>\r
public int DeBlock\r
{\r
- get\r
- {\r
- return this.q_deBlock;\r
- }\r
+ get { return q_deBlock; }\r
}\r
\r
- private string q_deinterlace;\r
/// <summary>\r
/// Returns a string with the De-Interlace option used.\r
/// </summary>\r
public string DeInterlace\r
{\r
- get\r
- {\r
- return this.q_deinterlace;\r
- }\r
+ get { return q_deinterlace; }\r
}\r
\r
- private string q_denoise;\r
/// <summary>\r
/// Returns a string with the DeNoise option used.\r
/// </summary>\r
public string DeNoise\r
{\r
- get\r
- {\r
- return this.q_denoise;\r
- }\r
+ get { return q_denoise; }\r
}\r
\r
- private Boolean q_decomb;\r
/// <summary>\r
/// Returns a string with the DeNoise option used.\r
/// </summary>\r
public Boolean Decomb\r
{\r
- get\r
- {\r
- return this.q_decomb;\r
- }\r
+ get { return q_decomb; }\r
}\r
\r
- private Boolean q_anamorphic;\r
/// <summary>\r
/// Returns a boolean to indicate wither Anamorphic is on or off.\r
/// </summary>\r
public Boolean Anamorphic\r
{\r
- get\r
- {\r
- return this.q_anamorphic;\r
- }\r
+ get { return q_anamorphic; }\r
}\r
\r
- private Boolean q_looseAnamorphic;\r
/// <summary>\r
/// Returns a boolean to indicate wither Anamorphic is on or off.\r
/// </summary>\r
public Boolean LooseAnamorphic\r
{\r
- get\r
- {\r
- return this.q_looseAnamorphic;\r
- }\r
+ get { return q_looseAnamorphic; }\r
}\r
\r
- private Boolean q_chapterMarkers;\r
/// <summary>\r
/// Returns a boolean to indicate wither Chapter Markers is on or off.\r
/// </summary>\r
public Boolean ChapterMarkers\r
{\r
- get\r
- {\r
- return this.q_chapterMarkers;\r
- }\r
+ get { return q_chapterMarkers; }\r
}\r
+\r
#endregion\r
\r
#region Video Settings\r
+\r
+ private string q_avgBitrate;\r
private Boolean q_grayscale;\r
+ private Boolean q_ipodAtom;\r
+ private Boolean q_largeMp4;\r
+ private Boolean q_optimizeMp4;\r
+ private Boolean q_turboFirst;\r
+\r
+ private Boolean q_twoPass;\r
+ private string q_videoFramerate;\r
+ private int q_videoQuality;\r
+ private string q_videoTargetSize;\r
+\r
/// <summary>\r
/// Returns a boolean to indicate wither Grayscale is on or off.\r
/// </summary>\r
public Boolean Grayscale\r
{\r
- get\r
- {\r
- return this.q_grayscale;\r
- }\r
+ get { return q_grayscale; }\r
}\r
\r
- private Boolean q_twoPass;\r
/// <summary>\r
/// Returns a boolean to indicate wither Two Pass Encoding is on or off.\r
/// </summary>\r
public Boolean TwoPass\r
{\r
- get\r
- {\r
- return this.q_twoPass;\r
- }\r
+ get { return q_twoPass; }\r
}\r
\r
- private Boolean q_turboFirst;\r
/// <summary>\r
/// Returns a boolean to indicate wither Chapter Markers is on or off.\r
/// </summary>\r
public Boolean TurboFirstPass\r
{\r
- get\r
- {\r
- return this.q_turboFirst;\r
- }\r
+ get { return q_turboFirst; }\r
}\r
\r
- private Boolean q_largeMp4;\r
/// <summary>\r
/// Returns a boolean to indicate wither Larger MP4 files is on or off.\r
/// </summary>\r
public Boolean LargeMP4\r
{\r
- get\r
- {\r
- return this.q_largeMp4;\r
- }\r
+ get { return q_largeMp4; }\r
}\r
\r
- private Boolean q_ipodAtom;\r
/// <summary>\r
/// Returns a boolean to indicate wither Larger MP4 files is on or off.\r
/// </summary>\r
public Boolean IpodAtom\r
{\r
- get\r
- {\r
- return this.q_ipodAtom;\r
- }\r
+ get { return q_ipodAtom; }\r
}\r
\r
- private Boolean q_optimizeMp4;\r
/// <summary>\r
/// Returns a boolean to indicate wither Larger MP4 files is on or off.\r
/// </summary>\r
public Boolean OptimizeMP4\r
{\r
- get\r
- {\r
- return this.q_optimizeMp4;\r
- }\r
+ get { return q_optimizeMp4; }\r
}\r
\r
- private string q_videoFramerate;\r
/// <summary>\r
/// Returns a string with the video Framerate\r
/// </summary>\r
public string VideoFramerate\r
{\r
- get\r
- {\r
- return this.q_videoFramerate;\r
- }\r
+ get { return q_videoFramerate; }\r
}\r
\r
- private string q_avgBitrate;\r
/// <summary>\r
/// Returns a string with the average video bitrate\r
/// </summary>\r
public string AverageVideoBitrate\r
{\r
- get\r
- {\r
- return this.q_avgBitrate;\r
- }\r
+ get { return q_avgBitrate; }\r
}\r
\r
- private string q_videoTargetSize;\r
/// <summary>\r
/// Returns a string with the video target size\r
/// </summary>\r
public string VideoTargetSize\r
{\r
- get\r
- {\r
- return this.q_videoTargetSize;\r
- }\r
+ get { return q_videoTargetSize; }\r
}\r
\r
- private int q_videoQuality;\r
/// <summary>\r
/// Returns a int with the video quality value\r
/// </summary>\r
public int VideoQuality\r
{\r
- get\r
- {\r
- return this.q_videoQuality;\r
- }\r
+ get { return q_videoQuality; }\r
}\r
\r
#endregion\r
\r
#region Audio Settings\r
+\r
+ private string q_audioBitrate1;\r
+ private string q_audioBitrate2;\r
+ private string q_audioBitrate3;\r
+ private string q_audioBitrate4;\r
+ private string q_audioEncoder1;\r
+ private string q_audioEncoder2;\r
+ private string q_audioEncoder3;\r
+ private string q_audioEncoder4;\r
+ private string q_audioSamplerate1;\r
+ private string q_audioSamplerate2;\r
+ private string q_audioSamplerate3;\r
+ private string q_audioSamplerate4;\r
private string q_audioTrack1;\r
+ private string q_audioTrack2;\r
+ private string q_audioTrack3;\r
+ private string q_audioTrack4;\r
+ private string q_audioTrackMix1;\r
+ private string q_audioTrackMix2;\r
+ private string q_audioTrackMix3;\r
+ private string q_audioTrackMix4;\r
+ private double q_drc1;\r
+ private double q_drc2;\r
+ private double q_drc3;\r
+ private double q_drc4;\r
+ private Boolean q_forcedSubs;\r
+ private string q_subtitles;\r
+\r
/// <summary>\r
/// Returns a string with the selected Audio track\r
/// </summary>\r
public string AudioTrack1\r
{\r
- get\r
- {\r
- return this.q_audioTrack1;\r
- }\r
+ get { return q_audioTrack1; }\r
}\r
\r
- private string q_audioTrack2;\r
/// <summary>\r
/// Returns a string with the selected Audio track\r
/// </summary>\r
public string AudioTrack2\r
{\r
- get\r
- {\r
- return this.q_audioTrack2;\r
- }\r
+ get { return q_audioTrack2; }\r
}\r
\r
- private string q_audioTrack3;\r
/// <summary>\r
/// Returns a string with the selected Audio track\r
/// </summary>\r
public string AudioTrack3\r
{\r
- get\r
- {\r
- return this.q_audioTrack3;\r
- }\r
+ get { return q_audioTrack3; }\r
}\r
\r
- private string q_audioTrack4;\r
/// <summary>\r
/// Returns a string with the selected Audio track\r
/// </summary>\r
public string AudioTrack4\r
{\r
- get\r
- {\r
- return this.q_audioTrack4;\r
- }\r
+ get { return q_audioTrack4; }\r
}\r
\r
- private string q_audioTrackMix1;\r
/// <summary>\r
/// Returns a string with the First selected Audio track Mix\r
/// </summary>\r
public string AudioTrackMix1\r
{\r
- get\r
- {\r
- return this.q_audioTrackMix1;\r
- }\r
+ get { return q_audioTrackMix1; }\r
}\r
\r
- private string q_audioTrackMix2;\r
/// <summary>\r
/// Returns a string with the First selected Audio track Mix\r
/// </summary>\r
public string AudioTrackMix2\r
{\r
- get\r
- {\r
- return this.q_audioTrackMix2;\r
- }\r
+ get { return q_audioTrackMix2; }\r
}\r
\r
- private string q_audioTrackMix3;\r
/// <summary>\r
/// Returns a string with the First selected Audio track Mix\r
/// </summary>\r
public string AudioTrackMix3\r
{\r
- get\r
- {\r
- return this.q_audioTrackMix3;\r
- }\r
+ get { return q_audioTrackMix3; }\r
}\r
\r
- private string q_audioTrackMix4;\r
/// <summary>\r
/// Returns a string with the First selected Audio track Mix\r
/// </summary>\r
public string AudioTrackMix4\r
{\r
- get\r
- {\r
- return this.q_audioTrackMix4;\r
- }\r
+ get { return q_audioTrackMix4; }\r
}\r
\r
- private string q_audioEncoder1;\r
/// <summary>\r
/// Returns an String\r
/// The Audio Encoder used.\r
/// </summary>\r
public string AudioEncoder1\r
{\r
- get\r
- {\r
- return this.q_audioEncoder1;\r
- }\r
+ get { return q_audioEncoder1; }\r
}\r
\r
- private string q_audioEncoder2;\r
/// <summary>\r
/// Returns an String\r
/// The Audio Encoder used.\r
/// </summary>\r
public string AudioEncoder2\r
{\r
- get\r
- {\r
- return this.q_audioEncoder2;\r
- }\r
+ get { return q_audioEncoder2; }\r
}\r
\r
- private string q_audioEncoder3;\r
/// <summary>\r
/// Returns an String\r
/// The Audio Encoder used.\r
/// </summary>\r
public string AudioEncoder3\r
{\r
- get\r
- {\r
- return this.q_audioEncoder3;\r
- }\r
+ get { return q_audioEncoder3; }\r
}\r
\r
- private string q_audioEncoder4;\r
/// <summary>\r
/// Returns an String\r
/// The Audio Encoder used.\r
/// </summary>\r
public string AudioEncoder4\r
{\r
- get\r
- {\r
- return this.q_audioEncoder4;\r
- }\r
+ get { return q_audioEncoder4; }\r
}\r
\r
- private string q_audioBitrate1;\r
/// <summary>\r
/// Returns a string with the audio bitrate\r
/// </summary>\r
public string AudioBitrate1\r
{\r
- get\r
- {\r
- return this.q_audioBitrate1;\r
- }\r
+ get { return q_audioBitrate1; }\r
}\r
\r
- private string q_audioBitrate2;\r
/// <summary>\r
/// Returns a string with the audio bitrate\r
/// </summary>\r
public string AudioBitrate2\r
{\r
- get\r
- {\r
- return this.q_audioBitrate2;\r
- }\r
+ get { return q_audioBitrate2; }\r
}\r
\r
- private string q_audioBitrate3;\r
/// <summary>\r
/// Returns a string with the audio bitrate\r
/// </summary>\r
public string AudioBitrate3\r
{\r
- get\r
- {\r
- return this.q_audioBitrate3;\r
- }\r
+ get { return q_audioBitrate3; }\r
}\r
\r
- private string q_audioBitrate4;\r
/// <summary>\r
/// Returns a string with the audio bitrate\r
/// </summary>\r
public string AudioBitrate4\r
{\r
- get\r
- {\r
- return this.q_audioBitrate4;\r
- }\r
+ get { return q_audioBitrate4; }\r
}\r
\r
- private string q_audioSamplerate1;\r
/// <summary>\r
/// Returns a string with the audio sample rate\r
/// </summary>\r
public string AudioSamplerate1\r
{\r
- get\r
- {\r
- return this.q_audioSamplerate1;\r
- }\r
+ get { return q_audioSamplerate1; }\r
}\r
\r
- private string q_audioSamplerate2;\r
/// <summary>\r
/// Returns a string with the audio sample rate\r
/// </summary>\r
public string AudioSamplerate2\r
{\r
- get\r
- {\r
- return this.q_audioSamplerate2;\r
- }\r
+ get { return q_audioSamplerate2; }\r
}\r
\r
- private string q_audioSamplerate3;\r
/// <summary>\r
/// Returns a string with the audio sample rate\r
/// </summary>\r
public string AudioSamplerate3\r
{\r
- get\r
- {\r
- return this.q_audioSamplerate3;\r
- }\r
+ get { return q_audioSamplerate3; }\r
}\r
\r
- private string q_audioSamplerate4;\r
/// <summary>\r
/// Returns a string with the audio sample rate\r
/// </summary>\r
public string AudioSamplerate4\r
{\r
- get\r
- {\r
- return this.q_audioSamplerate4;\r
- }\r
+ get { return q_audioSamplerate4; }\r
}\r
\r
- private double q_drc1;\r
/// <summary>\r
/// Returns a string with the selected subtitle track\r
/// </summary>\r
public double DRC1\r
{\r
- get\r
- {\r
- return this.q_drc1;\r
- }\r
+ get { return q_drc1; }\r
}\r
\r
- private double q_drc2;\r
/// <summary>\r
/// Returns a string with the selected subtitle track\r
/// </summary>\r
public double DRC2\r
{\r
- get\r
- {\r
- return this.q_drc2;\r
- }\r
+ get { return q_drc2; }\r
}\r
\r
- private double q_drc3;\r
/// <summary>\r
/// Returns a string with the selected subtitle track\r
/// </summary>\r
public double DRC3\r
{\r
- get\r
- {\r
- return this.q_drc3;\r
- }\r
+ get { return q_drc3; }\r
}\r
\r
- private double q_drc4;\r
/// <summary>\r
/// Returns a string with the selected subtitle track\r
/// </summary>\r
public double DRC4\r
{\r
- get\r
- {\r
- return this.q_drc4;\r
- }\r
+ get { return q_drc4; }\r
}\r
\r
- private string q_subtitles;\r
/// <summary>\r
/// Returns a string with the selected subtitle track\r
/// </summary>\r
public string Subtitles\r
{\r
- get\r
- {\r
- return this.q_subtitles;\r
- }\r
+ get { return q_subtitles; }\r
}\r
\r
- private Boolean q_forcedSubs;\r
/// <summary>\r
/// Returns a string with the selected subtitle track\r
/// </summary>\r
public Boolean ForcedSubtitles\r
{\r
- get\r
- {\r
- return this.q_forcedSubs;\r
- }\r
+ get { return q_forcedSubs; }\r
}\r
\r
#endregion\r
\r
#region Other\r
+\r
private string q_h264;\r
+ private Boolean q_verbose;\r
+\r
/// <summary>\r
/// Returns a string with the Advanced H264 query string\r
/// </summary>\r
public string H264Query\r
{\r
- get\r
- {\r
- return this.q_h264;\r
- }\r
+ get { return q_h264; }\r
}\r
- private Boolean q_verbose;\r
+\r
/// <summary>\r
/// Returns a string with the Advanced H264 query string\r
/// </summary>\r
public Boolean Verbose\r
{\r
- get\r
- {\r
- return this.q_verbose;\r
- }\r
+ get { return q_verbose; }\r
}\r
+\r
#endregion\r
\r
#endregion\r
\r
+ // All the Main Window GUI options\r
+\r
/// <summary>\r
/// Takes in a query which can be in any order and parses it. \r
/// All varibles are then set so they can be used elsewhere.\r
/// <returns>A Parsed Query</returns>\r
public static QueryParser Parse(String input)\r
{\r
- QueryParser thisQuery = new QueryParser();\r
+ var thisQuery = new QueryParser();\r
\r
#region Regular Expressions\r
+\r
// Useful Destination Finder\r
//Regex r1 = new Regex(@"(-i)(?:\s\"")([a-zA-Z0-9?';!^%&*()_\-:\\\s\.]+)(?:\"")");\r
//Match source = r1.Match(input.Replace('"', '\"'));\r
Match audioTrack3 = Regex.Match(input, @"-a ([0-9]*),([0-9]*),([0-9]*)");\r
Match audioTrack4 = Regex.Match(input, @"-a ([0-9]*),([0-9]*),([0-9]*),([0-9]*)");\r
\r
- Match audioTrack1Mix = Regex.Match(input, @"-6 ([0-9a-z0-9]*)"); \r
+ Match audioTrack1Mix = Regex.Match(input, @"-6 ([0-9a-z0-9]*)");\r
Match audioTrack2Mix = Regex.Match(input, @"-6 ([0-9a-z0-9]*),([0-9a-z0-9]*)");\r
Match audioTrack3Mix = Regex.Match(input, @"-6 ([0-9a-z0-9]*),([0-9a-z0-9]*),([0-9a-z0-9]*)");\r
- Match audioTrack4Mix = Regex.Match(input, @"-6 ([0-9a-z0-9]*),([0-9a-z0-9]*),([0-9a-z0-9]*),([0-9a-z0-9]*)"); \r
+ Match audioTrack4Mix = Regex.Match(input, @"-6 ([0-9a-z0-9]*),([0-9a-z0-9]*),([0-9a-z0-9]*),([0-9a-z0-9]*)");\r
\r
Match audioEncoder1 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*)");\r
Match audioEncoder2 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)");\r
Match audioEncoder3 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)");\r
- Match audioEncoder4 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)");\r
+ Match audioEncoder4 = Regex.Match(input,\r
+ @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)");\r
\r
Match audioBitrate1 = Regex.Match(input, @"-B ([0-9auto]*)");\r
Match audioBitrate2 = Regex.Match(input, @"-B ([0-9auto]*),([0-9auto]*)");\r
\r
//Program Options\r
Match verbose = Regex.Match(input, @" -v");\r
+\r
#endregion\r
\r
#region Set Varibles\r
+\r
try\r
{\r
#region Source Tab\r
- if (title.Success != false)\r
- thisQuery.q_dvdTitle = int.Parse(title.ToString().Replace("-t ", ""));\r
\r
- if (chapters.Success != false)\r
+ if (title.Success)\r
+ thisQuery.q_dvdTitle = int.Parse(title.ToString().Replace("-t ", ""));\r
+\r
+ if (chapters.Success)\r
{\r
- string[] actTitles = new string[2];\r
+ var actTitles = new string[2];\r
actTitles = chapters.ToString().Replace("-c ", "").Split('-');\r
thisQuery.q_chaptersStart = int.Parse(actTitles[0]);\r
if (actTitles.Length > 1)\r
thisQuery.q_chaptersFinish = thisQuery.q_chaptersStart;\r
}\r
\r
- if (format.Success != false)\r
+ if (format.Success)\r
thisQuery.q_format = format.ToString().Replace("-f ", "");\r
\r
#endregion\r
\r
#region Picture Tab\r
\r
- if (width.Success != false)\r
+ if (width.Success)\r
thisQuery.q_videoWidth = int.Parse(width.ToString().Replace("-w ", ""));\r
\r
- if (height.Success != false)\r
+ if (height.Success)\r
thisQuery.q_videoHeight = int.Parse(height.ToString().Replace("-l ", ""));\r
\r
- if (maxWidth.Success != false)\r
+ if (maxWidth.Success)\r
thisQuery.q_maxWidth = int.Parse(maxWidth.ToString().Replace("-X ", ""));\r
\r
- if (maxHeight.Success != false)\r
+ if (maxHeight.Success)\r
thisQuery.q_maxHeight = int.Parse(maxHeight.ToString().Replace("-Y ", ""));\r
\r
- if (crop.Success != false)\r
+ if (crop.Success)\r
{\r
thisQuery.q_cropValues = crop.ToString().Replace("--crop ", "");\r
- string[] actCropValues = new string[3];\r
+ var actCropValues = new string[3];\r
actCropValues = thisQuery.q_cropValues.Split(':');\r
thisQuery.q_croptop = actCropValues[0];\r
thisQuery.q_cropbottom = actCropValues[1];\r
// Deblock Slider\r
string deblockValue = "";\r
thisQuery.q_deBlock = 0;\r
- if (deblock.Success != false)\r
+ if (deblock.Success)\r
deblockValue = deblock.ToString().Replace("--deblock=", "");\r
\r
if (deblockValue != "")\r
thisQuery.q_decomb = decomb.Success;\r
\r
thisQuery.q_deinterlace = "None";\r
- if (deinterlace.Success != false)\r
+ if (deinterlace.Success)\r
{\r
- switch (deinterlace.ToString().Replace("--deinterlace=", "").Replace("\"",""))\r
+ switch (deinterlace.ToString().Replace("--deinterlace=", "").Replace("\"", ""))\r
{\r
case "fast":\r
thisQuery.q_deinterlace = "Fast";\r
}\r
\r
thisQuery.q_denoise = "None";\r
- if (denoise.Success != false)\r
+ if (denoise.Success)\r
{\r
switch (denoise.ToString().Replace("--denoise=", "").Replace("\"", ""))\r
{\r
thisQuery.q_denoise = "None";\r
break;\r
}\r
-\r
}\r
thisQuery.q_anamorphic = anamorphic.Success;\r
- if (chapterMarkersFileMode.Success == true || chapterMarkers.Success == true)\r
+ if (chapterMarkersFileMode.Success || chapterMarkers.Success)\r
thisQuery.q_chapterMarkers = true;\r
- \r
+\r
thisQuery.q_looseAnamorphic = lanamorphic.Success;\r
\r
#endregion\r
- \r
+\r
#region Video Settings Tab\r
+\r
thisQuery.q_grayscale = grayscale.Success;\r
thisQuery.q_twoPass = twoPass.Success;\r
thisQuery.q_turboFirst = turboFirstPass.Success;\r
thisQuery.q_largeMp4 = largerMp4.Success;\r
- if (videoFramerate.Success != false)\r
+ if (videoFramerate.Success)\r
thisQuery.q_videoFramerate = videoFramerate.ToString().Replace("-r ", "");\r
else\r
thisQuery.q_videoFramerate = "Same as source";\r
\r
- if (videoBitrate.Success != false)\r
+ if (videoBitrate.Success)\r
thisQuery.q_avgBitrate = videoBitrate.ToString().Replace("-b ", "");\r
- if (videoFilesize.Success != false)\r
+ if (videoFilesize.Success)\r
thisQuery.q_videoTargetSize = videoFilesize.ToString().Replace("-S ", "");\r
\r
double qConvert = 0;\r
- if (videoQuality.Success != false)\r
+ if (videoQuality.Success)\r
{\r
- qConvert = double.Parse(videoQuality.ToString().Replace("-q ", ""), Culture) * 100;\r
- qConvert = System.Math.Ceiling(qConvert);\r
+ qConvert = double.Parse(videoQuality.ToString().Replace("-q ", ""), Culture)*100;\r
+ qConvert = Math.Ceiling(qConvert);\r
thisQuery.q_videoQuality = int.Parse(qConvert.ToString());\r
}\r
thisQuery.q_ipodAtom = ipodAtom.Success;\r
// Tracks\r
thisQuery.q_audioTrack1 = "Automatic";\r
\r
- if (audioTrack2.Success != false)\r
+ if (audioTrack2.Success)\r
{\r
string[] audioChan = audioTrack2.ToString().Split(',');\r
thisQuery.q_audioTrack2 = audioChan[1];\r
else\r
thisQuery.q_audioTrack2 = "None";\r
\r
- if (audioTrack3.Success != false)\r
+ if (audioTrack3.Success)\r
{\r
string[] audioChan = audioTrack3.ToString().Split(',');\r
thisQuery.q_audioTrack3 = audioChan[2];\r
else\r
thisQuery.q_audioTrack3 = "None";\r
\r
- if (audioTrack4.Success != false)\r
+ if (audioTrack4.Success)\r
{\r
string[] audioChan = audioTrack4.ToString().Split(',');\r
thisQuery.q_audioTrack4 = audioChan[3];\r
else\r
thisQuery.q_audioTrack4 = "None";\r
\r
- \r
+\r
// Mixdowns\r
thisQuery.q_audioTrackMix1 = "Automatic";\r
- if (audioTrack1Mix.Success != false)\r
- thisQuery.q_audioTrackMix1 = getMixDown(audioTrack1Mix.ToString().Replace("-6 ", "").Replace(" ", ""));\r
+ if (audioTrack1Mix.Success)\r
+ thisQuery.q_audioTrackMix1 =\r
+ getMixDown(audioTrack1Mix.ToString().Replace("-6 ", "").Replace(" ", ""));\r
\r
thisQuery.q_audioTrackMix2 = "Automatic";\r
- if (audioTrack2Mix.Success != false)\r
+ if (audioTrack2Mix.Success)\r
{\r
string[] audio2mix = audioTrack2Mix.ToString().Split(',');\r
thisQuery.q_audioTrackMix2 = getMixDown(audio2mix[1].Trim());\r
}\r
\r
thisQuery.q_audioTrackMix3 = "Automatic";\r
- if (audioTrack3Mix.Success != false)\r
+ if (audioTrack3Mix.Success)\r
{\r
string[] audio3mix = audioTrack3Mix.ToString().Split(',');\r
thisQuery.q_audioTrackMix3 = getMixDown(audio3mix[2].Trim());\r
}\r
\r
thisQuery.q_audioTrackMix4 = "Automatic";\r
- if (audioTrack4Mix.Success != false)\r
+ if (audioTrack4Mix.Success)\r
{\r
string[] audio4mix = audioTrack4Mix.ToString().Split(',');\r
thisQuery.q_audioTrackMix4 = getMixDown(audio4mix[3].Trim());\r
}\r
- \r
+\r
\r
// Audio Encoders\r
- if (audioEncoder1.Success != false)\r
+ if (audioEncoder1.Success)\r
thisQuery.q_audioEncoder1 = getAudioEncoder(audioEncoder1.ToString().Replace("-E ", ""));\r
\r
- if (audioEncoder2.Success != false)\r
+ if (audioEncoder2.Success)\r
{\r
string[] audio2enc = audioEncoder2.ToString().Split(',');\r
thisQuery.q_audioEncoder2 = getAudioEncoder(audio2enc[1].Trim());\r
}\r
\r
- if (audioEncoder3.Success != false)\r
+ if (audioEncoder3.Success)\r
{\r
string[] audio3enc = audioEncoder3.ToString().Split(',');\r
thisQuery.q_audioEncoder3 = getAudioEncoder(audio3enc[2].Trim());\r
}\r
\r
- if (audioEncoder4.Success != false)\r
+ if (audioEncoder4.Success)\r
{\r
string[] audio4enc = audioEncoder4.ToString().Split(',');\r
thisQuery.q_audioEncoder4 = getAudioEncoder(audio4enc[3].Trim());\r
\r
// Audio Bitrate\r
thisQuery.q_audioBitrate1 = "";\r
- if (audioBitrate1.Success != false)\r
+ if (audioBitrate1.Success)\r
{\r
thisQuery.q_audioBitrate1 = audioBitrate1.ToString().Replace("-B ", "").Trim();\r
if (audioBitrate1.ToString().Replace("-B ", "").Trim() == "0") thisQuery.q_audioBitrate1 = "Auto";\r
}\r
\r
thisQuery.q_audioBitrate2 = "";\r
- if (audioBitrate2.Success != false && audioTrack2.Success == true)\r
+ if (audioBitrate2.Success && audioTrack2.Success)\r
{\r
string[] audioBitrateSelect = audioBitrate2.ToString().Split(',');\r
if (audioBitrateSelect[1].Trim() == "0") audioBitrateSelect[1] = "Auto";\r
- thisQuery.q_audioBitrate2 = audioBitrateSelect[1].Trim(); \r
+ thisQuery.q_audioBitrate2 = audioBitrateSelect[1].Trim();\r
}\r
\r
thisQuery.q_audioBitrate3 = "";\r
- if (audioBitrate3.Success != false && audioTrack3.Success == true)\r
+ if (audioBitrate3.Success && audioTrack3.Success)\r
{\r
string[] audioBitrateSelect = audioBitrate3.ToString().Split(',');\r
if (audioBitrateSelect[2].Trim() == "0") audioBitrateSelect[2] = "Auto";\r
}\r
\r
thisQuery.q_audioBitrate4 = "";\r
- if (audioBitrate4.Success != false)\r
+ if (audioBitrate4.Success)\r
{\r
string[] audioBitrateSelect = audioBitrate4.ToString().Split(',');\r
if (audioBitrateSelect[3].Trim() == "0") audioBitrateSelect[3] = "Auto";\r
// Audio Sample Rate\r
// Make sure to change 0 to Auto\r
thisQuery.q_audioSamplerate1 = "Auto";\r
- if (audioSampleRate1.Success != false)\r
+ if (audioSampleRate1.Success)\r
{\r
thisQuery.q_audioSamplerate1 = audioSampleRate1.ToString().Replace("-R ", "").Trim();\r
if (thisQuery.q_audioSamplerate1 == "0") thisQuery.q_audioSamplerate1 = "Auto";\r
}\r
- \r
\r
- if (audioSampleRate2.Success != false)\r
+\r
+ if (audioSampleRate2.Success)\r
{\r
string[] audioSRSelect = audioSampleRate2.ToString().Split(',');\r
if (audioSRSelect[1] == "0") audioSRSelect[1] = "Auto";\r
thisQuery.q_audioSamplerate2 = audioSRSelect[1].Trim();\r
}\r
\r
- if (audioSampleRate3.Success != false)\r
+ if (audioSampleRate3.Success)\r
{\r
string[] audioSRSelect = audioSampleRate3.ToString().Split(',');\r
if (audioSRSelect[2] == "0") audioSRSelect[2] = "Auto";\r
thisQuery.q_audioSamplerate3 = audioSRSelect[2].Trim();\r
}\r
\r
- if (audioSampleRate4.Success != false)\r
+ if (audioSampleRate4.Success)\r
{\r
string[] audioSRSelect = audioSampleRate4.ToString().Split(',');\r
if (audioSRSelect[3] == "0") audioSRSelect[3] = "Auto";\r
float drcValue;\r
\r
thisQuery.q_drc1 = 1;\r
- if (drc1.Success != false)\r
+ if (drc1.Success)\r
{\r
string value = drc1.ToString().Replace("-D ", "");\r
float.TryParse(value, out drcValue);\r
thisQuery.q_drc1 = drcValue;\r
}\r
- \r
- thisQuery.q_drc2 = 1; \r
- if (drc2.Success != false)\r
+\r
+ thisQuery.q_drc2 = 1;\r
+ if (drc2.Success)\r
{\r
string[] drcPoint = drc2.ToString().Split(',');\r
float.TryParse(drcPoint[1], out drcValue);\r
}\r
\r
thisQuery.q_drc3 = 1;\r
- if (drc3.Success != false)\r
+ if (drc3.Success)\r
{\r
string[] drcPoint = drc3.ToString().Split(',');\r
float.TryParse(drcPoint[2], out drcValue);\r
}\r
\r
thisQuery.q_drc4 = 1;\r
- if (drc4.Success != false)\r
+ if (drc4.Success)\r
{\r
string[] drcPoint = drc4.ToString().Split(',');\r
float.TryParse(drcPoint[3], out drcValue);\r
}\r
\r
// Subtitle Stuff\r
- if (subtitles.Success != false)\r
+ if (subtitles.Success)\r
thisQuery.q_subtitles = subtitles.ToString().Replace("-s ", "");\r
else\r
{\r
#endregion\r
\r
#region H.264 and other\r
+\r
//\r
//H264 Tab\r
//\r
- if (x264.Success != false)\r
+ if (x264.Success)\r
thisQuery.q_h264 = x264.ToString().Replace("-x ", "");\r
\r
//\r
//Progam Options\r
//\r
thisQuery.q_verbose = verbose.Success;\r
+\r
#endregion\r
}\r
catch (Exception exc)\r
{\r
- MessageBox.Show("An error has occured in the Query Parser. Please report this error on the forum in the 'Windows' support section. \n\n" + exc.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+ MessageBox.Show(\r
+ "An error has occured in the Query Parser. Please report this error on the forum in the 'Windows' support section. \n\n" +\r
+ exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
}\r
+\r
#endregion\r
\r
return thisQuery;\r
return "Automatic";\r
}\r
}\r
+\r
private static string getAudioEncoder(string audioEnc)\r
{\r
switch (audioEnc)\r