From af4123faa1127aa0d9a9a14d86855dd167ef1cd6 Mon Sep 17 00:00:00 2001 From: sr55 Date: Sat, 21 May 2011 19:55:50 +0000 Subject: WinGui: Fix a Serialization issue that was causing the Winforms designer to trip up when loading the main form. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3990 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- .../HandBrake.ApplicationServices.csproj | 1 + .../Model/Encoding/AudioTrack.cs | 6 ++ .../HandBrake.ApplicationServices/Parsing/Audio.cs | 78 +------------------ .../Parsing/AudioHelper.cs | 91 ++++++++++++++++++++++ .../HandBrake.ApplicationServices/Parsing/Title.cs | 2 +- .../Services/PresetService.cs | 12 +++ 6 files changed, 114 insertions(+), 76 deletions(-) create mode 100644 win/CS/HandBrake.ApplicationServices/Parsing/AudioHelper.cs (limited to 'win/CS/HandBrake.ApplicationServices') diff --git a/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj b/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj index f6a0122d9..94f87478c 100644 --- a/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj +++ b/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj @@ -122,6 +122,7 @@ + diff --git a/win/CS/HandBrake.ApplicationServices/Model/Encoding/AudioTrack.cs b/win/CS/HandBrake.ApplicationServices/Model/Encoding/AudioTrack.cs index 190bdab86..59f411b85 100644 --- a/win/CS/HandBrake.ApplicationServices/Model/Encoding/AudioTrack.cs +++ b/win/CS/HandBrake.ApplicationServices/Model/Encoding/AudioTrack.cs @@ -5,6 +5,9 @@ namespace HandBrake.ApplicationServices.Model.Encoding { + using System; + using System.ComponentModel; + using HandBrake.ApplicationServices.Parsing; /// @@ -26,6 +29,8 @@ namespace HandBrake.ApplicationServices.Model.Encoding /// /// The Scanned Audio Track /// + [NonSerialized] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] private Audio scannedTrack; #endregion @@ -62,6 +67,7 @@ namespace HandBrake.ApplicationServices.Model.Encoding /// /// Gets or sets the Scanned Audio Tracks /// + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public Audio ScannedTrack { get diff --git a/win/CS/HandBrake.ApplicationServices/Parsing/Audio.cs b/win/CS/HandBrake.ApplicationServices/Parsing/Audio.cs index 14f807c6c..a9273241c 100644 --- a/win/CS/HandBrake.ApplicationServices/Parsing/Audio.cs +++ b/win/CS/HandBrake.ApplicationServices/Parsing/Audio.cs @@ -5,6 +5,7 @@ namespace HandBrake.ApplicationServices.Parsing { + using System; using System.Collections.Generic; using System.IO; using System.Text.RegularExpressions; @@ -12,6 +13,7 @@ namespace HandBrake.ApplicationServices.Parsing /// /// An object represending an AudioTrack associated with a Title, in a DVD /// + [Serializable] public class Audio { /// @@ -56,17 +58,6 @@ namespace HandBrake.ApplicationServices.Parsing this.Bitrate = bitrate; } - /// - /// Gets A Dummy Not Found Track - /// - public static Audio NoneFound - { - get - { - return new Audio { Description = "None Found" }; - } - } - /// /// Gets or sets The track number of this Audio Track /// @@ -102,76 +93,13 @@ namespace HandBrake.ApplicationServices.Parsing /// public int Bitrate { get; set; } - /// - /// Parse the CLI input to an Audio Track object - /// - /// - /// The output. - /// - /// - /// An Audio Track obkect - /// - public static Audio Parse(StringReader output) - { - string audioTrack = output.ReadLine(); - Match m = Regex.Match(audioTrack, @"^ \+ ([0-9]*), ([A-Za-z0-9,\s]*) \((.*)\) \((.*)\)"); - Match track = Regex.Match(audioTrack, @"^ \+ ([0-9]*), ([A-Za-z0-9,\s]*) \((.*)\)"); // ID and Language - Match iso639_2 = Regex.Match(audioTrack, @"iso639-2: ([a-zA-Z]*)\)"); - Match samplerate = Regex.Match(audioTrack, @"([0-9]*)Hz"); - Match bitrate = Regex.Match(audioTrack, @"([0-9]*)bps"); - - string subformat = m.Groups[4].Value.Trim().Contains("iso639") ? null : m.Groups[4].Value; - string samplerateVal = samplerate.Success ? samplerate.Groups[0].Value.Replace("Hz", string.Empty).Trim() : "0"; - string bitrateVal = bitrate.Success ? bitrate.Groups[0].Value.Replace("bps", string.Empty).Trim() : "0"; - - if (track.Success) - { - var thisTrack = new Audio - { - TrackNumber = int.Parse(track.Groups[1].Value.Trim()), - Language = track.Groups[2].Value, - Format = m.Groups[3].Value, - Description = subformat, - SampleRate = int.Parse(samplerateVal), - Bitrate = int.Parse(bitrateVal), - LanguageCode = iso639_2.Value.Replace("iso639-2: ", string.Empty).Replace(")", string.Empty) - }; - return thisTrack; - } - - return null; - } - - /// - /// Pase a list of audio tracks - /// - /// - /// The output. - /// - /// - /// An array of audio tracks - /// - public static Audio[] ParseList(StringReader output) - { - var tracks = new List