JimEvans: Removing deprecated constructors on .NET bindings InternetExplorerDriver

git-svn-id: aa1aa1384423cb28c2b1e29129bb3a91de1d9196@16092 07704840-8298-11de-bf8c-fd130f914ac9

--- dotnet/src/WebDriver/IE/InternetExplorerDriver.cs
+++ dotnet/src/WebDriver/IE/InternetExplorerDriver.cs
@@ -66,12 +66,6 @@
     /// </example>
     public class InternetExplorerDriver : RemoteWebDriver, ITakesScreenshot
     {
-        /// <summary>
-        /// The name of the ICapabilities setting to use to ignore Protected Mode settings.
-        /// </summary>
-        [Obsolete("This constant will be removed in a future version. Use InternetExplorerOptions instead.")]
-        public static readonly string IntroduceInstabilityByIgnoringProtectedModeSettings = "ignoreProtectedModeSettings";
-
         private static int serverPort;
         private static bool useLegacyServer;
         private InternetExplorerDriverServer server;
@@ -94,16 +88,6 @@
         }

         /// <summary>
-        /// Initializes a new instance of the InternetExplorerDriver class with the desired capabilities.
-        /// </summary>
-        /// <param name="desiredCapabilities">The desired capabilities of the IE driver.</param>
-        [Obsolete("Deprecated. Please use constructors using InternetExplorerOptions.")]
-        public InternetExplorerDriver(ICapabilities desiredCapabilities)
-            : this(0, desiredCapabilities)
-        {
-        }
-
-        /// <summary>
         /// Initializes a new instance of the InternetExplorerDriver class with the desired options.
         /// </summary>
         /// <param name="options">The <see cref="InternetExplorerOptions"/> used to initialize the driver.</param>
@@ -116,32 +100,9 @@
         /// Initializes a new instance of the InternetExplorerDriver class for the specified port and desired capabilities.
         /// </summary>
         /// <param name="port">The port to use to communicate with the IE server.</param>
-        /// <param name="desiredCapabilities">The desired capabilities of the IE driver.</param>
-        [Obsolete("Deprecated. Please use constructors using InternetExplorerOptions.")]
-        public InternetExplorerDriver(int port, ICapabilities desiredCapabilities)
-            : this(port, desiredCapabilities, TimeSpan.FromSeconds(60))
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the InternetExplorerDriver class for the specified port and desired capabilities.
-        /// </summary>
-        /// <param name="port">The port to use to communicate with the IE server.</param>
         /// <param name="options">The <see cref="InternetExplorerOptions"/> used to initialize the driver.</param>
         public InternetExplorerDriver(int port, InternetExplorerOptions options)
             : this(port, options, TimeSpan.FromSeconds(60))
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the InternetExplorerDriver class for the specified port, desired capabilities, and command timeout.
-        /// </summary>
-        /// <param name="port">The port to use to communicate with the IE server.</param>
-        /// <param name="desiredCapabilities">The desired capabilities of the IE driver.</param>
-        /// <param name="commandTimeout">The maximum amount of time to wait for each command.</param>
-        [Obsolete("Deprecated. Please use constructors using InternetExplorerOptions.")]
-        public InternetExplorerDriver(int port, ICapabilities desiredCapabilities, TimeSpan commandTimeout)
-            : base(GetCommandExecutor(port, desiredCapabilities, commandTimeout), desiredCapabilities)
         {
         }


rename

rename

--- DynamicLinqOperations/DynamicLinqOperations.cs
+++ DynamicLinqOperations/DynamicLinqOperations.cs
@@ -49,8 +49,8 @@
                 throw new InvalidOperationException("Property Not Found");
             var operation = whereTemplate.MakeGenericMethod(typeof(TSource));
             var selector = (Func<TSource, TProperty>)GetGetter<TSource>(prop);
-            Func<TSource, bool> p = e => predicate(selector(e));
-            return (IEnumerable<TSource>)operation.Invoke(null, new object[] { s, p });
+            Func<TSource, bool> componentPredicate = e => predicate(selector(e));
+            return (IEnumerable<TSource>)operation.Invoke(null, new object[] { s, componentPredicate });
         }

         public static Func<TSource, bool> MakeComponentPredicate<TSource, TProperty>(Func<TSource, TProperty> getter, Func<dynamic, bool> propertyPredicate)


Minor fix in pubsub (#3120)

Minor fix in pubsub (#3120)

Not removing the key from the _keyedState dictionary can cause a memory leak if no further messages are sent with this ordering-key. The key not existing in the dictionary has the same meaning as the state being set to Normal.

--- apis/Google.Cloud.PubSub.V1/Google.Cloud.PubSub.V1/PublisherClient.cs
+++ apis/Google.Cloud.PubSub.V1/Google.Cloud.PubSub.V1/PublisherClient.cs
@@ -597,7 +597,8 @@
                 {
                     if (state.State == OrderingKeyState.Error)
                     {
-                        state.SetState(OrderingKeyState.Normal);
+                        // Remove ordering-key, which signals this ordering-key is in Normal state.
+                        _keyedState.Remove(orderingKey);
                     }
                 }
             }


Added call to component initializers

Added call to component initializers

--- DualityEditor/UndoRedoActions/CreateComponentAction.cs
+++ DualityEditor/UndoRedoActions/CreateComponentAction.cs
@@ -75,7 +75,14 @@
 					i--;
 				}
 			}
-			DualityEditorApp.NotifyObjPropChanged(this, new ObjectSelection(this.targetParentObj));
+
+            //By this point, all Component dependencies are satisfied, so we can initialize the Components if needed
+		    foreach (Component t in this.targetObj)
+		    {
+		        InitializeComponent(t);
+		    }
+
+		    DualityEditorApp.NotifyObjPropChanged(this, new ObjectSelection(this.targetParentObj));
 			DualityEditorApp.NotifyObjPropChanged(this, new ObjectSelection(Scene.Current));
 		}
 		public override void Undo()
@@ -89,5 +96,22 @@
 			DualityEditorApp.NotifyObjPropChanged(this, new ObjectSelection(this.targetParentObj));
 			DualityEditorApp.NotifyObjPropChanged(this, new ObjectSelection(Scene.Current));
 		}
-	}
+        private bool InitializeComponent(Component cmp)
+        {
+            IEditorAction initializer = this.GetInitializeComponentAction(cmp);
+            if (initializer == null) return false;
+
+            initializer.Perform(cmp);
+            return true;
+        }
+        private IEditorAction GetInitializeComponentAction(Component cmp)
+        {
+            if (cmp == null) return null;
+
+            var actions = DualityEditorApp.GetEditorActions(cmp.GetType(), new[] { cmp },
+                DualityEditorApp.ActionContextInitializeComponent);
+
+            return actions == null ? null : actions.FirstOrDefault(); ;
+        }
+    }
 }


Updated the  seed method with more users

Updated the  seed method with more users

--- SpaceBlog/SpaceBlog/Migrations/Configuration.cs
+++ SpaceBlog/SpaceBlog/Migrations/Configuration.cs
@@ -19,11 +19,11 @@
         {
             if (!db.Users.Any())
             {
-                CreateUser(db, "a@a.com", "Gosho", "123456");
+                CreateUser(db, "georgi@gmail.com", "Georgi", "123456");
                 CreateUser(db, "alex@gmail.com", "Alexander", "123456");
                 CreateUser(db, "lubima@gmail.com", "Lubima", "123456");
+                CreateUser(db, "goran@gmail.com", "Goran", "123456");
                 CreateUser(db, "admin@gmail.com", "Admin Adminov", "123456");
-

                 db.SaveChanges();
             }
@@ -34,6 +34,7 @@
                 CreateRole(db, "Moderators");

                 AddUserToRole(db, "admin@gmail.com", "Administrators");
+                AddUserToRole(db, "alex@gmail.com", "Moderators");

                 db.SaveChanges();
             }


Draws the mapview more to fix display issues.

--- source/SharpFlame/Controls/MapViewControl.cs
+++ source/SharpFlame/Controls/MapViewControl.cs
@@ -314,6 +314,8 @@
             map.ViewInfo.MouseOver.ScreenPos.Y = e.Y;

             map.ViewInfo.MouseOverPosCalc();
+
+            DrawViewLater ();
         }

         public void Pos_Display_Update()
@@ -924,6 +926,8 @@
             {
                 OpenGLControl.Focus();
             }
+
+            DrawViewLater ();
         }

         public void OpenGL_MouseWheel(object sender, MouseEventArgs e)


ItemClient.GetSearchOptions Skip and Take initials changed to lowercase in SDKExceptionResponseTestAsync for NamingConvention.

--- src/XOMNI.SDK.Public.Test/Fixtures/Clients/Catalog/ItemClientFixture.cs
+++ src/XOMNI.SDK.Public.Test/Fixtures/Clients/Catalog/ItemClientFixture.cs
@@ -1494,8 +1494,8 @@
             await base.SDKExceptionResponseTestAsync(
                 (ItemClient c) => c.GetSearchOptions(new ItemSearchOptionsRequest()
                 {
-                    Skip = -1,
-                    Take = 4,
+                    skip = -1,
+                    take = 4,
                     DelimitedDynamicAttributeValues = "1:1"
                 }),
                 new ArgumentException("Skip must be greater than or equal to 0."));
@@ -1503,16 +1503,16 @@
             await base.SDKExceptionResponseTestAsync(
                (ItemClient c) => c.GetSearchOptions(new ItemSearchOptionsRequest()
                {
-                   Skip = 1,
-                   Take = 0,
+                   skip = 1,
+                   take = 0,
                    DelimitedDynamicAttributeValues = "1:1"
                }),
-               new ArgumentOutOfRangeException("Take", 0, string.Format("{0} must be in range ({1} - {2}).", "Take", 1, 1000)));
+               new ArgumentOutOfRangeException("take", 0, string.Format("{0} must be in range ({1} - {2}).", "Take", 1, 1000)));

             await base.SDKExceptionResponseTestAsync(
                 (ItemClient c) => c.GetSearchOptions(new ItemSearchOptionsRequest()
                 {
-                    Take = 1,
+                    take = 1,
                     MinWeight = 300,
                     MaxWeight = 400,
                     DelimitedDynamicAttributeValues = "1:1"
@@ -1523,7 +1523,7 @@
             await base.SDKExceptionResponseTestAsync(
               (ItemClient c) => c.GetSearchOptions(new ItemSearchOptionsRequest()
               {
-                  Take = 1,
+                  take = 1,
                   MinWidth = 300,
                   MinHeight = 300,
                   MinDepth = 400,
@@ -1534,7 +1534,7 @@
             await base.SDKExceptionResponseTestAsync(
               (ItemClient c) => c.GetSearchOptions(new ItemSearchOptionsRequest()
               {
-                  Take = 1,
+                  take = 1,
                   MinWidth = 300,
                   MaxWidth = 220,
                   DelimitedDynamicAttributeValues = "1:1"


ProjectConfiguration error checking.

ProjectConfiguration error checking.

--- Editor/Build/Settings/ProjectConfigurations.cs
+++ Editor/Build/Settings/ProjectConfigurations.cs
@@ -49,6 +49,35 @@
         }

         return keychains.ToArray();
+    }
+
+    public int GetEnabledBuildsCount()
+    {
+        int count = 0;
+
+        foreach (string key in configSet.Keys)
+        {
+            Configuration config = configSet[key];
+            NavigateTree(key, ref config, 0, ref count);
+        }
+
+        return count;
+    }
+
+    private void NavigateTree(string key, ref Configuration config, int depth, ref int count)
+    {
+        if (depth >= 2 && config.enabled && (config.childConfigurations == null || config.childConfigurations.Count == 0))
+        {
+            ++count;
+        }
+        else if (config.enabled)
+        {
+            foreach (string childKey in config.childConfigurations.Keys)
+            {
+                Configuration childConfig = config.childConfigurations[childKey];
+                NavigateTree(childKey, ref childConfig, depth + 1, ref count);
+            }
+        }
     }

     private void BuildKeychainsRecursive(ref List<string> keychains, Configuration config, string key, string currentKeychain, int depth)
@@ -101,6 +130,9 @@
             }
         }

+        if (releaseType == null)
+            return false;
+
         // Parse platform.
         ++targetKey;
         if (keyCount > targetKey && childConfig != null && childConfig.childConfigurations != null && childConfig.childConfigurations.ContainsKey(keys[targetKey]))
@@ -117,6 +149,9 @@
                 }
             }
         }
+
+        if (platform == null)
+            return false;

         // Parse architecture.
         if (platform.architectures.Length == 1)
@@ -154,6 +189,9 @@
             }
         }

