Index: LyricsEngine/LyricSearch.cs
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: LyricsEngine/LyricsEngine.csproj
===================================================================
--- LyricsEngine/LyricsEngine.csproj	(revision 4206)
+++ LyricsEngine/LyricsEngine.csproj	(working copy)
@@ -95,6 +95,7 @@
     <Compile Include="LyricsSites\Lyrics007.cs" />
     <Compile Include="LyricsSites\LyricsOnDemand.cs" />
     <Compile Include="LyricsSites\LyricsPluginSite.cs" />
+    <Compile Include="LyricsSites\Shironet.cs" />
     <Compile Include="LyricsWebClient.cs">
       <SubType>Component</SubType>
     </Compile>
Index: LyricsEngine/LyricsSites/Actionext.cs
===================================================================
--- LyricsEngine/LyricsSites/Actionext.cs	(revision 4206)
+++ LyricsEngine/LyricsSites/Actionext.cs	(working copy)
@@ -6,7 +6,7 @@
 using System.Timers;
 using Timer=System.Timers.Timer;
 
-namespace LyricsEngine.LyricSites
+namespace LyricsEngine.LyricsSites
 {
     internal class Actionext
     {
Index: LyricsEngine/LyricsSites/HotLyrics.cs
===================================================================
--- LyricsEngine/LyricsSites/HotLyrics.cs	(revision 4206)
+++ LyricsEngine/LyricsSites/HotLyrics.cs	(working copy)
@@ -6,7 +6,7 @@
 using System.Timers;
 using Timer=System.Timers.Timer;
 
-namespace LyricsEngine.LyricSites
+namespace LyricsEngine.LyricsSites
 {
     internal class HotLyrics
     {
Index: LyricsEngine/LyricsSites/LrcFinder.cs
===================================================================
--- LyricsEngine/LyricsSites/LrcFinder.cs	(revision 4206)
+++ LyricsEngine/LyricsSites/LrcFinder.cs	(working copy)
@@ -2,7 +2,7 @@
 using System.Data;
 using System.Net;
 
-namespace LyricsEngine.LyricSites
+namespace LyricsEngine.LyricsSites
 {
     public class LrcFinder
     {
Index: LyricsEngine/LyricsSites/LyrDB.cs
===================================================================
--- LyricsEngine/LyricsSites/LyrDB.cs	(revision 4206)
+++ LyricsEngine/LyricsSites/LyrDB.cs	(working copy)
@@ -6,7 +6,7 @@
 using System.Timers;
 using Timer=System.Timers.Timer;
 
-namespace LyricsEngine.LyricSites
+namespace LyricsEngine.LyricsSites
 {
     internal class LyrDB
     {
Index: LyricsEngine/LyricsSites/Lyrics007.cs
===================================================================
--- LyricsEngine/LyricsSites/Lyrics007.cs	(revision 4206)
+++ LyricsEngine/LyricsSites/Lyrics007.cs	(working copy)
@@ -7,7 +7,7 @@
 using System.Timers;
 using Timer=System.Timers.Timer;
 
-namespace LyricsEngine.LyricSites
+namespace LyricsEngine.LyricsSites
 {
     internal class Lyrics007
     {
Index: LyricsEngine/LyricsSites/LyricsOnDemand.cs
===================================================================
--- LyricsEngine/LyricsSites/LyricsOnDemand.cs	(revision 4206)
+++ LyricsEngine/LyricsSites/LyricsOnDemand.cs	(working copy)
@@ -6,7 +6,7 @@
 using System.Timers;
 using Timer=System.Timers.Timer;
 
-namespace LyricsEngine.LyricSites
+namespace LyricsEngine.LyricsSites
 {
     internal class LyricsOnDemand
     {
Index: LyricsEngine/LyricsSites/LyricsPluginSite.cs
===================================================================
--- LyricsEngine/LyricsSites/LyricsPluginSite.cs	(revision 4206)
+++ LyricsEngine/LyricsSites/LyricsPluginSite.cs	(working copy)
@@ -6,7 +6,7 @@
 using System.Timers;
 using Timer = System.Timers.Timer;
 
-namespace LyricsEngine.LyricSites
+namespace LyricsEngine.LyricsSites
 {
     internal class LyricsPluginSite
     {
Index: LyricsEngine/LyricsSites/LyricWiki.cs
===================================================================
--- LyricsEngine/LyricsSites/LyricWiki.cs	(revision 4206)
+++ LyricsEngine/LyricsSites/LyricWiki.cs	(working copy)
@@ -6,7 +6,7 @@
 using System.Timers;
 using Timer=System.Timers.Timer;
 
-namespace LyricsEngine.LyricSites
+namespace LyricsEngine.LyricsSites
 {
     internal class LyricWiki
     {
Index: LyricsEngine/LyricsSites/Shironet.cs
===================================================================
--- LyricsEngine/LyricsSites/Shironet.cs	(revision 0)
+++ LyricsEngine/LyricsSites/Shironet.cs	(revision 0)
@@ -0,0 +1,403 @@
+using System;
+using System.IO;
+using System.Net;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading;
+using System.Timers;
+using Timer = System.Timers.Timer;
+
+namespace LyricsEngine.LyricsSites
+{
+  // This class searches www.shiron.net for Hebrew lyrics
+  public class Shironet
+  {
+    // artist/title for validation
+    private readonly string _artist;
+    private readonly string _title;
+
+    // Lyrics
+    private string _lyric = "";
+
+    // step 1 output
+    private string _prfid;
+    private string _wrkid;
+    private bool _firstStepComplete;
+    private bool _complete;
+    
+    private readonly Timer _timer;
+
+    public Shironet(string artist, string title, WaitHandle mEventStopSiteSearches, int timeLimit)
+    {
+      _artist = artist;
+      _title = title;
+
+      _timer = new Timer();
+
+      // Escape characters
+      artist = FixEscapeCharacters(artist);
+      title = FixEscapeCharacters(title);
+
+      // Hebrew letters
+      artist = FixHebrew(artist);
+      title = FixHebrew(title);
+
+      // timer
+      _timer.Enabled = true;
+      _timer.Interval = timeLimit;
+      _timer.Elapsed += TimerElapsed;
+      _timer.Start();
+
+      // 1st step - find lyrics page
+      var firstUrlString = "http://www.shiron.net/searchSongs?type=lyrics&q=" + artist + "%20" + title;
+
+      var findLyricsPageWebClient = new LyricsWebClient();
+      findLyricsPageWebClient.OpenReadCompleted += FirstCallbackMethod;
+      findLyricsPageWebClient.OpenReadAsync(new Uri(firstUrlString));
+
+      while (_firstStepComplete == false)
+      {
+        if (mEventStopSiteSearches.WaitOne(1, true))
+        {
+          _firstStepComplete = true;
+        }
+        else
+        {
+          Thread.Sleep(100);
+        }
+      }
+
+      // 2nd step - find lyrics
+      var secondUrlString = "http://www.shiron.net/artist?type=lyrics&lang=1&prfid=" + _prfid + "&wrkid=" + _wrkid;
+
+      var findLyricsWebClient = new LyricsWebClient(firstUrlString);
+      findLyricsWebClient.OpenReadCompleted += SecondCallbackMethod;
+      findLyricsWebClient.OpenReadAsync(new Uri(secondUrlString));
+
+      while (_complete == false)
+      {
+        if (mEventStopSiteSearches.WaitOne(1, true))
+        {
+          _complete = true;
+        }
+        else
+        {
+          Thread.Sleep(100);
+        }
+      }
+    }
+
+    public string Lyric
+    {
+      get { return _lyric; }
+    }
+
+    // Finds lyrics page
+    private void FirstCallbackMethod(object sender, OpenReadCompletedEventArgs e)
+    {
+      var thisMayBeTheCorrectPage = false;
+
+      Stream reply = null;
+      StreamReader reader = null;
+
+      try
+      {
+        reply = e.Result;
+        reader = new StreamReader(reply, Encoding.UTF8);
+
+        // RegEx to find lyrics page
+        const string findLyricsPagePattern = "<a href=\\\"/artist\\?type=lyrics&lang=1&prfid=(?<prfid>\\d+)&wrkid=(?<wrkid>\\d+)\\\" class=\\\"search_link_name_big\\\">";
+
+        while (!thisMayBeTheCorrectPage)
+        {
+          // Read line
+          if (reader.EndOfStream)
+          {
+            break;
+          }
+          var line = reader.ReadLine() ?? "";
+
+          // Try to find match in line
+          var findLyricsPageMatch = Regex.Match(line, findLyricsPagePattern, RegexOptions.IgnoreCase);
+
+          if (findLyricsPageMatch.Groups.Count == 3)
+          {
+            _prfid = findLyricsPageMatch.Groups[1].Value;
+            _wrkid = findLyricsPageMatch.Groups[2].Value;
+
+            if (Convert.ToUInt32(_prfid) > 0 && Convert.ToUInt32(_wrkid) > 0)
+            {
+              // Found page
+              thisMayBeTheCorrectPage = true;
+            }
+          }
+        }
+
+        // Not found
+        if (!thisMayBeTheCorrectPage)
+        {
+          _lyric = "Not found";
+        }
+
+      }
+      catch
+      {
+        _lyric = "Not found";
+      }
+      finally
+      {
+        if (reader != null)
+        {
+          reader.Close();
+        }
+
+        if (reply != null)
+        {
+          reply.Close();
+        }
+        _firstStepComplete = true;
+      }
+    }
+
+    // Find lyrics
+    private void SecondCallbackMethod(object sender, OpenReadCompletedEventArgs e)
+    {
+      var thisMayBeTheCorrectLyric = false;
+      var lyricTemp = new StringBuilder();
+
+      Stream reply = null;
+      StreamReader reader = null;
+
+      try
+      {
+        reply = e.Result;
+        reader = new StreamReader(reply, Encoding.UTF8);
+
+        // Title RegEx
+        const string titleSearchPattern = "<title>(?<title>.*?)</title>";
+        // Lyrics start RegEx
+        const string lyricsStartSearchPattern = "<span class=\\\"artist_lyrics_text\\\">(?<lyricsStart>.*)";
+        // Lyrics end RegEx
+        const string lyricsEndSearchPattern = "(?<lyricsEnd>.*?)</span>";
+
+        var titleLine = "";
+        var foundStart = false;
+
+        while (!_complete)
+        {
+          // Read line
+          if (reader.EndOfStream)
+          {
+            break;
+          }
+          var line = reader.ReadLine() ?? "";
+
+          // Find artist + title in <title> line and validate correct artist/title
+          if (titleLine == "")
+          {
+            var findLyricsPageMatch = Regex.Match(line, titleSearchPattern, RegexOptions.IgnoreCase);
+            if (findLyricsPageMatch.Groups.Count == 2)
+            {
+              titleLine = findLyricsPageMatch.Groups[1].Value;
+            }
+
+            // validation
+            if (!ValidateArtistAndTitle(titleLine))
+            {
+              throw new ArgumentException("Cannot find exact match");
+            }
+          }
+
+          if (!foundStart)
+          {
+            // Try to find lyrics start in line
+            var findLyricsPageMatch = Regex.Match(line, lyricsStartSearchPattern, RegexOptions.IgnoreCase);
+
+            if (findLyricsPageMatch.Groups.Count == 2)
+            {
+              foundStart = true;
+
+              // Initialize with first line
+              lyricTemp.Append(findLyricsPageMatch.Groups[1].Value).Append(Environment.NewLine);
+            }
+
+          }
+          else // already found start
+          {
+            // Try to find lyrics end in line
+            var findLyricsPageMatch = Regex.Match(line, lyricsEndSearchPattern, RegexOptions.IgnoreCase);
+            if (findLyricsPageMatch.Groups.Count == 2)
+            {
+              // Add last line
+              lyricTemp.Append(findLyricsPageMatch.Groups[1].Value).Append(Environment.NewLine);
+              thisMayBeTheCorrectLyric = true;
+              break;
+            }
+
+            // Add line to lyrics
+            lyricTemp.Append(line).Append(Environment.NewLine);
+          }
+        }
+
+        if (thisMayBeTheCorrectLyric)
+        {
+          // Clean lyrics
+          _lyric = CleanLyrics(lyricTemp);
+
+          if (_lyric.Length == 0 || (_lyric.Contains("<") || _lyric.Contains(">") || _lyric.Contains("a href")))
+          {
+            _lyric = "Not found";
+          }
+        }
+      }
+      catch
+      {
+        _lyric = "Not found";
+      }
+      finally
+      {
+        if (reader != null)
+        {
+          reader.Close();
+        }
+
+        if (reply != null)
+        {
+          reply.Close();
+        }
+        _complete = true;
+      }
+    }
+
+    private bool ValidateArtistAndTitle(string titleLine)
+    {
+      bool validated = true;
+      string[] strings = titleLine.Split('-');
+      if (strings.Length == 3)
+      {
+        // check artist
+        if (!IgnoreSpecialChars(_artist).Equals(IgnoreSpecialChars(strings[0])))
+        {
+          validated = false;
+        }
+        // check title
+        if (!IgnoreSpecialChars(_title).Equals(IgnoreSpecialChars(strings[1])))
+        {
+          validated = false;
+        }
+      }
+      return validated;
+    }
+
+    private static string IgnoreSpecialChars(string orig)
+    {
+      return orig.Replace("\'", "").Replace("\"", "").Trim();
+    }
+
+    private static string CleanLyrics(StringBuilder lyricTemp)
+    {
+      lyricTemp.Replace("<br>", "");
+      lyricTemp.Replace("<br/>", "");
+      lyricTemp.Replace("&quot;", "\"");
+
+      return lyricTemp.ToString().Trim();
+    }
+
+    private void TimerElapsed(object sender, ElapsedEventArgs e)
+    {
+      _timer.Stop();
+      _timer.Close();
+      _timer.Dispose();
+
+      _lyric = "Not found";
+      _complete = true;
+      Thread.CurrentThread.Abort();
+    }
+
+    private static string FixEscapeCharacters(string text)
+    {
+      text = text.Replace("(", "");
+      text = text.Replace(")", "");
+      text = text.Replace("#", "");
+      text = text.Replace("/", "");
+
+      text = text.Replace("%", "%25");
+
+      text = text.Replace(" ", "%20");
+      text = text.Replace("$", "%24");
+      text = text.Replace("&", "%26");
+      text = text.Replace("'", "%27");
+      text = text.Replace("+", "%2B");
+      text = text.Replace(",", "%2C");
+      text = text.Replace(":", "%3A");
+      text = text.Replace(";", "%3B");
+      text = text.Replace("=", "%3D");
+      text = text.Replace("?", "%3F");
+      text = text.Replace("@", "%40");
+      text = text.Replace("&amp;", "&");
+
+      return text;
+    }
+
+    private static string FixHebrew(string text)
+    {
+      text = text.Replace("\uC3A0", "%d7%90"); // à
+      text = text.Replace("\uC3A1", "%D7%91");
+      text = text.Replace("\uC3A2", "%D7%92");
+      text = text.Replace("\uC3A3", "%D7%93");
+      text = text.Replace("\uC3A4", "%D7%94");
+      text = text.Replace("\uC3A5", "%D7%95");
+      text = text.Replace("\uC3A6", "%D7%96");
+      text = text.Replace("\uC3A7", "%D7%97");
+      text = text.Replace("\uC3A8", "%D7%98");
+      text = text.Replace("\uC3A9", "%D7%99");
+      text = text.Replace("\uC3AA", "%D7%9A");
+      text = text.Replace("\uC3AB", "%D7%9B");
+      text = text.Replace("\uC3AC", "%D7%9C");
+      text = text.Replace("\uC3AD", "%D7%9D");
+      text = text.Replace("\uC3AE", "%D7%9E");
+      text = text.Replace("\uC3AF", "%D7%9F");
+      text = text.Replace("\uC3B0", "%D7%A0");
+      text = text.Replace("\uC3B1", "%D7%A1");
+      text = text.Replace("\uC3B2", "%D7%A2");
+      text = text.Replace("\uC3B3", "%D7%A3");
+      text = text.Replace("\uC3B4", "%D7%A4");
+      text = text.Replace("\uC3B5", "%D7%A5");
+      text = text.Replace("\uC3B6", "%D7%A6");
+      text = text.Replace("\uC3B7", "%D7%A7");
+      text = text.Replace("\uC3B8", "%D7%A8");
+      text = text.Replace("\uC3B9", "%D7%A9");
+      text = text.Replace("\uC3BA", "%D7%AA"); // ú
+
+      text = text.Replace("\uD790", "%d7%90"); // à
+      text = text.Replace("\uD791", "%D7%91");
+      text = text.Replace("\uD792", "%D7%92");
+      text = text.Replace("\uD793", "%D7%93");
+      text = text.Replace("\uD794", "%D7%94");
+      text = text.Replace("\uD795", "%D7%95");
+      text = text.Replace("\uD796", "%D7%96");
+      text = text.Replace("\uD797", "%D7%97");
+      text = text.Replace("\uD798", "%D7%98");
+      text = text.Replace("\uD799", "%D7%99");
+      text = text.Replace("\uD79A", "%D7%9A");
+      text = text.Replace("\uD79B", "%D7%9B");
+      text = text.Replace("\uD79C", "%D7%9C");
+      text = text.Replace("\uD79D", "%D7%9D");
+      text = text.Replace("\uD79E", "%D7%9E");
+      text = text.Replace("\uD79F", "%D7%9F");
+      text = text.Replace("\uD7A0", "%D7%A0");
+      text = text.Replace("\uD7A1", "%D7%A1");
+      text = text.Replace("\uD7A2", "%D7%A2");
+      text = text.Replace("\uD7A3", "%D7%A3");
+      text = text.Replace("\uD7A4", "%D7%A4");
+      text = text.Replace("\uD7A5", "%D7%A5");
+      text = text.Replace("\uD7A6", "%D7%A6");
+      text = text.Replace("\uD7A7", "%D7%A7");
+      text = text.Replace("\uD7A8", "%D7%A8");
+      text = text.Replace("\uD7A9", "%D7%A9");
+      text = text.Replace("\uD7AA", "%D7%AA"); // ú
+
+      return text;
+    }
+  }
+}
\ No newline at end of file
Index: LyricsEngine/Properties/AssemblyInfo.cs
===================================================================
--- LyricsEngine/Properties/AssemblyInfo.cs	(revision 4206)
+++ LyricsEngine/Properties/AssemblyInfo.cs	(working copy)
@@ -27,8 +27,8 @@
 // by using the '*' as shown below:
 
 
-[assembly: AssemblyVersion("1.6.0.0")]
-[assembly: AssemblyFileVersion("1.6.0.0")]
+[assembly: AssemblyVersion("1.6.1.0")]
+[assembly: AssemblyFileVersion("1.6.1.0")]
 
 
 //
Index: LyricsEngine/Setup.cs
===================================================================
--- LyricsEngine/Setup.cs	(revision 4206)
+++ LyricsEngine/Setup.cs	(working copy)
@@ -5,7 +5,7 @@
 {
     public static class Setup
     {
-        public static string[] BatchSearchSites = new string[7]
+        public static string[] BatchSearchSites = new string[8]
                                                       {
                                                           "LrcFinder",
                                                           //"LyricWiki",
@@ -14,7 +14,8 @@
                                                           "HotLyrics",
                                                           "Actionext",
                                                           "LyrDB",
-                                                          "LyricsPluginSite"
+                                                          "LyricsPluginSite",
+                                                          "Shironet"
                                                       };
 
 
Index: My Lyrics/MyLyrics Configuration/About.Designer.cs
===================================================================
--- My Lyrics/MyLyrics Configuration/About.Designer.cs	(revision 4206)
+++ My Lyrics/MyLyrics Configuration/About.Designer.cs	(working copy)
@@ -80,7 +80,7 @@
             this.lbInfo1.Name = "lbInfo1";
             this.lbInfo1.Size = new System.Drawing.Size(197, 18);
             this.lbInfo1.TabIndex = 3;
-            this.lbInfo1.Text = "MyLyrics plugin, version 1.6.0.0";
+            this.lbInfo1.Text = "MyLyrics plugin, version 1.6.1.0";
             // 
             // label2
             // 
Index: My Lyrics/MyLyrics Configuration/FindLyric.cs
===================================================================
--- My Lyrics/MyLyrics Configuration/FindLyric.cs	(revision 4206)
+++ My Lyrics/MyLyrics Configuration/FindLyric.cs	(working copy)
@@ -111,6 +111,11 @@
                         "True")
                         ? true
                         : false;
+                cbShironet.Checked =
+                    ((string)xmlreader.GetValueAsString("myLyrics", "useShironet", "True")).ToString().Equals(
+                        "True")
+                        ? true
+                        : false;
                 cbHotLyrics.Checked =
                     ((string) xmlreader.GetValueAsString("myLyrics", "useHotLyrics", "True")).ToString().Equals("True")
                         ? true
@@ -206,6 +211,10 @@
             {
                 sitesToSearch.Add("LyricsPluginSite");
             }
+            if (cbShironet.Checked)
+            {
+                sitesToSearch.Add("Shironet");
+            }
 
             // If automaticUpdate is set then return after the first positive search
             m_EventStopThread = new ManualResetEvent(false);
Index: My Lyrics/MyLyrics Configuration/FindLyric.Designer.cs
===================================================================
--- My Lyrics/MyLyrics Configuration/FindLyric.Designer.cs	(revision 4206)
+++ My Lyrics/MyLyrics Configuration/FindLyric.Designer.cs	(working copy)
@@ -50,6 +50,7 @@
             this.cbLyricsOnDemand = new MediaPortal.UserInterface.Controls.MPCheckBox();
             this.cbLyrics007 = new MediaPortal.UserInterface.Controls.MPCheckBox();
             this.cbLyricsPluginSite = new MediaPortal.UserInterface.Controls.MPCheckBox();
+            this.cbShironet = new MediaPortal.UserInterface.Controls.MPCheckBox();
             this.btClose = new System.Windows.Forms.Button();
             this.btUpdate = new System.Windows.Forms.Button();
             this.gbSearchInfo.SuspendLayout();
@@ -195,6 +196,7 @@
             this.gbLyricSites.Controls.Add(this.cbLyricsOnDemand);
             this.gbLyricSites.Controls.Add(this.cbLyrics007);
             this.gbLyricSites.Controls.Add(this.cbLyricsPluginSite);
+            this.gbLyricSites.Controls.Add(this.cbShironet);
             this.gbLyricSites.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
             this.gbLyricSites.Location = new System.Drawing.Point(9, 115);
             this.gbLyricSites.Name = "gbLyricSites";
@@ -294,6 +296,19 @@
             this.cbLyricsPluginSite.Text = "LyricsPlugin";
             this.cbLyricsPluginSite.UseVisualStyleBackColor = true;
             // 
+            // cbShironet
+            // 
+            this.cbShironet.AutoSize = true;
+            this.cbShironet.Checked = true;
+            this.cbShironet.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.cbShironet.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+            this.cbShironet.Location = new System.Drawing.Point(237, 21);
+            this.cbShironet.Name = "cbShironet";
+            this.cbShironet.Size = new System.Drawing.Size(72, 17);
+            this.cbShironet.TabIndex = 15;
+            this.cbShironet.Text = "Shironet";
+            this.cbShironet.UseVisualStyleBackColor = true;
+            // 
             // btClose
             // 
             this.btClose.Location = new System.Drawing.Point(361, 546);
@@ -361,6 +376,7 @@
         internal MediaPortal.UserInterface.Controls.MPCheckBox cbLyricsOnDemand;
         internal MediaPortal.UserInterface.Controls.MPCheckBox cbLyrics007;
         internal MediaPortal.UserInterface.Controls.MPCheckBox cbLyricsPluginSite;
+        internal MediaPortal.UserInterface.Controls.MPCheckBox cbShironet;
         private System.Windows.Forms.ListView lvSearchResults;
         private System.Windows.Forms.ColumnHeader cbSite;
         private System.Windows.Forms.ColumnHeader cbResult;
Index: My Lyrics/MyLyrics Configuration/LyricsLibrary.cs
===================================================================
--- My Lyrics/MyLyrics Configuration/LyricsLibrary.cs	(revision 4206)
+++ My Lyrics/MyLyrics Configuration/LyricsLibrary.cs	(working copy)
@@ -6,7 +6,7 @@
 using System.Windows.Forms;
 using LyricsEngine;
 using LyricsEngine.LRC;
-using LyricsEngine.LyricSites;
+using LyricsEngine.LyricsSites;
 using MediaPortal.Configuration;
 using MediaPortal.Music.Database;
 using MediaPortal.Profile;
Index: My Lyrics/MyLyrics Configuration/MusicDatabaseBrowse.cs
===================================================================
--- My Lyrics/MyLyrics Configuration/MusicDatabaseBrowse.cs	(revision 4206)
+++ My Lyrics/MyLyrics Configuration/MusicDatabaseBrowse.cs	(working copy)
@@ -526,16 +526,14 @@
                     sitesToSearch.Add("LyrDB");
                 if (((string) xmlreader.GetValueAsString("myLyrics", "useLyrics007", "True")).ToString().Equals("True"))
                     sitesToSearch.Add("Lyrics007");
-                if (
-                    ((string) xmlreader.GetValueAsString("myLyrics", "useLyricsOnDemand", "True")).ToString().Equals(
-                        "True"))
+                if (((string) xmlreader.GetValueAsString("myLyrics", "useLyricsOnDemand", "True")).ToString().Equals("True"))
                     sitesToSearch.Add("LyricsOnDemand");
                 if (((string) xmlreader.GetValueAsString("myLyrics", "useHotLyrics", "True")).ToString().Equals("True"))
                     sitesToSearch.Add("HotLyrics");
-                if (
-                    ((string) xmlreader.GetValueAsString("myLyrics", "useLyricsPluginSite", "True")).ToString().Equals(
-                        "True"))
+                if (((string) xmlreader.GetValueAsString("myLyrics", "useLyricsPluginSite", "True")).ToString().Equals("True"))
                     sitesToSearch.Add("LyricsPluginSite");
+                if (((string)xmlreader.GetValueAsString("myLyrics", "useShironet", "True")).ToString().Equals("True"))
+                    sitesToSearch.Add("Shironet");
 
                 m_find = xmlreader.GetValueAsString("myLyrics", "find", "");
                 m_replace = xmlreader.GetValueAsString("myLyrics", "replace", "");
Index: My Lyrics/MyLyrics Configuration/MyLyricsSetup.cs
===================================================================
--- My Lyrics/MyLyrics Configuration/MyLyricsSetup.cs	(revision 4206)
+++ My Lyrics/MyLyrics Configuration/MyLyricsSetup.cs	(working copy)
@@ -225,6 +225,7 @@
                         cbLyricsOnDemand.Checked = xmlreader.GetValue("myLyrics", "useLyricsOnDemand").Equals("True");
                         cbHotLyrics.Checked = xmlreader.GetValue("myLyrics", "useHotLyrics").Equals("True");
                         cbLyricsPluginSite.Checked = xmlreader.GetValue("myLyrics", "useLyricsPluginSite").Equals("True");
+                        cbShironet.Checked = xmlreader.GetValue("myLyrics", "useShironet").Equals("True");
                     }
                     else
                     {
@@ -499,6 +500,8 @@
                 sitesToSearch.Add("HotLyrics");
             if (cbLyricsPluginSite.Checked)
                 sitesToSearch.Add("LyricsPluginSite");
+            if (cbShironet.Checked)
+                sitesToSearch.Add("Shironet");
 
             if (sitesToSearch.Count == 0)
             {
@@ -1083,6 +1086,7 @@
             {
                 cbLyricsOnDemand.Checked = true;
                 cbLyricsPluginSite.Checked = true;
+                cbShironet.Checked = true;
                 cbLyrics007.Checked = false;
                 cbLrcFinder.Checked = false;
                 cbHotLyrics.Checked = false;
@@ -1093,6 +1097,7 @@
             {
                 cbLyricsOnDemand.Checked = true;
                 cbLyricsPluginSite.Checked = true;
+                cbShironet.Checked = true;
                 cbLrcFinder.Checked = true;
                 cbLyrics007.Checked = true;
                 cbHotLyrics.Checked = false;
@@ -1103,6 +1108,7 @@
             {
                 cbLyricsOnDemand.Checked = true;
                 cbLyricsPluginSite.Checked = true;
+                cbShironet.Checked = true;
                 cbLyrics007.Checked = true;
                 cbLrcFinder.Checked = true;
                 cbHotLyrics.Checked = true;
@@ -1118,6 +1124,7 @@
                 cbLyrDB.Checked = true;
                 cbActionext.Checked = true;
                 cbLyricsPluginSite.Checked = true;
+                cbShironet.Checked = true;
             }
 
             if (sender != null)
@@ -1135,6 +1142,7 @@
                 cbLrcFinder.Checked = true;
                 cbHotLyrics.Checked = true;
                 cbLyricsPluginSite.Checked = true;
+                cbShironet.Checked = true;
 
                 trackBar.Value = 2;
             }
@@ -1149,6 +1157,7 @@
                 cbLyrics007.Enabled = false;
                 cbLrcFinder.Enabled = false;
                 cbLyricsPluginSite.Enabled = false;
+                cbShironet.Enabled = false;
                 cbHotLyrics.Enabled = false;
                 cbActionext.Enabled = false;
                 cbLyrDB.Enabled = false;
@@ -1167,6 +1176,7 @@
                 cbLyrics007.Enabled = true;
                 cbLrcFinder.Enabled = true;
                 cbLyricsPluginSite.Enabled = true;
+                cbShironet.Enabled = true;
                 cbHotLyrics.Enabled = true;
                 cbActionext.Enabled = true;
                 cbLyrDB.Enabled = true;
@@ -1182,11 +1192,13 @@
                 cbActionext.Checked = false;
                 cbLyrDB.Checked = false;
                 cbLyricsPluginSite.Checked = false;
+                cbShironet.Checked = false;
 
                 cbLyricsOnDemand.Enabled = false;
                 cbLyrics007.Enabled = false;
                 cbLrcFinder.Enabled = false;
                 cbLyricsPluginSite.Enabled = false;
+                cbShironet.Enabled = false;
                 cbHotLyrics.Enabled = false;
                 cbActionext.Enabled = false;
                 cbLyrDB.Enabled = false;
@@ -1229,6 +1241,7 @@
                 xmlwriter.SetValue("myLyrics", "useLyricsOnDemand", cbLyricsOnDemand.Checked.ToString());
                 xmlwriter.SetValue("myLyrics", "useHotLyrics", cbHotLyrics.Checked.ToString());
                 xmlwriter.SetValue("myLyrics", "useLyricsPluginSite", cbLyricsPluginSite.Checked.ToString());
+                xmlwriter.SetValue("myLyrics", "useShironet", cbShironet.Checked.ToString());
                 xmlwriter.SetValueAsBool("myLyrics", "useAutoscroll", cbUseAutoScrollAsDefault.Checked);
                 xmlwriter.SetValueAsBool("myLyrics", "uploadLrcToLrcFinder", cbUploadLrcAutomatically.Checked);
                 xmlwriter.SetValueAsBool("myLyrics", "alwaysAskUploadLrcToLrcFinder", cbAlwaysAskForUploadToLrcFinder.Checked);
Index: My Lyrics/MyLyrics Configuration/MyLyricsSetup.Designer.cs
===================================================================
--- My Lyrics/MyLyrics Configuration/MyLyricsSetup.Designer.cs	(revision 4206)
+++ My Lyrics/MyLyrics Configuration/MyLyricsSetup.Designer.cs	(working copy)
@@ -107,6 +107,7 @@
             this.cbLyricsOnDemand = new MediaPortal.UserInterface.Controls.MPCheckBox();
             this.cbHotLyrics = new MediaPortal.UserInterface.Controls.MPCheckBox();
             this.cbLyricsPluginSite = new MediaPortal.UserInterface.Controls.MPCheckBox();
+            this.cbShironet = new MediaPortal.UserInterface.Controls.MPCheckBox();
             this.groupBox1 = new System.Windows.Forms.GroupBox();
             this.mpLabel2 = new MediaPortal.UserInterface.Controls.MPLabel();
             this.trackBar = new System.Windows.Forms.TrackBar();
@@ -935,6 +936,7 @@
             this.groupBox2.Controls.Add(this.cbLyricsOnDemand);
             this.groupBox2.Controls.Add(this.cbHotLyrics);
             this.groupBox2.Controls.Add(this.cbLyricsPluginSite);
+            this.groupBox2.Controls.Add(this.cbShironet);
             this.groupBox2.Location = new System.Drawing.Point(229, 48);
             this.groupBox2.Name = "groupBox2";
             this.groupBox2.Size = new System.Drawing.Size(301, 90);
@@ -1040,6 +1042,20 @@
             this.cbLyricsPluginSite.UseVisualStyleBackColor = true;
             this.cbLyricsPluginSite.Leave += new System.EventHandler(this.WriteMediaPortalXML);
             // 
+            // cbShironet
+            // 
+            this.cbShironet.AutoSize = true;
+            this.cbShironet.Checked = true;
+            this.cbShironet.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.cbShironet.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
+            this.cbShironet.Location = new System.Drawing.Point(230, 40);
+            this.cbShironet.Name = "cbShironet";
+            this.cbShironet.Size = new System.Drawing.Size(80, 17);
+            this.cbShironet.TabIndex = 9;
+            this.cbShironet.Text = "Shironet";
+            this.cbShironet.UseVisualStyleBackColor = true;
+            this.cbShironet.Leave += new System.EventHandler(this.WriteMediaPortalXML);
+            // 
             // groupBox1
             // 
             this.groupBox1.Controls.Add(this.mpLabel2);
@@ -1291,6 +1307,7 @@
         private MediaPortal.UserInterface.Controls.MPGroupBox gbLyricSites;
         internal MediaPortal.UserInterface.Controls.MPCheckBox cbHotLyrics;
         internal MediaPortal.UserInterface.Controls.MPCheckBox cbLyricsPluginSite;
+        internal MediaPortal.UserInterface.Controls.MPCheckBox cbShironet;
         internal MediaPortal.UserInterface.Controls.MPCheckBox cbLyricsOnDemand;
         internal MediaPortal.UserInterface.Controls.MPCheckBox cbLyrics007;
         private System.Windows.Forms.RadioButton rdLyricsMode;
Index: My Lyrics/MyLyrics.cs
===================================================================
--- My Lyrics/MyLyrics.cs	(revision 4206)
+++ My Lyrics/MyLyrics.cs	(working copy)
@@ -9,7 +9,7 @@
 using System.Threading;
 using LyricsEngine;
 using LyricsEngine.LRC;
-using LyricsEngine.LyricSites;
+using LyricsEngine.LyricsSites;
 using MediaPortal.Configuration;
 using MediaPortal.Dialogs;
 using MediaPortal.GUI.Library;
@@ -99,7 +99,8 @@
 
         private bool _useLyrics007,
                      _useLyricsOnDemand,
-                     _useLyricsPluginSite;
+                     _useLyricsPluginSite,
+                     _useShironet;
 
         private bool _ValidLrcLyric;
         // A valid LRC-lyric always overwrites a normal lyric in both Lyrics db and music tag (if allowed)
@@ -673,24 +674,13 @@
             using (Settings xmlreader = new Settings("MediaPortal.xml"))
             {
                 _UseID3 = xmlreader.GetValueAsBool("musicfiles", "showid3", true);
-                _useLrcFinder = (xmlreader.GetValueAsString("myLyrics", "useLrcFinder", "True")).Equals("True")
-                                     ? true
-                                     : false;
-                _useLyrics007 = (xmlreader.GetValueAsString("myLyrics", "useLyrics007", "True")).Equals("True")
-                                     ? true
-                                     : false;
-                _useLyricsOnDemand =
-                    (xmlreader.GetValueAsString("myLyrics", "useLyricsOnDemand", "True")).Equals("True") ? true : false;
-                _useLyricsPluginSite =
-                    (xmlreader.GetValueAsString("myLyrics", "useLyricsPluginSite", "True")).Equals("True")
-                        ? true
-                        : false;
-                _useHotLyrics = (xmlreader.GetValueAsString("myLyrics", "useHotLyrics", "True")).Equals("True")
-                                     ? true
-                                     : false;
-                _useActionext = (xmlreader.GetValueAsString("myLyrics", "useActionext", "True")).Equals("True")
-                                     ? true
-                                     : false;
+                _useLrcFinder = (xmlreader.GetValueAsString("myLyrics", "useLrcFinder", "True")).Equals("True") ? true : false;
+                _useLyrics007 = (xmlreader.GetValueAsString("myLyrics", "useLyrics007", "True")).Equals("True")? true : false;
+                _useLyricsOnDemand = (xmlreader.GetValueAsString("myLyrics", "useLyricsOnDemand", "True")).Equals("True") ? true : false;
+                _useLyricsPluginSite = (xmlreader.GetValueAsString("myLyrics", "useLyricsPluginSite", "True")).Equals("True") ? true : false;
+                _useShironet= (xmlreader.GetValueAsString("myLyrics", "useShironet", "True")).Equals("True") ? true : false;
+                _useHotLyrics = (xmlreader.GetValueAsString("myLyrics", "useHotLyrics", "True")).Equals("True") ? true : false;
+                _useActionext = (xmlreader.GetValueAsString("myLyrics", "useActionext", "True")).Equals("True") ? true : false;
                 _useLyrDB = (xmlreader.GetValueAsString("myLyrics", "useLyrDB", "True")).Equals("True") ? true : false;
 
                 _enableLogging = xmlreader.GetValue("myLyrics", "loggingEnabled").Equals("True");
@@ -805,6 +795,10 @@
             {
                 sitesToSearch.Add("LyricsPluginSite");
             }
+            if (_useShironet && Setup.IsMember("Shironet"))
+            {
+                sitesToSearch.Add("Shironet");
+            }
 
             _LyricSitesTosearch = (string[])sitesToSearch.ToArray(typeof(string));
 
Index: My Lyrics/Properties/AssemblyInfo.cs
===================================================================
--- My Lyrics/Properties/AssemblyInfo.cs	(revision 4206)
+++ My Lyrics/Properties/AssemblyInfo.cs	(working copy)
@@ -43,5 +43,5 @@
 // by using the '*' as shown below:
 
 
-[assembly: AssemblyVersion("1.6.0.0")]
-[assembly: AssemblyFileVersion("1.6.0.0")]
\ No newline at end of file
+[assembly: AssemblyVersion("1.6.1.0")]
+[assembly: AssemblyFileVersion("1.6.1.0")]
\ No newline at end of file
Index: TranslateProvider/Properties/AssemblyInfo.cs
===================================================================
--- TranslateProvider/Properties/AssemblyInfo.cs	(revision 4206)
+++ TranslateProvider/Properties/AssemblyInfo.cs	(working copy)
@@ -35,5 +35,5 @@
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
 
-[assembly: AssemblyVersion("1.5.2.0")]
-[assembly: AssemblyFileVersion("1.5.2.0")]
+[assembly: AssemblyVersion("1.6.1.0")]
+[assembly: AssemblyFileVersion("1.6.1.0")]