+        if (architecture == null)
+            return false;
+
         // TODO: Parse variants.

         // Parse distribution.


4.6.4.3

--- Src/Asp.Net/SqlSugar/Properties/AssemblyInfo.cs
+++ Src/Asp.Net/SqlSugar/Properties/AssemblyInfo.cs
@@ -31,5 +31,5 @@
 // You can specify all the values or you can default the Build and Revision Numbers
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("4.6.4.2")]
-[assembly: AssemblyFileVersion("4.6.4.2")]
+[assembly: AssemblyVersion("4.6.4.3")]
+[assembly: AssemblyFileVersion("4.6.4.3")]


Oops...

Oops...


Fix mouse cursor not showing properly on NPC wall tilespecs

--- EndlessClient/Rendering/MouseCursorRenderer.cs
+++ EndlessClient/Rendering/MouseCursorRenderer.cs
@@ -211,11 +211,13 @@
             item.Match(
                 some: i =>
                 {
-                    if (!_mapItemText.Visible)
+                    var data = _eifFileProvider.EIFFile[i.ItemID];
+                    var text = _itemStringService.GetStringForMapDisplay(data, i.Amount);
+
+                    if (!_mapItemText.Visible || _mapItemText.Text != text)
                     {
-                        var data = _eifFileProvider.EIFFile[i.ItemID];
                         _mapItemText.Visible = true;
-                        _mapItemText.Text = _itemStringService.GetStringForMapDisplay(data, i.Amount);
+                        _mapItemText.Text = text;
                         _mapItemText.ResizeBasedOnText();
                         _mapItemText.ForeColor = GetColorForMapDisplay(data);

@@ -239,7 +241,6 @@
                 case TileSpec.JammedDoor:
                 case TileSpec.MapEdge:
                 case TileSpec.FakeWall:
-                case TileSpec.NPCBoundary:
                 case TileSpec.VultTypo:
                     _shouldDrawCursor = false;
                     break;
@@ -263,6 +264,7 @@
                 case TileSpec.Jukebox:
                     _cursorIndex = CursorIndex.HoverNormal;
                     break;
+                case TileSpec.NPCBoundary:
                 case TileSpec.Jump:
                 case TileSpec.Water:
                 case TileSpec.Arena:


Grouping button wasn't anchored correctly.  Fixed minimum window size, too.

--- SynthesiaMetadataGui/MetadataEditor.Designer.cs
+++ SynthesiaMetadataGui/MetadataEditor.Designer.cs
@@ -28,347 +28,347 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.components = new System.ComponentModel.Container();
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MetadataEditor));
-            this.SongList = new System.Windows.Forms.ListBox();
-            this.AddSong = new System.Windows.Forms.Button();
-            this.RemoveSong = new System.Windows.Forms.Button();
-            this.UniqueIdBox = new System.Windows.Forms.TextBox();
-            this.TitleBox = new System.Windows.Forms.TextBox();
-            this.SubtitleBox = new System.Windows.Forms.TextBox();
-            this.ComposerBox = new System.Windows.Forms.TextBox();
-            this.LicenseBox = new System.Windows.Forms.TextBox();
-            this.CopyrightBox = new System.Windows.Forms.TextBox();
-            this.ArrangerBox = new System.Windows.Forms.TextBox();
-            this.DifficultyBox = new System.Windows.Forms.NumericUpDown();
-            this.RatingBox = new System.Windows.Forms.NumericUpDown();
-            this.UniqueIdLabel = new System.Windows.Forms.Label();
-            this.TitleLabel = new System.Windows.Forms.Label();
-            this.ComposerLabel = new System.Windows.Forms.Label();
-            this.SubtitleLabel = new System.Windows.Forms.Label();
-            this.DifficultyLabel = new System.Windows.Forms.Label();
-            this.LicenseLabel = new System.Windows.Forms.Label();
-            this.CopyrightLabel = new System.Windows.Forms.Label();
-            this.ArrangerLabel = new System.Windows.Forms.Label();
-            this.TagsLabel = new System.Windows.Forms.Label();
-            this.RatingLabel = new System.Windows.Forms.Label();
-            this.TagList = new System.Windows.Forms.ListBox();
-            this.TagBox = new System.Windows.Forms.TextBox();
-            this.RemoveTag = new System.Windows.Forms.Button();
-            this.AddTag = new System.Windows.Forms.Button();
-            this.MainMenu = new System.Windows.Forms.MenuStrip();
-            this.FileMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.NewMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.OpenMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.SaveMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.SaveAsMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
-            this.ImportMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.UploadMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
-            this.ExitMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.HelpMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.AboutMenu = new System.Windows.Forms.ToolStripMenuItem();
-            this.Tip = new System.Windows.Forms.ToolTip(this.components);
-            this.DifficultyRangeLabel = new System.Windows.Forms.Label();
-            this.RatingRangeLabel = new System.Windows.Forms.Label();
-            this.SaveMetadataDialog = new System.Windows.Forms.SaveFileDialog();
-            this.OpenMetadataDialog = new System.Windows.Forms.OpenFileDialog();
-            this.OpenSongDialog = new System.Windows.Forms.OpenFileDialog();
-            this.SongListLabel = new System.Windows.Forms.Label();
-            this.PropertiesGroup = new System.Windows.Forms.GroupBox();
-            this.BookmarkMeasureBox = new System.Windows.Forms.NumericUpDown();
-            this.BookmarksLabel = new System.Windows.Forms.Label();
-            this.RemoveBookmark = new System.Windows.Forms.Button();
-            this.AddBookmark = new System.Windows.Forms.Button();
-            this.BookmarkDescriptionBox = new System.Windows.Forms.TextBox();
-            this.BookmarkList = new System.Windows.Forms.ListBox();
-            this.HandsBox = new System.Windows.Forms.TextBox();
-            this.PartsLabel = new System.Windows.Forms.Label();
-            this.FingerHintBox = new System.Windows.Forms.TextBox();
-            this.FingerHintLabel = new System.Windows.Forms.Label();
-            this.SongGrouping = new System.Windows.Forms.Button();
-            ((System.ComponentModel.ISupportInitialize)(this.DifficultyBox)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.RatingBox)).BeginInit();
-            this.MainMenu.SuspendLayout();
-            this.PropertiesGroup.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.BookmarkMeasureBox)).BeginInit();
-            this.SuspendLayout();
-            //
-            // SongList
-            //
-            this.SongList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+         this.components = new System.ComponentModel.Container();
+         System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MetadataEditor));
+         this.SongList = new System.Windows.Forms.ListBox();
+         this.AddSong = new System.Windows.Forms.Button();
+         this.RemoveSong = new System.Windows.Forms.Button();
+         this.UniqueIdBox = new System.Windows.Forms.TextBox();
+         this.TitleBox = new System.Windows.Forms.TextBox();
+         this.SubtitleBox = new System.Windows.Forms.TextBox();
+         this.ComposerBox = new System.Windows.Forms.TextBox();
+         this.LicenseBox = new System.Windows.Forms.TextBox();
+         this.CopyrightBox = new System.Windows.Forms.TextBox();
+         this.ArrangerBox = new System.Windows.Forms.TextBox();
+         this.DifficultyBox = new System.Windows.Forms.NumericUpDown();
+         this.RatingBox = new System.Windows.Forms.NumericUpDown();
+         this.UniqueIdLabel = new System.Windows.Forms.Label();
+         this.TitleLabel = new System.Windows.Forms.Label();
+         this.ComposerLabel = new System.Windows.Forms.Label();
+         this.SubtitleLabel = new System.Windows.Forms.Label();
+         this.DifficultyLabel = new System.Windows.Forms.Label();
+         this.LicenseLabel = new System.Windows.Forms.Label();
+         this.CopyrightLabel = new System.Windows.Forms.Label();
+         this.ArrangerLabel = new System.Windows.Forms.Label();
+         this.TagsLabel = new System.Windows.Forms.Label();
+         this.RatingLabel = new System.Windows.Forms.Label();
+         this.TagList = new System.Windows.Forms.ListBox();
+         this.TagBox = new System.Windows.Forms.TextBox();
+         this.RemoveTag = new System.Windows.Forms.Button();
+         this.AddTag = new System.Windows.Forms.Button();
+         this.MainMenu = new System.Windows.Forms.MenuStrip();
+         this.FileMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.NewMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.OpenMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.SaveMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.SaveAsMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
+         this.ImportMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.UploadMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
+         this.ExitMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.HelpMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.AboutMenu = new System.Windows.Forms.ToolStripMenuItem();
+         this.Tip = new System.Windows.Forms.ToolTip(this.components);
+         this.DifficultyRangeLabel = new System.Windows.Forms.Label();
+         this.RatingRangeLabel = new System.Windows.Forms.Label();
+         this.SaveMetadataDialog = new System.Windows.Forms.SaveFileDialog();
+         this.OpenMetadataDialog = new System.Windows.Forms.OpenFileDialog();
+         this.OpenSongDialog = new System.Windows.Forms.OpenFileDialog();
+         this.SongListLabel = new System.Windows.Forms.Label();
+         this.PropertiesGroup = new System.Windows.Forms.GroupBox();
+         this.BookmarkMeasureBox = new System.Windows.Forms.NumericUpDown();
+         this.BookmarksLabel = new System.Windows.Forms.Label();
+         this.RemoveBookmark = new System.Windows.Forms.Button();
+         this.AddBookmark = new System.Windows.Forms.Button();
+         this.BookmarkDescriptionBox = new System.Windows.Forms.TextBox();
+         this.BookmarkList = new System.Windows.Forms.ListBox();
+         this.HandsBox = new System.Windows.Forms.TextBox();
+         this.PartsLabel = new System.Windows.Forms.Label();
+         this.FingerHintBox = new System.Windows.Forms.TextBox();
+         this.FingerHintLabel = new System.Windows.Forms.Label();
+         this.SongGrouping = new System.Windows.Forms.Button();
+         ((System.ComponentModel.ISupportInitialize)(this.DifficultyBox)).BeginInit();
+         ((System.ComponentModel.ISupportInitialize)(this.RatingBox)).BeginInit();
+         this.MainMenu.SuspendLayout();
+         this.PropertiesGroup.SuspendLayout();
+         ((System.ComponentModel.ISupportInitialize)(this.BookmarkMeasureBox)).BeginInit();
+         this.SuspendLayout();
+         //
+         // SongList
+         //
+         this.SongList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
             | System.Windows.Forms.AnchorStyles.Left)));
-            this.SongList.FormattingEnabled = true;
-            this.SongList.Location = new System.Drawing.Point(12, 46);
-            this.SongList.Name = "SongList";
-            this.SongList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
-            this.SongList.Size = new System.Drawing.Size(300, 472);
-            this.SongList.TabIndex = 2;
-            this.SongList.SelectedIndexChanged += new System.EventHandler(this.SongList_SelectedIndexChanged);
-            //
-            // AddSong
-            //
-            this.AddSong.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-            this.AddSong.Location = new System.Drawing.Point(12, 534);
-            this.AddSong.Name = "AddSong";
-            this.AddSong.Size = new System.Drawing.Size(90, 23);
-            this.AddSong.TabIndex = 3;
-            this.AddSong.Text = "Add Song...";
-            this.Tip.SetToolTip(this.AddSong, "Browse to a song file on your hard drive to add to this metadata file");
-            this.AddSong.UseVisualStyleBackColor = true;
-            this.AddSong.Click += new System.EventHandler(this.AddSong_Click);
-            //
-            // RemoveSong
-            //
-            this.RemoveSong.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-            this.RemoveSong.Location = new System.Drawing.Point(108, 534);
-            this.RemoveSong.Name = "RemoveSong";
-            this.RemoveSong.Size = new System.Drawing.Size(77, 23);
-            this.RemoveSong.TabIndex = 4;
-            this.RemoveSong.Text = "Remove";
-            this.Tip.SetToolTip(this.RemoveSong, "Removes the current song metadata entry from this file");
-            this.RemoveSong.UseVisualStyleBackColor = true;
-            this.RemoveSong.Click += new System.EventHandler(this.RemoveSong_Click);
-            //
-            // UniqueIdBox
-            //
-            this.UniqueIdBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.UniqueIdBox.Location = new System.Drawing.Point(70, 24);
-            this.UniqueIdBox.Name = "UniqueIdBox";
-            this.UniqueIdBox.ReadOnly = true;
-            this.UniqueIdBox.Size = new System.Drawing.Size(316, 20);
-            this.UniqueIdBox.TabIndex = 1;
-            //
-            // TitleBox
-            //
-            this.TitleBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.TitleBox.Location = new System.Drawing.Point(70, 50);
-            this.TitleBox.Name = "TitleBox";
-            this.TitleBox.Size = new System.Drawing.Size(316, 20);
-            this.TitleBox.TabIndex = 3;
-            this.TitleBox.TextChanged += new System.EventHandler(this.TitleBox_TextChanged);
-            //
-            // SubtitleBox
-            //
-            this.SubtitleBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.SubtitleBox.Location = new System.Drawing.Point(70, 76);
-            this.SubtitleBox.Name = "SubtitleBox";
-            this.SubtitleBox.Size = new System.Drawing.Size(316, 20);
-            this.SubtitleBox.TabIndex = 5;
-            this.SubtitleBox.TextChanged += new System.EventHandler(this.SubtitleBox_TextChanged);
-            //
-            // ComposerBox
-            //
-            this.ComposerBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.ComposerBox.Location = new System.Drawing.Point(70, 118);
-            this.ComposerBox.Name = "ComposerBox";
-            this.ComposerBox.Size = new System.Drawing.Size(316, 20);
-            this.ComposerBox.TabIndex = 7;
-            this.ComposerBox.TextChanged += new System.EventHandler(this.ComposerBox_TextChanged);
-            //
-            // LicenseBox
-            //
-            this.LicenseBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.LicenseBox.Location = new System.Drawing.Point(70, 196);
-            this.LicenseBox.Name = "LicenseBox";
-            this.LicenseBox.Size = new System.Drawing.Size(316, 20);
-            this.LicenseBox.TabIndex = 13;
-            this.LicenseBox.TextChanged += new System.EventHandler(this.LicenseBox_TextChanged);
-            //
-            // CopyrightBox
-            //
-            this.CopyrightBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.CopyrightBox.Location = new System.Drawing.Point(70, 170);
-            this.CopyrightBox.Name = "CopyrightBox";
-            this.CopyrightBox.Size = new System.Drawing.Size(316, 20);
-            this.CopyrightBox.TabIndex = 11;
-            this.CopyrightBox.TextChanged += new System.EventHandler(this.CopyrightBox_TextChanged);
-            //
-            // ArrangerBox
-            //
-            this.ArrangerBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.ArrangerBox.Location = new System.Drawing.Point(70, 144);
-            this.ArrangerBox.Name = "ArrangerBox";
-            this.ArrangerBox.Size = new System.Drawing.Size(316, 20);
-            this.ArrangerBox.TabIndex = 9;
-            this.ArrangerBox.TextChanged += new System.EventHandler(this.ArrangerBox_TextChanged);
-            //
-            // DifficultyBox
-            //
-            this.DifficultyBox.Location = new System.Drawing.Point(70, 238);
-            this.DifficultyBox.Name = "DifficultyBox";
-            this.DifficultyBox.Size = new System.Drawing.Size(64, 20);
-            this.DifficultyBox.TabIndex = 15;
-            this.DifficultyBox.ValueChanged += new System.EventHandler(this.DifficultyBox_ValueChanged);
-            //
-            // RatingBox
-            //
-            this.RatingBox.Location = new System.Drawing.Point(70, 264);
-            this.RatingBox.Name = "RatingBox";
-            this.RatingBox.Size = new System.Drawing.Size(64, 20);
-            this.RatingBox.TabIndex = 18;
-            this.RatingBox.ValueChanged += new System.EventHandler(this.RatingBox_ValueChanged);
-            //
-            // UniqueIdLabel
-            //
-            this.UniqueIdLabel.AutoSize = true;
-            this.UniqueIdLabel.Location = new System.Drawing.Point(6, 27);
-            this.UniqueIdLabel.Name = "UniqueIdLabel";
-            this.UniqueIdLabel.Size = new System.Drawing.Size(58, 13);
-            this.UniqueIdLabel.TabIndex = 0;
-            this.UniqueIdLabel.Text = "&Unique ID:";
-            this.Tip.SetToolTip(this.UniqueIdLabel, "MD5 hash of song file contents");
-            //
-            // TitleLabel
-            //
-            this.TitleLabel.AutoSize = true;
-            this.TitleLabel.Location = new System.Drawing.Point(6, 53);
-            this.TitleLabel.Name = "TitleLabel";
-            this.TitleLabel.Size = new System.Drawing.Size(30, 13);
-            this.TitleLabel.TabIndex = 2;
-            this.TitleLabel.Text = "&Title:";
-            //
-            // ComposerLabel
-            //
-            this.ComposerLabel.AutoSize = true;
-            this.ComposerLabel.Location = new System.Drawing.Point(6, 121);
-            this.ComposerLabel.Name = "ComposerLabel";
-            this.ComposerLabel.Size = new System.Drawing.Size(57, 13);
-            this.ComposerLabel.TabIndex = 6;
-            this.ComposerLabel.Text = "&Composer:";
-            //
-            // SubtitleLabel
-            //
-            this.SubtitleLabel.AutoSize = true;
-            this.SubtitleLabel.Location = new System.Drawing.Point(6, 79);
-            this.SubtitleLabel.Name = "SubtitleLabel";
-            this.SubtitleLabel.Size = new System.Drawing.Size(45, 13);
-            this.SubtitleLabel.TabIndex = 4;
-            this.SubtitleLabel.Text = "&Subtitle:";
-            //
-            // DifficultyLabel
-            //
-            this.DifficultyLabel.AutoSize = true;
-            this.DifficultyLabel.Location = new System.Drawing.Point(6, 240);
-            this.DifficultyLabel.Name = "DifficultyLabel";
-            this.DifficultyLabel.Size = new System.Drawing.Size(50, 13);
-            this.DifficultyLabel.TabIndex = 14;
-            this.DifficultyLabel.Text = "&Difficulty:";
-            this.Tip.SetToolTip(this.DifficultyLabel, "Percentage ");
-            //
-            // LicenseLabel
-            //
-            this.LicenseLabel.AutoSize = true;
-            this.LicenseLabel.Location = new System.Drawing.Point(6, 199);
-            this.LicenseLabel.Name = "LicenseLabel";
-            this.LicenseLabel.Size = new System.Drawing.Size(47, 13);
-            this.LicenseLabel.TabIndex = 12;
-            this.LicenseLabel.Text = "&License:";
-            //
-            // CopyrightLabel
-            //
-            this.CopyrightLabel.AutoSize = true;
-            this.CopyrightLabel.Location = new System.Drawing.Point(6, 173);
-            this.CopyrightLabel.Name = "CopyrightLabel";
-            this.CopyrightLabel.Size = new System.Drawing.Size(54, 13);
-            this.CopyrightLabel.TabIndex = 10;
-            this.CopyrightLabel.Text = "Co&pyright:";
-            //
-            // ArrangerLabel
-            //
-            this.ArrangerLabel.AutoSize = true;
-            this.ArrangerLabel.Location = new System.Drawing.Point(6, 147);
-            this.ArrangerLabel.Name = "ArrangerLabel";
-            this.ArrangerLabel.Size = new System.Drawing.Size(50, 13);
-            this.ArrangerLabel.TabIndex = 8;
-            this.ArrangerLabel.Text = "&Arranger:";
-            //
-            // TagsLabel
-            //
-            this.TagsLabel.AutoSize = true;
-            this.TagsLabel.Location = new System.Drawing.Point(6, 394);
-            this.TagsLabel.Name = "TagsLabel";
-            this.TagsLabel.Size = new System.Drawing.Size(34, 13);
-            this.TagsLabel.TabIndex = 24;
-            this.TagsLabel.Text = "Ta&gs:";
-            //
-            // RatingLabel
-            //
-            this.RatingLabel.AutoSize = true;
-            this.RatingLabel.Location = new System.Drawing.Point(6, 266);
-            this.RatingLabel.Name = "RatingLabel";
-            this.RatingLabel.Size = new System.Drawing.Size(41, 13);
-            this.RatingLabel.TabIndex = 17;
-            this.RatingLabel.Text = "&Rating:";
-            //
-            // TagList
-            //
-            this.TagList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+         this.SongList.FormattingEnabled = true;
+         this.SongList.Location = new System.Drawing.Point(12, 46);
+         this.SongList.Name = "SongList";
+         this.SongList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
+         this.SongList.Size = new System.Drawing.Size(300, 472);
+         this.SongList.TabIndex = 2;
+         this.SongList.SelectedIndexChanged += new System.EventHandler(this.SongList_SelectedIndexChanged);
+         //
+         // AddSong
+         //
+         this.AddSong.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+         this.AddSong.Location = new System.Drawing.Point(12, 534);
+         this.AddSong.Name = "AddSong";
+         this.AddSong.Size = new System.Drawing.Size(90, 23);
+         this.AddSong.TabIndex = 3;
+         this.AddSong.Text = "Add Song...";
+         this.Tip.SetToolTip(this.AddSong, "Browse to a song file on your hard drive to add to this metadata file");
+         this.AddSong.UseVisualStyleBackColor = true;
+         this.AddSong.Click += new System.EventHandler(this.AddSong_Click);
+         //
+         // RemoveSong
+         //
+         this.RemoveSong.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+         this.RemoveSong.Location = new System.Drawing.Point(108, 534);
+         this.RemoveSong.Name = "RemoveSong";
+         this.RemoveSong.Size = new System.Drawing.Size(77, 23);
+         this.RemoveSong.TabIndex = 4;
+         this.RemoveSong.Text = "Remove";
+         this.Tip.SetToolTip(this.RemoveSong, "Removes the current song metadata entry from this file");
+         this.RemoveSong.UseVisualStyleBackColor = true;
+         this.RemoveSong.Click += new System.EventHandler(this.RemoveSong_Click);
+         //
+         // UniqueIdBox
+         //
+         this.UniqueIdBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.UniqueIdBox.Location = new System.Drawing.Point(70, 24);
+         this.UniqueIdBox.Name = "UniqueIdBox";
+         this.UniqueIdBox.ReadOnly = true;
+         this.UniqueIdBox.Size = new System.Drawing.Size(316, 20);
+         this.UniqueIdBox.TabIndex = 1;
+         //
+         // TitleBox
+         //
+         this.TitleBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.TitleBox.Location = new System.Drawing.Point(70, 50);
+         this.TitleBox.Name = "TitleBox";
+         this.TitleBox.Size = new System.Drawing.Size(316, 20);
+         this.TitleBox.TabIndex = 3;
+         this.TitleBox.TextChanged += new System.EventHandler(this.TitleBox_TextChanged);
+         //
+         // SubtitleBox
+         //
+         this.SubtitleBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.SubtitleBox.Location = new System.Drawing.Point(70, 76);
+         this.SubtitleBox.Name = "SubtitleBox";
+         this.SubtitleBox.Size = new System.Drawing.Size(316, 20);
+         this.SubtitleBox.TabIndex = 5;
+         this.SubtitleBox.TextChanged += new System.EventHandler(this.SubtitleBox_TextChanged);
+         //
+         // ComposerBox
+         //
+         this.ComposerBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.ComposerBox.Location = new System.Drawing.Point(70, 118);
+         this.ComposerBox.Name = "ComposerBox";
+         this.ComposerBox.Size = new System.Drawing.Size(316, 20);
+         this.ComposerBox.TabIndex = 7;
+         this.ComposerBox.TextChanged += new System.EventHandler(this.ComposerBox_TextChanged);
+         //
+         // LicenseBox
+         //
+         this.LicenseBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.LicenseBox.Location = new System.Drawing.Point(70, 196);
+         this.LicenseBox.Name = "LicenseBox";
+         this.LicenseBox.Size = new System.Drawing.Size(316, 20);
+         this.LicenseBox.TabIndex = 13;
+         this.LicenseBox.TextChanged += new System.EventHandler(this.LicenseBox_TextChanged);
+         //
+         // CopyrightBox
+         //
+         this.CopyrightBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.CopyrightBox.Location = new System.Drawing.Point(70, 170);
+         this.CopyrightBox.Name = "CopyrightBox";
+         this.CopyrightBox.Size = new System.Drawing.Size(316, 20);
+         this.CopyrightBox.TabIndex = 11;
+         this.CopyrightBox.TextChanged += new System.EventHandler(this.CopyrightBox_TextChanged);
+         //
+         // ArrangerBox
+         //
+         this.ArrangerBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.ArrangerBox.Location = new System.Drawing.Point(70, 144);
+         this.ArrangerBox.Name = "ArrangerBox";
+         this.ArrangerBox.Size = new System.Drawing.Size(316, 20);
+         this.ArrangerBox.TabIndex = 9;
+         this.ArrangerBox.TextChanged += new System.EventHandler(this.ArrangerBox_TextChanged);
+         //
+         // DifficultyBox
+         //
+         this.DifficultyBox.Location = new System.Drawing.Point(70, 238);
+         this.DifficultyBox.Name = "DifficultyBox";
+         this.DifficultyBox.Size = new System.Drawing.Size(64, 20);
+         this.DifficultyBox.TabIndex = 15;
+         this.DifficultyBox.ValueChanged += new System.EventHandler(this.DifficultyBox_ValueChanged);
+         //
+         // RatingBox
+         //
+         this.RatingBox.Location = new System.Drawing.Point(70, 264);
+         this.RatingBox.Name = "RatingBox";
+         this.RatingBox.Size = new System.Drawing.Size(64, 20);
+         this.RatingBox.TabIndex = 18;
+         this.RatingBox.ValueChanged += new System.EventHandler(this.RatingBox_ValueChanged);
+         //
+         // UniqueIdLabel
+         //
+         this.UniqueIdLabel.AutoSize = true;
+         this.UniqueIdLabel.Location = new System.Drawing.Point(6, 27);
+         this.UniqueIdLabel.Name = "UniqueIdLabel";
+         this.UniqueIdLabel.Size = new System.Drawing.Size(58, 13);
+         this.UniqueIdLabel.TabIndex = 0;
+         this.UniqueIdLabel.Text = "&Unique ID:";
+         this.Tip.SetToolTip(this.UniqueIdLabel, "MD5 hash of song file contents");
+         //
+         // TitleLabel
+         //
+         this.TitleLabel.AutoSize = true;
+         this.TitleLabel.Location = new System.Drawing.Point(6, 53);
+         this.TitleLabel.Name = "TitleLabel";
+         this.TitleLabel.Size = new System.Drawing.Size(30, 13);
+         this.TitleLabel.TabIndex = 2;
+         this.TitleLabel.Text = "&Title:";
+         //
+         // ComposerLabel
+         //
+         this.ComposerLabel.AutoSize = true;
+         this.ComposerLabel.Location = new System.Drawing.Point(6, 121);
+         this.ComposerLabel.Name = "ComposerLabel";
+         this.ComposerLabel.Size = new System.Drawing.Size(57, 13);
+         this.ComposerLabel.TabIndex = 6;
+         this.ComposerLabel.Text = "&Composer:";
+         //
+         // SubtitleLabel
+         //
+         this.SubtitleLabel.AutoSize = true;
+         this.SubtitleLabel.Location = new System.Drawing.Point(6, 79);
+         this.SubtitleLabel.Name = "SubtitleLabel";
+         this.SubtitleLabel.Size = new System.Drawing.Size(45, 13);
+         this.SubtitleLabel.TabIndex = 4;
+         this.SubtitleLabel.Text = "&Subtitle:";
+         //
+         // DifficultyLabel
+         //
+         this.DifficultyLabel.AutoSize = true;
+         this.DifficultyLabel.Location = new System.Drawing.Point(6, 240);
+         this.DifficultyLabel.Name = "DifficultyLabel";
+         this.DifficultyLabel.Size = new System.Drawing.Size(50, 13);
+         this.DifficultyLabel.TabIndex = 14;
+         this.DifficultyLabel.Text = "&Difficulty:";
+         this.Tip.SetToolTip(this.DifficultyLabel, "Percentage ");
+         //
+         // LicenseLabel
+         //
+         this.LicenseLabel.AutoSize = true;
+         this.LicenseLabel.Location = new System.Drawing.Point(6, 199);
+         this.LicenseLabel.Name = "LicenseLabel";
+         this.LicenseLabel.Size = new System.Drawing.Size(47, 13);
+         this.LicenseLabel.TabIndex = 12;
+         this.LicenseLabel.Text = "&License:";
+         //
+         // CopyrightLabel
+         //
+         this.CopyrightLabel.AutoSize = true;
+         this.CopyrightLabel.Location = new System.Drawing.Point(6, 173);
+         this.CopyrightLabel.Name = "CopyrightLabel";
+         this.CopyrightLabel.Size = new System.Drawing.Size(54, 13);
+         this.CopyrightLabel.TabIndex = 10;
+         this.CopyrightLabel.Text = "Co&pyright:";
+         //
+         // ArrangerLabel
+         //
+         this.ArrangerLabel.AutoSize = true;
+         this.ArrangerLabel.Location = new System.Drawing.Point(6, 147);
+         this.ArrangerLabel.Name = "ArrangerLabel";
+         this.ArrangerLabel.Size = new System.Drawing.Size(50, 13);
+         this.ArrangerLabel.TabIndex = 8;
+         this.ArrangerLabel.Text = "&Arranger:";
+         //
+         // TagsLabel
+         //
+         this.TagsLabel.AutoSize = true;
+         this.TagsLabel.Location = new System.Drawing.Point(6, 394);
+         this.TagsLabel.Name = "TagsLabel";
+         this.TagsLabel.Size = new System.Drawing.Size(34, 13);
+         this.TagsLabel.TabIndex = 24;
+         this.TagsLabel.Text = "Ta&gs:";
+         //
+         // RatingLabel
+         //
+         this.RatingLabel.AutoSize = true;
+         this.RatingLabel.Location = new System.Drawing.Point(6, 266);
+         this.RatingLabel.Name = "RatingLabel";
+         this.RatingLabel.Size = new System.Drawing.Size(41, 13);
+         this.RatingLabel.TabIndex = 17;
+         this.RatingLabel.Text = "&Rating:";
+         //
+         // TagList
+         //
+         this.TagList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
             | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
-            this.TagList.FormattingEnabled = true;
-            this.TagList.Location = new System.Drawing.Point(9, 436);
-            this.TagList.Name = "TagList";
-            this.TagList.Size = new System.Drawing.Size(104, 69);
-            this.TagList.TabIndex = 27;
-            this.TagList.SelectedIndexChanged += new System.EventHandler(this.TagList_SelectedIndexChanged);
-            //
-            // TagBox
-            //
-            this.TagBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.TagBox.Location = new System.Drawing.Point(9, 410);
-            this.TagBox.Name = "TagBox";
-            this.TagBox.Size = new System.Drawing.Size(104, 20);
-            this.TagBox.TabIndex = 25;
-            this.TagBox.TextChanged += new System.EventHandler(this.TagBox_TextChanged);
-            //
-            // RemoveTag
-            //
-            this.RemoveTag.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.RemoveTag.Enabled = false;
-            this.RemoveTag.Location = new System.Drawing.Point(119, 436);
-            this.RemoveTag.Name = "RemoveTag";
-            this.RemoveTag.Size = new System.Drawing.Size(23, 23);
-            this.RemoveTag.TabIndex = 28;
-            this.RemoveTag.Text = "-";
-            this.RemoveTag.UseVisualStyleBackColor = true;
-            this.RemoveTag.Click += new System.EventHandler(this.RemoveTag_Click);
-            //
-            // AddTag
-            //
-            this.AddTag.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.AddTag.Enabled = false;
-            this.AddTag.Location = new System.Drawing.Point(119, 408);
-            this.AddTag.Name = "AddTag";
-            this.AddTag.Size = new System.Drawing.Size(23, 23);
-            this.AddTag.TabIndex = 26;
-            this.AddTag.Text = "+";
-            this.AddTag.UseVisualStyleBackColor = true;
-            this.AddTag.Click += new System.EventHandler(this.AddTag_Click);
-            //
-            // MainMenu
-            //
-            this.MainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+         this.TagList.FormattingEnabled = true;
+         this.TagList.Location = new System.Drawing.Point(9, 436);
+         this.TagList.Name = "TagList";
+         this.TagList.Size = new System.Drawing.Size(104, 69);
+         this.TagList.TabIndex = 27;
+         this.TagList.SelectedIndexChanged += new System.EventHandler(this.TagList_SelectedIndexChanged);
+         //
+         // TagBox
+         //
+         this.TagBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.TagBox.Location = new System.Drawing.Point(9, 410);
+         this.TagBox.Name = "TagBox";
+         this.TagBox.Size = new System.Drawing.Size(104, 20);
+         this.TagBox.TabIndex = 25;
+         this.TagBox.TextChanged += new System.EventHandler(this.TagBox_TextChanged);
+         //
+         // RemoveTag
+         //
+         this.RemoveTag.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+         this.RemoveTag.Enabled = false;
+         this.RemoveTag.Location = new System.Drawing.Point(119, 436);
+         this.RemoveTag.Name = "RemoveTag";
+         this.RemoveTag.Size = new System.Drawing.Size(23, 23);
+         this.RemoveTag.TabIndex = 28;
+         this.RemoveTag.Text = "-";
+         this.RemoveTag.UseVisualStyleBackColor = true;
+         this.RemoveTag.Click += new System.EventHandler(this.RemoveTag_Click);
+         //
+         // AddTag
+         //
+         this.AddTag.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+         this.AddTag.Enabled = false;
+         this.AddTag.Location = new System.Drawing.Point(119, 408);
+         this.AddTag.Name = "AddTag";
+         this.AddTag.Size = new System.Drawing.Size(23, 23);
+         this.AddTag.TabIndex = 26;
+         this.AddTag.Text = "+";
+         this.AddTag.UseVisualStyleBackColor = true;
+         this.AddTag.Click += new System.EventHandler(this.AddTag_Click);
+         //
+         // MainMenu
+         //
+         this.MainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.FileMenu,
             this.HelpMenu});
-            this.MainMenu.Location = new System.Drawing.Point(0, 0);
-            this.MainMenu.Name = "MainMenu";
-            this.MainMenu.Size = new System.Drawing.Size(722, 24);
-            this.MainMenu.TabIndex = 0;
-            this.MainMenu.Text = "menuStrip1";
-            //
-            // FileMenu
-            //
-            this.FileMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+         this.MainMenu.Location = new System.Drawing.Point(0, 0);
+         this.MainMenu.Name = "MainMenu";
+         this.MainMenu.Size = new System.Drawing.Size(722, 24);
+         this.MainMenu.TabIndex = 0;
+         this.MainMenu.Text = "menuStrip1";
+         //
+         // FileMenu
+         //
+         this.FileMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.NewMenu,
             this.OpenMenu,
             this.SaveMenu,
@@ -378,335 +378,336 @@
             this.UploadMenu,
             this.toolStripMenuItem2,
             this.ExitMenu});
-            this.FileMenu.Name = "FileMenu";
-            this.FileMenu.Size = new System.Drawing.Size(37, 20);
-            this.FileMenu.Text = "&File";
-            //
-            // NewMenu
-            //
-            this.NewMenu.Name = "NewMenu";
-            this.NewMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
-            this.NewMenu.Size = new System.Drawing.Size(231, 22);
-            this.NewMenu.Text = "&New";
-            this.NewMenu.Click += new System.EventHandler(this.NewMenu_Click);
-            //
-            // OpenMenu
-            //
-            this.OpenMenu.Name = "OpenMenu";
-            this.OpenMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
-            this.OpenMenu.Size = new System.Drawing.Size(231, 22);
-            this.OpenMenu.Text = "&Open...";
-            this.OpenMenu.Click += new System.EventHandler(this.OpenMenu_Click);
-            //
-            // SaveMenu
-            //
-            this.SaveMenu.Name = "SaveMenu";
-            this.SaveMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
-            this.SaveMenu.Size = new System.Drawing.Size(231, 22);
-            this.SaveMenu.Text = "&Save";
-            this.SaveMenu.Click += new System.EventHandler(this.SaveMenu_Click);
-            //
-            // SaveAsMenu
-            //
-            this.SaveAsMenu.Name = "SaveAsMenu";
-            this.SaveAsMenu.Size = new System.Drawing.Size(231, 22);
-            this.SaveAsMenu.Text = "Save &As...";
-            this.SaveAsMenu.Click += new System.EventHandler(this.SaveAsMenu_Click);
-            //
-            // toolStripMenuItem1
-            //
-            this.toolStripMenuItem1.Name = "toolStripMenuItem1";
-            this.toolStripMenuItem1.Size = new System.Drawing.Size(228, 6);
-            //
-            // ImportMenu
-            //
-            this.ImportMenu.Name = "ImportMenu";
-            this.ImportMenu.Size = new System.Drawing.Size(231, 22);
-            this.ImportMenu.Text = "&Import data from Synthesia...";
-            this.ImportMenu.Click += new System.EventHandler(this.ImportMenu_Click);
-            //
-            // UploadMenu
-            //
-            this.UploadMenu.Name = "UploadMenu";
-            this.UploadMenu.Size = new System.Drawing.Size(231, 22);
-            this.UploadMenu.Text = "Upload to Synthesia website...";
-            this.UploadMenu.Visible = false;
-            this.UploadMenu.Click += new System.EventHandler(this.UploadMenu_Click);
-            //
-            // toolStripMenuItem2
-            //
-            this.toolStripMenuItem2.Name = "toolStripMenuItem2";
-            this.toolStripMenuItem2.Size = new System.Drawing.Size(228, 6);
-            //
-            // ExitMenu
-            //
-            this.ExitMenu.Name = "ExitMenu";
-            this.ExitMenu.Size = new System.Drawing.Size(231, 22);
-            this.ExitMenu.Text = "E&xit";
-            this.ExitMenu.Click += new System.EventHandler(this.ExitMenu_Click);
-            //
-            // HelpMenu
-            //
-            this.HelpMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+         this.FileMenu.Name = "FileMenu";
+         this.FileMenu.Size = new System.Drawing.Size(37, 20);
+         this.FileMenu.Text = "&File";
+         //
+         // NewMenu
+         //
+         this.NewMenu.Name = "NewMenu";
+         this.NewMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
+         this.NewMenu.Size = new System.Drawing.Size(231, 22);
+         this.NewMenu.Text = "&New";
+         this.NewMenu.Click += new System.EventHandler(this.NewMenu_Click);
+         //
+         // OpenMenu
+         //
+         this.OpenMenu.Name = "OpenMenu";
+         this.OpenMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
+         this.OpenMenu.Size = new System.Drawing.Size(231, 22);
+         this.OpenMenu.Text = "&Open...";
+         this.OpenMenu.Click += new System.EventHandler(this.OpenMenu_Click);
+         //
+         // SaveMenu
+         //
+         this.SaveMenu.Name = "SaveMenu";
+         this.SaveMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
+         this.SaveMenu.Size = new System.Drawing.Size(231, 22);
+         this.SaveMenu.Text = "&Save";
+         this.SaveMenu.Click += new System.EventHandler(this.SaveMenu_Click);
+         //
+         // SaveAsMenu
+         //
+         this.SaveAsMenu.Name = "SaveAsMenu";
+         this.SaveAsMenu.Size = new System.Drawing.Size(231, 22);
+         this.SaveAsMenu.Text = "Save &As...";
+         this.SaveAsMenu.Click += new System.EventHandler(this.SaveAsMenu_Click);
+         //
+         // toolStripMenuItem1
+         //
+         this.toolStripMenuItem1.Name = "toolStripMenuItem1";
+         this.toolStripMenuItem1.Size = new System.Drawing.Size(228, 6);
+         //
+         // ImportMenu
+         //
+         this.ImportMenu.Name = "ImportMenu";
+         this.ImportMenu.Size = new System.Drawing.Size(231, 22);
+         this.ImportMenu.Text = "&Import data from Synthesia...";
+         this.ImportMenu.Click += new System.EventHandler(this.ImportMenu_Click);
+         //
+         // UploadMenu
+         //
+         this.UploadMenu.Name = "UploadMenu";
+         this.UploadMenu.Size = new System.Drawing.Size(231, 22);
+         this.UploadMenu.Text = "Upload to Synthesia website...";
+         this.UploadMenu.Visible = false;
+         this.UploadMenu.Click += new System.EventHandler(this.UploadMenu_Click);
+         //
+         // toolStripMenuItem2
+         //
+         this.toolStripMenuItem2.Name = "toolStripMenuItem2";
+         this.toolStripMenuItem2.Size = new System.Drawing.Size(228, 6);
+         //
+         // ExitMenu
+         //
+         this.ExitMenu.Name = "ExitMenu";
+         this.ExitMenu.Size = new System.Drawing.Size(231, 22);
+         this.ExitMenu.Text = "E&xit";
+         this.ExitMenu.Click += new System.EventHandler(this.ExitMenu_Click);
+         //
+         // HelpMenu
+         //
+         this.HelpMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.AboutMenu});
-            this.HelpMenu.Name = "HelpMenu";
-            this.HelpMenu.Size = new System.Drawing.Size(44, 20);
-            this.HelpMenu.Text = "&Help";
-            //
-            // AboutMenu
-            //
-            this.AboutMenu.Name = "AboutMenu";
-            this.AboutMenu.Size = new System.Drawing.Size(116, 22);
-            this.AboutMenu.Text = "&About...";
-            this.AboutMenu.Click += new System.EventHandler(this.AboutMenu_Click);
-            //
-            // DifficultyRangeLabel
-            //
-            this.DifficultyRangeLabel.AutoSize = true;
-            this.DifficultyRangeLabel.Location = new System.Drawing.Point(140, 240);
-            this.DifficultyRangeLabel.Name = "DifficultyRangeLabel";
-            this.DifficultyRangeLabel.Size = new System.Drawing.Size(103, 13);
-            this.DifficultyRangeLabel.TabIndex = 16;
-            this.DifficultyRangeLabel.Text = "(1-100 or 0 for none)";
-            //
-            // RatingRangeLabel
-            //
-            this.RatingRangeLabel.AutoSize = true;
-            this.RatingRangeLabel.Location = new System.Drawing.Point(140, 266);
-            this.RatingRangeLabel.Name = "RatingRangeLabel";
-            this.RatingRangeLabel.Size = new System.Drawing.Size(103, 13);
-            this.RatingRangeLabel.TabIndex = 19;
-            this.RatingRangeLabel.Text = "(1-100 or 0 for none)";
-            //
-            // SaveMetadataDialog
-            //
-            this.SaveMetadataDialog.Filter = "Synthesia Metadata Files (*.synthesia)|*.synthesia|All Files (*.*)|*.*";
-            this.SaveMetadataDialog.Title = "Save Metadata File";
-            //
-            // OpenMetadataDialog
-            //
-            this.OpenMetadataDialog.Filter = "Synthesia Metadata Files|*.synthesia;*.xml|All Files (*.*)|*.*";
-            this.OpenMetadataDialog.Title = "Open Metadata File";
-            //
-            // OpenSongDialog
-            //
-            this.OpenSongDialog.Filter = "Supported Songs|*.mid;*.midi;*.kar|All Files (*.*)|*.*";
-            this.OpenSongDialog.Multiselect = true;
-            //
-            // SongListLabel
-            //
-            this.SongListLabel.AutoSize = true;
-            this.SongListLabel.Location = new System.Drawing.Point(12, 32);
-            this.SongListLabel.Name = "SongListLabel";
-            this.SongListLabel.Size = new System.Drawing.Size(182, 13);
-            this.SongListLabel.TabIndex = 1;
-            this.SongListLabel.Text = "Songs described in this metadata file:";
-            //
-            // PropertiesGroup
-            //
-            this.PropertiesGroup.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+         this.HelpMenu.Name = "HelpMenu";
+         this.HelpMenu.Size = new System.Drawing.Size(44, 20);
+         this.HelpMenu.Text = "&Help";
+         //
+         // AboutMenu
+         //
+         this.AboutMenu.Name = "AboutMenu";
+         this.AboutMenu.Size = new System.Drawing.Size(116, 22);
+         this.AboutMenu.Text = "&About...";
+         this.AboutMenu.Click += new System.EventHandler(this.AboutMenu_Click);
+         //
+         // DifficultyRangeLabel
+         //
+         this.DifficultyRangeLabel.AutoSize = true;
+         this.DifficultyRangeLabel.Location = new System.Drawing.Point(140, 240);
+         this.DifficultyRangeLabel.Name = "DifficultyRangeLabel";
+         this.DifficultyRangeLabel.Size = new System.Drawing.Size(103, 13);
+         this.DifficultyRangeLabel.TabIndex = 16;
+         this.DifficultyRangeLabel.Text = "(1-100 or 0 for none)";
+         //
+         // RatingRangeLabel
+         //
+         this.RatingRangeLabel.AutoSize = true;
+         this.RatingRangeLabel.Location = new System.Drawing.Point(140, 266);
+         this.RatingRangeLabel.Name = "RatingRangeLabel";
+         this.RatingRangeLabel.Size = new System.Drawing.Size(103, 13);
+         this.RatingRangeLabel.TabIndex = 19;
+         this.RatingRangeLabel.Text = "(1-100 or 0 for none)";
+         //
+         // SaveMetadataDialog
+         //
+         this.SaveMetadataDialog.Filter = "Synthesia Metadata Files (*.synthesia)|*.synthesia|All Files (*.*)|*.*";
+         this.SaveMetadataDialog.Title = "Save Metadata File";
+         //
+         // OpenMetadataDialog
+         //
+         this.OpenMetadataDialog.Filter = "Synthesia Metadata Files|*.synthesia;*.xml|All Files (*.*)|*.*";
+         this.OpenMetadataDialog.Title = "Open Metadata File";
+         //
+         // OpenSongDialog
+         //
+         this.OpenSongDialog.Filter = "Supported Songs|*.mid;*.midi;*.kar|All Files (*.*)|*.*";
+         this.OpenSongDialog.Multiselect = true;
+         //
+         // SongListLabel
+         //
+         this.SongListLabel.AutoSize = true;
+         this.SongListLabel.Location = new System.Drawing.Point(12, 32);
+         this.SongListLabel.Name = "SongListLabel";
+         this.SongListLabel.Size = new System.Drawing.Size(182, 13);
+         this.SongListLabel.TabIndex = 1;
+         this.SongListLabel.Text = "Songs described in this metadata file:";
+         //
+         // PropertiesGroup
+         //
+         this.PropertiesGroup.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
             | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
-            this.PropertiesGroup.Controls.Add(this.BookmarkMeasureBox);
-            this.PropertiesGroup.Controls.Add(this.BookmarksLabel);
-            this.PropertiesGroup.Controls.Add(this.RemoveBookmark);
-            this.PropertiesGroup.Controls.Add(this.AddBookmark);
-            this.PropertiesGroup.Controls.Add(this.BookmarkDescriptionBox);
-            this.PropertiesGroup.Controls.Add(this.BookmarkList);
-            this.PropertiesGroup.Controls.Add(this.HandsBox);
-            this.PropertiesGroup.Controls.Add(this.PartsLabel);
-            this.PropertiesGroup.Controls.Add(this.FingerHintBox);
-            this.PropertiesGroup.Controls.Add(this.FingerHintLabel);
-            this.PropertiesGroup.Controls.Add(this.UniqueIdLabel);
-            this.PropertiesGroup.Controls.Add(this.UniqueIdBox);
-            this.PropertiesGroup.Controls.Add(this.TitleBox);
-            this.PropertiesGroup.Controls.Add(this.RatingRangeLabel);
-            this.PropertiesGroup.Controls.Add(this.SubtitleBox);
-            this.PropertiesGroup.Controls.Add(this.DifficultyRangeLabel);
-            this.PropertiesGroup.Controls.Add(this.ComposerBox);
-            this.PropertiesGroup.Controls.Add(this.RemoveTag);
-            this.PropertiesGroup.Controls.Add(this.ArrangerBox);
-            this.PropertiesGroup.Controls.Add(this.AddTag);
-            this.PropertiesGroup.Controls.Add(this.CopyrightBox);
-            this.PropertiesGroup.Controls.Add(this.TagBox);
-            this.PropertiesGroup.Controls.Add(this.LicenseBox);
-            this.PropertiesGroup.Controls.Add(this.TagList);
-            this.PropertiesGroup.Controls.Add(this.DifficultyBox);
-            this.PropertiesGroup.Controls.Add(this.TagsLabel);
-            this.PropertiesGroup.Controls.Add(this.RatingBox);
-            this.PropertiesGroup.Controls.Add(this.RatingLabel);
-            this.PropertiesGroup.Controls.Add(this.TitleLabel);
-            this.PropertiesGroup.Controls.Add(this.DifficultyLabel);
-            this.PropertiesGroup.Controls.Add(this.SubtitleLabel);
-            this.PropertiesGroup.Controls.Add(this.LicenseLabel);
-            this.PropertiesGroup.Controls.Add(this.ComposerLabel);
-            this.PropertiesGroup.Controls.Add(this.CopyrightLabel);
-            this.PropertiesGroup.Controls.Add(this.ArrangerLabel);
-            this.PropertiesGroup.Location = new System.Drawing.Point(318, 32);
-            this.PropertiesGroup.Name = "PropertiesGroup";
-            this.PropertiesGroup.Size = new System.Drawing.Size(392, 525);
-            this.PropertiesGroup.TabIndex = 6;
-            this.PropertiesGroup.TabStop = false;
-            this.PropertiesGroup.Text = "Properties";
-            //
-            // BookmarkMeasureBox
-            //
-            this.BookmarkMeasureBox.Location = new System.Drawing.Point(172, 411);
-            this.BookmarkMeasureBox.Maximum = new decimal(new int[] {
+         this.PropertiesGroup.Controls.Add(this.BookmarkMeasureBox);
+         this.PropertiesGroup.Controls.Add(this.BookmarksLabel);
+         this.PropertiesGroup.Controls.Add(this.RemoveBookmark);
+         this.PropertiesGroup.Controls.Add(this.AddBookmark);
+         this.PropertiesGroup.Controls.Add(this.BookmarkDescriptionBox);
+         this.PropertiesGroup.Controls.Add(this.BookmarkList);
+         this.PropertiesGroup.Controls.Add(this.HandsBox);
+         this.PropertiesGroup.Controls.Add(this.PartsLabel);
+         this.PropertiesGroup.Controls.Add(this.FingerHintBox);
+         this.PropertiesGroup.Controls.Add(this.FingerHintLabel);
+         this.PropertiesGroup.Controls.Add(this.UniqueIdLabel);
+         this.PropertiesGroup.Controls.Add(this.UniqueIdBox);
+         this.PropertiesGroup.Controls.Add(this.TitleBox);
+         this.PropertiesGroup.Controls.Add(this.RatingRangeLabel);
+         this.PropertiesGroup.Controls.Add(this.SubtitleBox);
+         this.PropertiesGroup.Controls.Add(this.DifficultyRangeLabel);
+         this.PropertiesGroup.Controls.Add(this.ComposerBox);
+         this.PropertiesGroup.Controls.Add(this.RemoveTag);
+         this.PropertiesGroup.Controls.Add(this.ArrangerBox);
+         this.PropertiesGroup.Controls.Add(this.AddTag);
+         this.PropertiesGroup.Controls.Add(this.CopyrightBox);
+         this.PropertiesGroup.Controls.Add(this.TagBox);
+         this.PropertiesGroup.Controls.Add(this.LicenseBox);
+         this.PropertiesGroup.Controls.Add(this.TagList);
+         this.PropertiesGroup.Controls.Add(this.DifficultyBox);
+         this.PropertiesGroup.Controls.Add(this.TagsLabel);
+         this.PropertiesGroup.Controls.Add(this.RatingBox);
+         this.PropertiesGroup.Controls.Add(this.RatingLabel);
+         this.PropertiesGroup.Controls.Add(this.TitleLabel);
+         this.PropertiesGroup.Controls.Add(this.DifficultyLabel);
+         this.PropertiesGroup.Controls.Add(this.SubtitleLabel);
+         this.PropertiesGroup.Controls.Add(this.LicenseLabel);
+         this.PropertiesGroup.Controls.Add(this.ComposerLabel);
+         this.PropertiesGroup.Controls.Add(this.CopyrightLabel);
+         this.PropertiesGroup.Controls.Add(this.ArrangerLabel);
+         this.PropertiesGroup.Location = new System.Drawing.Point(318, 32);
+         this.PropertiesGroup.Name = "PropertiesGroup";
+         this.PropertiesGroup.Size = new System.Drawing.Size(392, 525);
+         this.PropertiesGroup.TabIndex = 6;
+         this.PropertiesGroup.TabStop = false;
+         this.PropertiesGroup.Text = "Properties";
+         //
+         // BookmarkMeasureBox
+         //
+         this.BookmarkMeasureBox.Location = new System.Drawing.Point(172, 411);
+         this.BookmarkMeasureBox.Maximum = new decimal(new int[] {
             10000,
             0,
             0,
             0});
-            this.BookmarkMeasureBox.Minimum = new decimal(new int[] {
+         this.BookmarkMeasureBox.Minimum = new decimal(new int[] {
             1,
             0,
             0,
             0});
-            this.BookmarkMeasureBox.Name = "BookmarkMeasureBox";
-            this.BookmarkMeasureBox.Size = new System.Drawing.Size(54, 20);
-            this.BookmarkMeasureBox.TabIndex = 30;
-            this.BookmarkMeasureBox.Value = new decimal(new int[] {
+         this.BookmarkMeasureBox.Name = "BookmarkMeasureBox";
+         this.BookmarkMeasureBox.Size = new System.Drawing.Size(54, 20);
+         this.BookmarkMeasureBox.TabIndex = 30;
+         this.BookmarkMeasureBox.Value = new decimal(new int[] {
             1,
             0,
             0,
             0});
-            //
-            // BookmarksLabel
-            //
-            this.BookmarksLabel.AutoSize = true;
-            this.BookmarksLabel.Location = new System.Drawing.Point(169, 394);
-            this.BookmarksLabel.Name = "BookmarksLabel";
-            this.BookmarksLabel.Size = new System.Drawing.Size(214, 13);
-            this.BookmarksLabel.TabIndex = 29;
-            this.BookmarksLabel.Text = "&Bookmarks (measure / optional description):";
-            //
-            // RemoveBookmark
-            //
-            this.RemoveBookmark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.RemoveBookmark.Enabled = false;
-            this.RemoveBookmark.Location = new System.Drawing.Point(363, 436);
-            this.RemoveBookmark.Name = "RemoveBookmark";
-            this.RemoveBookmark.Size = new System.Drawing.Size(23, 23);
-            this.RemoveBookmark.TabIndex = 34;
-            this.RemoveBookmark.Text = "-";
-            this.RemoveBookmark.UseVisualStyleBackColor = true;
-            this.RemoveBookmark.Click += new System.EventHandler(this.RemoveBookmark_Click);
-            //
-            // AddBookmark
-            //
-            this.AddBookmark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.AddBookmark.Location = new System.Drawing.Point(363, 408);
-            this.AddBookmark.Name = "AddBookmark";
-            this.AddBookmark.Size = new System.Drawing.Size(23, 23);
-            this.AddBookmark.TabIndex = 32;
-            this.AddBookmark.Text = "+";
-            this.AddBookmark.UseVisualStyleBackColor = true;
-            this.AddBookmark.Click += new System.EventHandler(this.AddBookmark_Click);
-            //
-            // BookmarkDescriptionBox
-            //
-            this.BookmarkDescriptionBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.BookmarkDescriptionBox.Location = new System.Drawing.Point(232, 410);
-            this.BookmarkDescriptionBox.Name = "BookmarkDescriptionBox";
-            this.BookmarkDescriptionBox.Size = new System.Drawing.Size(125, 20);
-            this.BookmarkDescriptionBox.TabIndex = 31;
-            this.BookmarkDescriptionBox.TextChanged += new System.EventHandler(this.BookmarkDescriptionBox_TextChanged);
-            //
-            // BookmarkList
-            //
-            this.BookmarkList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+         //
+         // BookmarksLabel
+         //
+         this.BookmarksLabel.AutoSize = true;
+         this.BookmarksLabel.Location = new System.Drawing.Point(169, 394);
+         this.BookmarksLabel.Name = "BookmarksLabel";
+         this.BookmarksLabel.Size = new System.Drawing.Size(214, 13);
+         this.BookmarksLabel.TabIndex = 29;
+         this.BookmarksLabel.Text = "&Bookmarks (measure / optional description):";
+         //
+         // RemoveBookmark
+         //
+         this.RemoveBookmark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+         this.RemoveBookmark.Enabled = false;
+         this.RemoveBookmark.Location = new System.Drawing.Point(363, 436);
+         this.RemoveBookmark.Name = "RemoveBookmark";
+         this.RemoveBookmark.Size = new System.Drawing.Size(23, 23);
+         this.RemoveBookmark.TabIndex = 34;
+         this.RemoveBookmark.Text = "-";
+         this.RemoveBookmark.UseVisualStyleBackColor = true;
+         this.RemoveBookmark.Click += new System.EventHandler(this.RemoveBookmark_Click);
+         //
+         // AddBookmark
+         //
+         this.AddBookmark.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+         this.AddBookmark.Location = new System.Drawing.Point(363, 408);
+         this.AddBookmark.Name = "AddBookmark";
+         this.AddBookmark.Size = new System.Drawing.Size(23, 23);
+         this.AddBookmark.TabIndex = 32;
+         this.AddBookmark.Text = "+";
+         this.AddBookmark.UseVisualStyleBackColor = true;
+         this.AddBookmark.Click += new System.EventHandler(this.AddBookmark_Click);
+         //
+         // BookmarkDescriptionBox
+         //
+         this.BookmarkDescriptionBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.BookmarkDescriptionBox.Location = new System.Drawing.Point(232, 410);
+         this.BookmarkDescriptionBox.Name = "BookmarkDescriptionBox";
+         this.BookmarkDescriptionBox.Size = new System.Drawing.Size(125, 20);
+         this.BookmarkDescriptionBox.TabIndex = 31;
+         this.BookmarkDescriptionBox.TextChanged += new System.EventHandler(this.BookmarkDescriptionBox_TextChanged);
+         //
+         // BookmarkList
+         //
+         this.BookmarkList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
             | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
-            this.BookmarkList.FormattingEnabled = true;
-            this.BookmarkList.Location = new System.Drawing.Point(172, 436);
-            this.BookmarkList.Name = "BookmarkList";
-            this.BookmarkList.Size = new System.Drawing.Size(185, 69);
-            this.BookmarkList.TabIndex = 33;
-            this.BookmarkList.SelectedIndexChanged += new System.EventHandler(this.BookmarkList_SelectedIndexChanged);
-            //
-            // HandsBox
-            //
-            this.HandsBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.HandsBox.Location = new System.Drawing.Point(70, 354);
-            this.HandsBox.Name = "HandsBox";
-            this.HandsBox.Size = new System.Drawing.Size(316, 20);
-            this.HandsBox.TabIndex = 23;
-            this.HandsBox.TextChanged += new System.EventHandler(this.HandsBox_TextChanged);
-            //
-            // PartsLabel
-            //
-            this.PartsLabel.AutoSize = true;
-            this.PartsLabel.Location = new System.Drawing.Point(6, 357);
-            this.PartsLabel.Name = "PartsLabel";
-            this.PartsLabel.Size = new System.Drawing.Size(41, 13);
-            this.PartsLabel.TabIndex = 22;
-            this.PartsLabel.Text = "&Hands:";
-            //
-            // FingerHintBox
-            //
-            this.FingerHintBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.FingerHintBox.Location = new System.Drawing.Point(70, 304);
-            this.FingerHintBox.Multiline = true;
-            this.FingerHintBox.Name = "FingerHintBox";
-            this.FingerHintBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
-            this.FingerHintBox.Size = new System.Drawing.Size(316, 44);
-            this.FingerHintBox.TabIndex = 21;
-            this.FingerHintBox.TextChanged += new System.EventHandler(this.FingerHintBox_TextChanged);
-            //
-            // FingerHintLabel
-            //
-            this.FingerHintLabel.AutoSize = true;
-            this.FingerHintLabel.Location = new System.Drawing.Point(6, 307);
-            this.FingerHintLabel.Name = "FingerHintLabel";
-            this.FingerHintLabel.Size = new System.Drawing.Size(44, 13);
-            this.FingerHintLabel.TabIndex = 20;
-            this.FingerHintLabel.Text = "&Fingers:";
-            //
-            // SongGrouping
-            //
-            this.SongGrouping.Location = new System.Drawing.Point(232, 534);
-            this.SongGrouping.Name = "SongGrouping";
-            this.SongGrouping.Size = new System.Drawing.Size(80, 23);
-            this.SongGrouping.TabIndex = 5;
-            this.SongGrouping.Text = "Grouping...";
-            this.SongGrouping.UseVisualStyleBackColor = true;
-            this.SongGrouping.Click += new System.EventHandler(this.SongGrouping_Click);
-            //
-            // MetadataEditor
-            //
-            this.AllowDrop = true;
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(722, 569);
-            this.Controls.Add(this.SongGrouping);
-            this.Controls.Add(this.PropertiesGroup);
-            this.Controls.Add(this.SongListLabel);
-            this.Controls.Add(this.RemoveSong);
-            this.Controls.Add(this.AddSong);
-            this.Controls.Add(this.SongList);
-            this.Controls.Add(this.MainMenu);
-            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-            this.KeyPreview = true;
-            this.MainMenuStrip = this.MainMenu;
-            this.MinimumSize = new System.Drawing.Size(720, 500);
-            this.Name = "MetadataEditor";
-            this.Text = "[set in code]";
-            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MetadataEditor_FormClosing);
-            this.DragDrop += new System.Windows.Forms.DragEventHandler(this.MetadataEditor_DragDrop);
-            this.DragEnter += new System.Windows.Forms.DragEventHandler(this.MetadataEditor_DragEnter);
-            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MetadataEditor_KeyDown);
-            ((System.ComponentModel.ISupportInitialize)(this.DifficultyBox)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.RatingBox)).EndInit();
-            this.MainMenu.ResumeLayout(false);
-            this.MainMenu.PerformLayout();
-            this.PropertiesGroup.ResumeLayout(false);
-            this.PropertiesGroup.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.BookmarkMeasureBox)).EndInit();
-            this.ResumeLayout(false);
-            this.PerformLayout();
+         this.BookmarkList.FormattingEnabled = true;
+         this.BookmarkList.Location = new System.Drawing.Point(172, 436);
+         this.BookmarkList.Name = "BookmarkList";
+         this.BookmarkList.Size = new System.Drawing.Size(185, 69);
+         this.BookmarkList.TabIndex = 33;
+         this.BookmarkList.SelectedIndexChanged += new System.EventHandler(this.BookmarkList_SelectedIndexChanged);
+         //
+         // HandsBox
+         //
+         this.HandsBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.HandsBox.Location = new System.Drawing.Point(70, 354);
+         this.HandsBox.Name = "HandsBox";
+         this.HandsBox.Size = new System.Drawing.Size(316, 20);
+         this.HandsBox.TabIndex = 23;
+         this.HandsBox.TextChanged += new System.EventHandler(this.HandsBox_TextChanged);
+         //
+         // PartsLabel
+         //
+         this.PartsLabel.AutoSize = true;
+         this.PartsLabel.Location = new System.Drawing.Point(6, 357);
+         this.PartsLabel.Name = "PartsLabel";
+         this.PartsLabel.Size = new System.Drawing.Size(41, 13);
+         this.PartsLabel.TabIndex = 22;
+         this.PartsLabel.Text = "&Hands:";
+         //
+         // FingerHintBox
+         //
+         this.FingerHintBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+         this.FingerHintBox.Location = new System.Drawing.Point(70, 304);
+         this.FingerHintBox.Multiline = true;
+         this.FingerHintBox.Name = "FingerHintBox";
+         this.FingerHintBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+         this.FingerHintBox.Size = new System.Drawing.Size(316, 44);
+         this.FingerHintBox.TabIndex = 21;
+         this.FingerHintBox.TextChanged += new System.EventHandler(this.FingerHintBox_TextChanged);
+         //
+         // FingerHintLabel
+         //
+         this.FingerHintLabel.AutoSize = true;
+         this.FingerHintLabel.Location = new System.Drawing.Point(6, 307);
+         this.FingerHintLabel.Name = "FingerHintLabel";
+         this.FingerHintLabel.Size = new System.Drawing.Size(44, 13);
+         this.FingerHintLabel.TabIndex = 20;
+         this.FingerHintLabel.Text = "&Fingers:";
+         //
+         // SongGrouping
+         //
+         this.SongGrouping.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+         this.SongGrouping.Location = new System.Drawing.Point(232, 534);
+         this.SongGrouping.Name = "SongGrouping";
+         this.SongGrouping.Size = new System.Drawing.Size(80, 23);
+         this.SongGrouping.TabIndex = 5;
+         this.SongGrouping.Text = "Grouping...";
+         this.SongGrouping.UseVisualStyleBackColor = true;
+         this.SongGrouping.Click += new System.EventHandler(this.SongGrouping_Click);
+         //
+         // MetadataEditor
+         //
+         this.AllowDrop = true;
+         this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+         this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+         this.ClientSize = new System.Drawing.Size(722, 569);
+         this.Controls.Add(this.SongGrouping);
+         this.Controls.Add(this.PropertiesGroup);
+         this.Controls.Add(this.SongListLabel);
+         this.Controls.Add(this.RemoveSong);
+         this.Controls.Add(this.AddSong);
+         this.Controls.Add(this.SongList);
+         this.Controls.Add(this.MainMenu);
+         this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+         this.KeyPreview = true;
+         this.MainMenuStrip = this.MainMenu;
+         this.MinimumSize = new System.Drawing.Size(720, 580);
+         this.Name = "MetadataEditor";
+         this.Text = "[set in code]";
+         this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MetadataEditor_FormClosing);
+         this.DragDrop += new System.Windows.Forms.DragEventHandler(this.MetadataEditor_DragDrop);
+         this.DragEnter += new System.Windows.Forms.DragEventHandler(this.MetadataEditor_DragEnter);
+         this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MetadataEditor_KeyDown);
+         ((System.ComponentModel.ISupportInitialize)(this.DifficultyBox)).EndInit();
+         ((System.ComponentModel.ISupportInitialize)(this.RatingBox)).EndInit();
+         this.MainMenu.ResumeLayout(false);
+         this.MainMenu.PerformLayout();
+         this.PropertiesGroup.ResumeLayout(false);
+         this.PropertiesGroup.PerformLayout();
+         ((System.ComponentModel.ISupportInitialize)(this.BookmarkMeasureBox)).EndInit();
+         this.ResumeLayout(false);
+         this.PerformLayout();

         }


Fix exception when trying to scan folder that doesn't exist

--- Mono.Addins/Mono.Addins.Database/AddinFolderVisitor.cs
+++ Mono.Addins/Mono.Addins.Database/AddinFolderVisitor.cs
@@ -60,6 +60,9 @@

 		protected virtual void OnVisitFolder (IProgressStatus monitor, string path, string domain, bool recursive)
 		{
+			if (!FileSystem.DirectoryExists (path))
+				return;
+
 			var files = FileSystem.GetFiles (path);

 			// First of all scan .addins files, since they can contain exclude paths.


Remove countdownevent

Remove countdownevent

--- Engine/Commands/InvokeScriptAnalyzerCommand.cs
+++ Engine/Commands/InvokeScriptAnalyzerCommand.cs
@@ -276,7 +276,6 @@
         Dictionary<string, List<RuleSuppression>> ruleSuppressions;
         List<Regex> includeRegexList;
         List<Regex> excludeRegexList;
-        CountdownEvent cde;
         ConcurrentDictionary<string, List<object>> ruleDictionary;

         /// <summary>
@@ -673,65 +672,6 @@
             }
         }

-        void bg_DoWork(object sender, DoWorkEventArgs e)
-        {
-            bool includeRegexMatch = false;
-            bool excludeRegexMatch = false;
-
-            object[] parameters = e.Argument as object[];
-
-            IScriptRule scriptRule = parameters[0] as IScriptRule;
-
-            foreach (Regex include in includeRegexList)
-            {
-                if (include.IsMatch(scriptRule.GetName()))
-                {
-                    includeRegexMatch = true;
-                    break;
-                }
-            }
-
-            foreach (Regex exclude in excludeRegexList)
-            {
-                if (exclude.IsMatch(scriptRule.GetName()))
-                {
-                    excludeRegexMatch = true;
-                    break;
-                }
-            }
-
-            List<object> result = new List<object>();
-
-            if ((includeRule == null || includeRegexMatch) && (excludeRule == null || !excludeRegexMatch))
-            {
-                //WriteVerbose(string.Format(CultureInfo.CurrentCulture, Strings.VerboseRunningMessage, scriptRule.GetName()));
-                result.Add(string.Format(CultureInfo.CurrentCulture, Strings.VerboseRunningMessage, scriptRule.GetName()));
-
-                // Ensure that any unhandled errors from Rules are converted to non-terminating errors
-                // We want the Engine to continue functioning even if one or more Rules throws an exception
-                try
-                {
-                    var records = Helper.Instance.SuppressRule(scriptRule.GetName(), ruleSuppressions, scriptRule.AnalyzeScript(ast, ast.Extent.File).ToList());
-                    foreach (var record in records.Item2)
-                    {
-                        diagnostics.Add(record);
-                    }
-                    foreach (var suppressedRec in records.Item1)
-                    {
-                        suppressed.Add(suppressedRec);
-                    }
-                }
-                catch (Exception scriptRuleException)
-                {
-                    result.Add(new ErrorRecord(scriptRuleException, Strings.RuleErrorMessage, ErrorCategory.InvalidOperation, ast.Extent.File));
-                }
-            }
-
-            ruleDictionary[scriptRule.GetName()] = result;
-
-            cde.Signal();
-        }
-
         #endregion
     }
 }


Some fixes, more bugs

Some fixes, more bugs

--- TeamArchMageGame/KiwisMatrix/Main/KiwisDeath.cs
+++ TeamArchMageGame/KiwisMatrix/Main/KiwisDeath.cs
@@ -41,14 +41,21 @@
         static bool spawnedSpeedTaken = false;
         static int speedTimeCounter = 80;

-        static int treeSpawnWidth;
-        static int treeSpawnHeigth;
+
         static bool borCollision;
         // left tree variables
+        static int leftTreeSpawnWidth;
+        static int leftTreeSpawnHeigth;
         static bool spawnedLeftTree = false;
         static int leftTreeCounter = -1;
         static int leftTreeDespawnCounter = 3;
         // middle tree variables
+        static int middleTreeSpawnWidth;
+        static int middleTreeSpawnHeigth;
+        static bool spawnedMiddleTree = false;
+        static int middleTreeCounter = -1;
+        static int middleTreeDespawnCounter = 3;
+
         // right tree variables

         static string gameBeginning = System.IO.File.ReadAllText("../../../GameBeginningFile.txt");
@@ -176,17 +183,20 @@
                 }
                 else if (chance >= 21 && chance <= 40 && spawnedLeftTree == false)
                 {
-                    treeSpawnWidth = randomNum.Next(1, (gameFieldWidth / 3)- bigBor.GetLength(1));
-                    treeSpawnHeigth = gameFieldHeigth - 1;
-
-                    SpawnLeftTree(treeSpawnWidth, treeSpawnHeigth);
+                    leftTreeSpawnWidth = randomNum.Next(1, (gameFieldWidth / 3)- bigBor.GetLength(1));
+                    leftTreeSpawnHeigth = gameFieldHeigth - 1;
+
+                    SpawnLeftTree(leftTreeSpawnWidth, leftTreeSpawnHeigth);
                     spawnedLeftTree = true;
                 }
-                //else if (chance >= 41 && chance <= 60 && spawnedMiddleTree == false)
-                //{
-                //    speedSpawnWidth = randomNum.Next(1, gameFieldWidth - 4);
-                //    speedSpawnHeight = randomNum.Next(3, gameFieldHeigth - 1);
-                //}
+                else if (chance >= 41 && chance <= 60 && spawnedMiddleTree == false)
+                {
+                    middleTreeSpawnWidth = randomNum.Next((gameFieldWidth / 3), (((gameFieldWidth * 2) / 3)) - bigBor.GetLength(1));
+                    middleTreeSpawnHeigth = gameFieldHeigth - 1;
+
+                    SpawnMiddleTree(middleTreeSpawnWidth, middleTreeSpawnHeigth);
+                    spawnedMiddleTree = true;
+                }
                 //else if (chance >= 61 && chance <= 80 && spawnedRightTree == false)
                 //{
                 //    speedSpawnWidth = randomNum.Next(1, gameFieldWidth - 4);
@@ -242,10 +252,10 @@
                 }
                 if (spawnedLeftTree)
                 {
-                    treeSpawnHeigth--;
-                    if (treeSpawnHeigth <= 2)
-                    {
-                        DespawnLeftTree(treeSpawnHeigth, treeSpawnWidth);
+                    leftTreeSpawnHeigth--;
+                    if (leftTreeSpawnHeigth <= 2)
+                    {
+                        DespawnLeftTree(leftTreeSpawnHeigth, leftTreeSpawnWidth);
                         if (leftTreeCounter == 0)
                         {
                             spawnedLeftTree = false;
@@ -253,10 +263,25 @@
                     }
                     else
                     {
-                        SpawnLeftTree(treeSpawnHeigth, treeSpawnWidth);
+                        SpawnLeftTree(leftTreeSpawnHeigth, leftTreeSpawnWidth);
                     }
                 }
-
+                if (spawnedMiddleTree)
+                {
+                    middleTreeSpawnHeigth--;
+                    if (middleTreeSpawnHeigth <= 2)
+                    {
+                        DespawnMiddleTree(middleTreeSpawnHeigth, middleTreeSpawnWidth);
+                        if (middleTreeCounter == 0)
+                        {
+                            spawnedMiddleTree = false;
+                        }
+                    }
+                    else
+                    {
+                        SpawnMiddleTree(middleTreeSpawnHeigth, middleTreeSpawnWidth);
+                    }
+                }

                 // Draw KIWI
                 SetKiwiPosition(gameField);
@@ -284,7 +309,7 @@

                 // Slow down game
-                Thread.Sleep((300- currentSpeed) >= 50 ? (200 - currentSpeed) : 150);
+                Thread.Sleep(1); //(100- currentSpeed) >= 50 ? (200 - currentSpeed) : 150
                 Console.Clear();

                 // Redraw the gameField after the clear(). Fixes movement tearing, BUT causes blue dot bug.
@@ -391,6 +416,21 @@
                 }
             }
         }
+
+        private static void SpawnMiddleTree(int spawnWidth, int spawnHeigth)
+        {
+            if (middleTreeCounter < bigBor.GetLength(0))
+            {
+                middleTreeCounter++;
+            }
+            for (int row = 0, i = spawnWidth; row < middleTreeCounter; row++, i++)
+            {
+                for (int col = 0, j = spawnHeigth; col < bigBor.GetLength(1); col++, j++)
+                {
+                    gameField[i, j] = bigBor[row, col];
+                }
+            }
+        }
         // Despawn

         private static void DeleteTree(int spawnWidth, int spawnHeigth)
@@ -417,6 +457,24 @@
             }
         }

+        private static void DespawnMiddleTree(int spawnWidth, int spawnHeigth)
+        {
+            if (middleTreeCounter > 0)
+            {
+                middleTreeCounter--;
+            }
+            middleTreeDespawnCounter = 3;
+            middleTreeDespawnCounter = (middleTreeDespawnCounter - middleTreeCounter) + 1;
+
+            for (int row = middleTreeCounter, i = spawnWidth; row > 0; row--, i++)
+            {
+                for (int col = 0, j = spawnHeigth; col < bigBor.GetLength(1); col++, j++)
+                {
+                    gameField[i, j] = bigBor[middleTreeDespawnCounter, col];
+                }
+                middleTreeDespawnCounter++;
+            }
+        }
         // Filling game field
         private static void FillGameField(char[,] gameField)
         {


Unit test timeout increased for first run

--- PART/Source/Core/Engine.Tests/FacadeMethodInfoTests.cs
+++ PART/Source/Core/Engine.Tests/FacadeMethodInfoTests.cs
@@ -13,7 +13,9 @@
     [TestFixture]
     class FacadeMethodInfoTests
     {
-        uint[] GuidLargeCounts = new uint[] {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };
+        uint[] GuidLargeCounts = new uint[] { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };
+
+        bool GetDataProviderList_Valid_ExecutesFast_Called = false;

         [Test]
         public void GetDataProviderList_Valid_ExecutesFast(
@@ -45,6 +47,11 @@

             var expectedDuration = TimeSpan.FromMilliseconds(1 * count);
+            if (!GetDataProviderList_Valid_ExecutesFast_Called)
+            {
+                expectedDuration = TimeSpan.FromSeconds(3);
+                GetDataProviderList_Valid_ExecutesFast_Called = true;
+            }

             Console.WriteLine(string.Format("{0} ms for {1} entries - {2} ms/item", watch.Elapsed.TotalMilliseconds, count, watch.Elapsed.TotalMilliseconds / count));


CombinedResultExtensions: Renamed BuildMock to BuildShapeMock

--- Proligence.Orchard.Testing/CombinedResultExtensions.cs
+++ Proligence.Orchard.Testing/CombinedResultExtensions.cs
@@ -6,7 +6,7 @@

     public static class CombinedResultExtensions
     {
-        public static ShapeMock BuildMock(this CombinedResult combinedResult, int index)
+        public static ShapeMock BuildShapeMock(this CombinedResult combinedResult, int index)
         {
             DriverResult[] driverResults = combinedResult.GetResults().ToArray();
             if (driverResults.Length > index)
@@ -21,7 +21,7 @@
             return null;
         }

-        public static ShapeMock BuildMock(this CombinedResult combinedResult, string shapeType)
+        public static ShapeMock BuildShapeMock(this CombinedResult combinedResult, string shapeType)
         {
             DriverResult[] driverResults = combinedResult.GetResults().ToArray();
             foreach (DriverResult driverResult in driverResults)