From: <sa...@us...> - 2007-11-10 14:59:20
|
Revision: 1045 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=1045&view=rev Author: saamand Date: 2007-11-10 06:59:03 -0800 (Sat, 10 Nov 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MyLyrics/LyricsEngine/LyricSearch.cs trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/EvilLabs.cs trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/Lyrics007.cs trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/LyricsOnDemand.cs trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/SeekLyrics.cs trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/Wiki.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ExportTags.Designer.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ExportTags.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/FindLyric.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ImportTags.Designer.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/LyricsLibrary.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MusicDatabaseBrowse.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MyLyricsSetup.Designer.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MyLyricsSetup.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricSearch.cs =================================================================== (Binary files differ) Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/EvilLabs.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/EvilLabs.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/EvilLabs.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -11,7 +11,6 @@ { class EvilLabs { - string lyric = ""; bool complete; System.Timers.Timer timer; Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/Lyrics007.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/Lyrics007.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/Lyrics007.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -5,6 +5,7 @@ using System.Diagnostics; using System.Net; using System.Threading; +using System.Timers; namespace LyricsEngine.LyricSites { @@ -12,14 +13,19 @@ { string lyric = ""; bool complete; + System.Timers.Timer timer; + int timeLimit; public string Lyric { get { return lyric; } } - public Lyrics007(string artist, string title, ManualResetEvent m_EventStop_SiteSearches) + public Lyrics007(string artist, string title, ManualResetEvent m_EventStop_SiteSearches, int timeLimit) { + this.timeLimit = timeLimit; + timer = new System.Timers.Timer(); + if (LyricDiagnostics.TraceSource != null) LyricDiagnostics.TraceSource.TraceEvent(TraceEventType.Information, 0, LyricDiagnostics.ElapsedTimeString() + "Lyrics007(" + artist + ", " + title + ")"); artist = LyricUtil.RemoveFeatComment(artist); @@ -35,6 +41,11 @@ WebClient client = new WebClient(); + timer.Enabled = true; + timer.Interval = timeLimit; + timer.Elapsed += new ElapsedEventHandler(timer_Elapsed); + timer.Start(); + Uri uri = new Uri(urlString); client.OpenReadCompleted += new System.Net.OpenReadCompletedEventHandler(callbackMethod); client.OpenReadAsync(uri); @@ -146,5 +157,12 @@ complete = true; } } + + void timer_Elapsed(object sender, ElapsedEventArgs e) + { + lyric = "Not found"; + complete = true; + Thread.CurrentThread.Abort(); + } } } Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/LyricsOnDemand.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/LyricsOnDemand.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/LyricsOnDemand.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -5,6 +5,7 @@ using System.Diagnostics; using System.Net; using System.Threading; +using System.Timers; namespace LyricsEngine.LyricSites { @@ -12,14 +13,19 @@ { string lyric = ""; bool complete; + System.Timers.Timer timer; + int timeLimit; public string Lyric { get { return lyric; } } - public LyricsOnDemand(string artist, string title, ManualResetEvent m_EventStop_SiteSearches) + public LyricsOnDemand(string artist, string title, ManualResetEvent m_EventStop_SiteSearches, int timeLimit) { + this.timeLimit = timeLimit; + timer = new System.Timers.Timer(); + if (LyricDiagnostics.TraceSource != null) LyricDiagnostics.TraceSource.TraceEvent(TraceEventType.Information, 0, LyricDiagnostics.ElapsedTimeString() + "LyricsOnDemand(" + artist + ", " + title + ")"); artist = LyricUtil.RemoveFeatComment(artist); @@ -65,6 +71,11 @@ WebClient client = new WebClient(); + timer.Enabled = true; + timer.Interval = timeLimit; + timer.Elapsed += new ElapsedEventHandler(timer_Elapsed); + timer.Start(); + Uri uri = new Uri(urlString); client.OpenReadCompleted += new System.Net.OpenReadCompletedEventHandler(callbackMethod); client.OpenReadAsync(uri); @@ -144,6 +155,7 @@ lyricTemp.Replace("<p>", " \r\n"); lyricTemp.Replace("<BR>", " \r\n"); lyricTemp.Replace("<br />", " \r\n"); + lyricTemp.Replace("'", "'"); lyric = lyricTemp.ToString().Trim(); @@ -172,6 +184,13 @@ complete = true; } } + + void timer_Elapsed(object sender, ElapsedEventArgs e) + { + lyric = "Not found"; + complete = true; + Thread.CurrentThread.Abort(); + } } } Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/SeekLyrics.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/SeekLyrics.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/SeekLyrics.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -5,6 +5,7 @@ using System.Diagnostics; using System.Net; using System.Threading; +using System.Timers; namespace LyricsEngine.LyricSites { @@ -12,14 +13,19 @@ { string lyric = ""; bool complete; + System.Timers.Timer timer; + int timeLimit; public string Lyric { get { return lyric; } } - public SeekLyrics(string artist, string title, ManualResetEvent m_EventStop_SiteSearches) + public SeekLyrics(string artist, string title, ManualResetEvent m_EventStop_SiteSearches, int timeLimit) { + this.timeLimit = timeLimit; + timer = new System.Timers.Timer(); + if (LyricDiagnostics.TraceSource != null) LyricDiagnostics.TraceSource.TraceEvent(TraceEventType.Information, 0, LyricDiagnostics.ElapsedTimeString() + "SeekLyrics(" + artist + ", " + title + ")"); artist = LyricUtil.RemoveFeatComment(artist); @@ -70,6 +76,11 @@ WebClient client = new WebClient(); + timer.Enabled = true; + timer.Interval = timeLimit; + timer.Elapsed += new ElapsedEventHandler(timer_Elapsed); + timer.Start(); + Uri uri = new Uri(urlString); client.OpenReadCompleted += new System.Net.OpenReadCompletedEventHandler(callbackMethod); client.OpenReadAsync(uri); @@ -185,5 +196,12 @@ complete = true; } } + + void timer_Elapsed(object sender, ElapsedEventArgs e) + { + lyric = "Not found"; + complete = true; + Thread.CurrentThread.Abort(); + } } } Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/Wiki.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/Wiki.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/Wiki.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -101,6 +101,11 @@ private string MakeLyricFit(string lyric) { + if (!lyric.Contains("\r\n")) + { + lyric = lyric.Replace("\n", "\r\n"); + } + for (int i = 0; i < commonReplacementsLyricWiki.Length; i = i + 2) { lyric = lyric.Replace(commonReplacementsLyricWiki[i], commonReplacementsLyricWiki[i + 1]); @@ -116,7 +121,7 @@ } } - if (lyric.Contains("API request randomly") || lyric.Contains("Upgrading right")) + if (lyric.Contains("API request randomly") || lyric.Contains("Upgrading right") || lyric.Contains("LyricWiki.org")) { lyric = string.Empty; } Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ExportTags.Designer.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ExportTags.Designer.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ExportTags.Designer.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -179,7 +179,7 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(272, 193); + this.ClientSize = new System.Drawing.Size(268, 191); this.ControlBox = false; this.Controls.Add(this.lbCurrentArtist); this.Controls.Add(this.btClose); Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ExportTags.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ExportTags.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ExportTags.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -77,10 +77,9 @@ if (DatabaseUtil.IsTrackInLyricsDatabase(MyLyricsSettings.LyricsDB, capArtist, capTitle).Equals(DatabaseUtil.LYRIC_FOUND)) { - if (!Path.GetExtension(song.FileName).Equals(".wma", StringComparison.InvariantCultureIgnoreCase)) + string lyric = MyLyricsSettings.LyricsDB[DatabaseUtil.CorrectKeyFormat(capArtist, capTitle)].Lyrics; + if (TagReaderUtil.WriteLyrics(song.FileName, lyric)) { - string lyric = MyLyricsSettings.LyricsDB[DatabaseUtil.CorrectKeyFormat(capArtist, capTitle)].Lyrics; - bool test = TagReader.WriteLyrics(song.FileName, lyric); ++counter; } } Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/FindLyric.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/FindLyric.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/FindLyric.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -39,6 +39,7 @@ bool m_automaticFetch = true; bool m_automaticUpdate = true; bool m_moveLyricFromMarkedDatabase = true; + bool m_automaticWriteToMusicTag = true; bool markedDatabase; List<string> sitesToSearch; @@ -85,6 +86,7 @@ m_automaticFetch = xmlreader.GetValueAsBool("myLyrics", "automaticFetch", true); m_automaticUpdate = xmlreader.GetValueAsBool("myLyrics", "automaticUpdateWhenFirstFound", false); m_moveLyricFromMarkedDatabase = xmlreader.GetValueAsBool("myLyrics", "moveLyricFromMarkedDatabase", true); + m_automaticWriteToMusicTag = xmlreader.GetValueAsBool("myLyrics", "automaticWriteToMusicTag", true); } BeginSearchIfPossible(artist, title); @@ -304,9 +306,14 @@ DatabaseUtil.ReplaceInLyricsDatabase(MyLyricsSettings.LyricsDB, originalArtist, originalTitle, lyric, site); DatabaseUtil.SerializeDBs(); parent.updateInfo(); - parent.highlightSong(originalArtist, originalTitle, false); + parent.highlightNextSong(treeArtistIndex, treeTitleIndex); } + if (m_automaticWriteToMusicTag) + { + TagReaderUtil.WriteLyrics(originalArtist, originalTitle, lyric); + } + parent.updateLyricDatabaseStats(); } } Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ImportTags.Designer.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ImportTags.Designer.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/ImportTags.Designer.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -179,7 +179,7 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(272, 193); + this.ClientSize = new System.Drawing.Size(268, 191); this.ControlBox = false; this.Controls.Add(this.lbCurrentArtist); this.Controls.Add(this.btClose); Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/LyricsLibrary.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/LyricsLibrary.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/LyricsLibrary.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -33,7 +33,7 @@ static string m_CurrentTitle = ""; string m_OriginalLyric = ""; - Form parent = null; + MyLyricsSetup parent = null; int m_NoOfArtists; int m_NoOfTitles; @@ -47,7 +47,7 @@ public LyricsLibrary(Form form) { - this.parent = form; + this.parent = form as MyLyricsSetup; InitializeComponent(); comboDatabase.SelectedIndex = 0; updateLyricsTree(); @@ -151,6 +151,15 @@ AddSong(item); treeView.Update(); DatabaseUtil.SerializeDB(CurrentDB); + + using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) + { + if (xmlreader.GetValueAsBool("myLyrics", "automaticWriteToMusicTag", true)) + { + TagReaderUtil.WriteLyrics(artist, title, lyrics); + } + } + return true; } else @@ -313,9 +322,20 @@ private void btSave_Click(object sender, EventArgs e) { - CurrentDB[DatabaseUtil.CorrectKeyFormat(LyricUtil.CapatalizeString(m_CurrentArtist), LyricUtil.CapatalizeString(m_CurrentTitle))].Lyrics = tbLyrics.Text; + string capArtist = LyricUtil.CapatalizeString(m_CurrentArtist); + string capTitle = LyricUtil.CapatalizeString(m_CurrentTitle); + + CurrentDB[DatabaseUtil.CorrectKeyFormat(capArtist, capTitle)].Lyrics = tbLyrics.Text; DatabaseUtil.SerializeDB(CurrentDB); + using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) + { + if (xmlreader.GetValueAsBool("myLyrics", "automaticWriteToMusicTag", true)) + { + TagReaderUtil.WriteLyrics(capArtist, capTitle, tbLyrics.Text); + } + } + if (CurrentDB.Equals(MyLyricsSettings.LyricsMarkedDB)) { using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MusicDatabaseBrowse.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MusicDatabaseBrowse.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MusicDatabaseBrowse.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -14,7 +14,7 @@ { public partial class MusicDatabaseBrowse : UserControl, ILyricForm { - Form parent; + MyLyricsSetup parent; string selectedArtist = String.Empty; public delegate void DelegateStringUpdate(String message, String site); @@ -39,7 +39,7 @@ Queue<string[]> songs; LyricsController lc; - public MusicDatabaseBrowse(Form parent) + public MusicDatabaseBrowse(MyLyricsSetup parent) { this.parent = parent; InitializeComponent(); @@ -393,6 +393,15 @@ DatabaseUtil.WriteToLyricsDatabase(MyLyricsSettings.LyricsDB, MyLyricsSettings.LyricsMarkedDB, capArtist, capTitle, lyricStrings, site); DatabaseUtil.SerializeLyricDB(); + + using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml")) + { + if (xmlreader.GetValueAsBool("myLyrics", "automaticWriteToMusicTag", true)) + { + TagReaderUtil.WriteLyrics(capArtist, capTitle, lyricStrings); + } + } + m_noOfCurrentlySearches -= 1; if (++m_noOfSearchesCompleted == m_noOfSearchesToComplete) Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MyLyricsSetup.Designer.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MyLyricsSetup.Designer.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MyLyricsSetup.Designer.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -75,6 +75,8 @@ this.lbLyricsFound2 = new MediaPortal.UserInterface.Controls.MPLabel(); this.lbLyricsFound = new MediaPortal.UserInterface.Controls.MPLabel(); this.tabPageSetup = new MediaPortal.UserInterface.Controls.MPTabPage(); + this.gbTag = new MediaPortal.UserInterface.Controls.MPGroupBox(); + this.cbMusicTag = new MediaPortal.UserInterface.Controls.MPCheckBox(); this.mpGroupBox3 = new MediaPortal.UserInterface.Controls.MPGroupBox(); this.cbAutomaticUpdate = new MediaPortal.UserInterface.Controls.MPCheckBox(); this.cbMoveSongFrom = new MediaPortal.UserInterface.Controls.MPCheckBox(); @@ -107,6 +109,7 @@ this.gbProgress.SuspendLayout(); this.gbMusicDBSearchStats.SuspendLayout(); this.tabPageSetup.SuspendLayout(); + this.gbTag.SuspendLayout(); this.mpGroupBox3.SuspendLayout(); this.mpGroupBox2.SuspendLayout(); this.gbLyricSites.SuspendLayout(); @@ -593,6 +596,7 @@ // // tabPageSetup // + this.tabPageSetup.Controls.Add(this.gbTag); this.tabPageSetup.Controls.Add(this.mpGroupBox3); this.tabPageSetup.Controls.Add(this.mpGroupBox2); this.tabPageSetup.Controls.Add(this.gbLyricSites); @@ -604,13 +608,38 @@ this.tabPageSetup.Text = "Settings"; this.tabPageSetup.UseVisualStyleBackColor = true; // + // gbTag + // + this.gbTag.Controls.Add(this.cbMusicTag); + this.gbTag.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.gbTag.Location = new System.Drawing.Point(5, 278); + this.gbTag.Name = "gbTag"; + this.gbTag.Size = new System.Drawing.Size(538, 49); + this.gbTag.TabIndex = 31; + this.gbTag.TabStop = false; + this.gbTag.Text = "Find lyric dialog settings"; + // + // cbMusicTag + // + this.cbMusicTag.AutoSize = true; + this.cbMusicTag.Checked = true; + this.cbMusicTag.CheckState = System.Windows.Forms.CheckState.Checked; + this.cbMusicTag.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.cbMusicTag.Location = new System.Drawing.Point(16, 23); + this.cbMusicTag.Name = "cbMusicTag"; + this.cbMusicTag.Size = new System.Drawing.Size(238, 17); + this.cbMusicTag.TabIndex = 6; + this.cbMusicTag.Text = "When new lyric is found write it into music tag"; + this.cbMusicTag.UseVisualStyleBackColor = true; + this.cbMusicTag.Leave += new System.EventHandler(this.WriteMediaPortalXML); + // // mpGroupBox3 // this.mpGroupBox3.Controls.Add(this.cbAutomaticUpdate); this.mpGroupBox3.Controls.Add(this.cbMoveSongFrom); this.mpGroupBox3.Controls.Add(this.cbAutoFetch); this.mpGroupBox3.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.mpGroupBox3.Location = new System.Drawing.Point(5, 70); + this.mpGroupBox3.Location = new System.Drawing.Point(5, 333); this.mpGroupBox3.Name = "mpGroupBox3"; this.mpGroupBox3.Size = new System.Drawing.Size(538, 92); this.mpGroupBox3.TabIndex = 30; @@ -697,7 +726,7 @@ this.gbLyricSites.Controls.Add(this.rbUserDefined); this.gbLyricSites.Controls.Add(this.tbNote); this.gbLyricSites.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.gbLyricSites.Location = new System.Drawing.Point(5, 168); + this.gbLyricSites.Location = new System.Drawing.Point(5, 70); this.gbLyricSites.Name = "gbLyricSites"; this.gbLyricSites.Size = new System.Drawing.Size(538, 202); this.gbLyricSites.TabIndex = 28; @@ -927,6 +956,8 @@ this.gbProgress.ResumeLayout(false); this.gbMusicDBSearchStats.ResumeLayout(false); this.tabPageSetup.ResumeLayout(false); + this.gbTag.ResumeLayout(false); + this.gbTag.PerformLayout(); this.mpGroupBox3.ResumeLayout(false); this.mpGroupBox3.PerformLayout(); this.mpGroupBox2.ResumeLayout(false); @@ -1015,5 +1046,7 @@ private System.Windows.Forms.TabPage tabPageMusicDatabaseBrowse; public MediaPortal.UserInterface.Controls.MPButton btClose; private System.Windows.Forms.TabPage tabPageInfo; + private MediaPortal.UserInterface.Controls.MPGroupBox gbTag; + internal MediaPortal.UserInterface.Controls.MPCheckBox cbMusicTag; } } \ No newline at end of file Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MyLyricsSetup.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MyLyricsSetup.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics Configuration/MyLyricsSetup.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -79,6 +79,9 @@ bool m_DisregardSongWithLyricInTag = true; bool m_DisregardVariousArtist = true; bool m_SearchOnlyMarkedSongs = false; + + bool m_automaticWriteToMusicTag = true; + const int m_NoOfCurrentSearchesAllowed = 6; int m_Limit = 100; @@ -151,14 +154,11 @@ tbLimit.Text = xmlreader.GetValueAsString("myLyrics", "limit", m_TotalTitles.ToString()); tbPluginName.Text = xmlreader.GetValueAsString("myLyrics", "pluginsName", "My Lyrics"); - string temp1 = xmlreader.GetValue("myLyrics", "automaticFetch"); - string temp2 = xmlreader.GetValue("myLyrics", "automaticUpdateWhenFirstFound"); - string temp3 = xmlreader.GetValue("myLyrics", "moveLyricFromMarkedDatabase"); - string temp4 = xmlreader.GetValue("myLyrics", "useLyrics007"); - cbAutoFetch.Checked = xmlreader.GetValue("myLyrics", "automaticFetch").Equals("yes"); cbAutomaticUpdate.Checked = xmlreader.GetValue("myLyrics", "automaticUpdateWhenFirstFound").Equals("yes"); cbMoveSongFrom.Checked = xmlreader.GetValue("myLyrics", "moveLyricFromMarkedDatabase").Equals("yes"); + m_automaticWriteToMusicTag = !xmlreader.GetValue("myLyrics", "automaticWriteToMusicTag").Equals("no"); + cbMusicTag.Checked = m_automaticWriteToMusicTag; lbSongsLimitNote.Text = ("(You have currently " + m_TotalTitles.ToString() + " titles in your music database)"); @@ -467,6 +467,11 @@ DatabaseUtil.WriteToLyricsDatabase(MyLyricsSettings.LyricsDB, MyLyricsSettings.LyricsMarkedDB, capArtist, capTitle, lyricStrings, site); + if (m_automaticWriteToMusicTag) + { + TagReaderUtil.WriteLyrics(capArtist, capTitle, lyricStrings); + } + StreamReader sr = File.OpenText(logFullFileName); log = sr.ReadToEnd(); sr.Close(); @@ -1002,6 +1007,7 @@ xmlwriter.SetValueAsBool("myLyrics", "automaticFetch", cbAutoFetch.Checked); xmlwriter.SetValueAsBool("myLyrics", "automaticUpdateWhenFirstFound", cbAutomaticUpdate.Checked); xmlwriter.SetValueAsBool("myLyrics", "moveLyricFromMarkedDatabase", cbMoveSongFrom.Checked); + xmlwriter.SetValueAsBool("myLyrics", "automaticWriteToMusicTag", cbMusicTag.Checked); } } } Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-11-10 14:59:03 UTC (rev 1045) @@ -76,6 +76,8 @@ bool lyricsFound = false; + bool m_automaticWriteToMusicTag = true; + String[] m_sitesToSearch; // Database and log settings @@ -84,7 +86,6 @@ internal const string LyricsDBName = "LyricsDatabaseV2.db"; internal const string LyricsMarkedDBName = "LyricsMarkedDatabaseV2.db"; internal string logName = "MyLyrics.log"; - #endregion #region GUI enums @@ -320,6 +321,8 @@ useSeekLyrics = ((string)xmlreader.GetValueAsString("myLyrics", "useSeekLyrics", "True")).ToString().Equals("True") ? true : false; useHotLyrics = ((string)xmlreader.GetValueAsString("myLyrics", "useHotLyrics", "True")).ToString().Equals("True") ? true : false; + m_automaticWriteToMusicTag = xmlreader.GetValue("myLyrics", "automaticWriteToMusicTag").Equals("yes"); + skin = ((string)xmlreader.GetValueAsString("skin", "name", "BlueTwo")); } @@ -588,7 +591,7 @@ // 1) + 2) Check if LRC in music tag or Database - string lyricText = LyricsDB[CorrectKeyFormat(m_artist, m_title)].Lyrics; + string lyricText = LyricsDB[DatabaseUtil.CorrectKeyFormat(m_artist, m_title)].Lyrics; if ((CurrentTrackTag.Lyrics.Length != 0 && (lrc = new SimpleLRC(m_artist, m_title, CurrentTrackTag.Lyrics)).IsValid) || (lyricText.Length != 0 && (lrc = new SimpleLRC(m_artist, m_title, lyricText)).IsValid)) @@ -1218,6 +1221,11 @@ { ShowLyricOnScreen(lyricText, site); SaveLyricToDatabase(site); + + if (m_automaticWriteToMusicTag) + { + TagReaderUtil.WriteLyrics(artist, title, lyricText); + } } } } Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj 2007-11-09 16:29:46 UTC (rev 1044) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj 2007-11-10 14:59:03 UTC (rev 1045) @@ -121,6 +121,7 @@ <Compile Include="MyLyrics Configuration\FindLyric.Designer.cs"> <DependentUpon>FindLyric.cs</DependentUpon> </Compile> + <Compile Include="TagReaderUtil.cs" /> </ItemGroup> <ItemGroup> <EmbeddedResource Include="MyLyrics Configuration\ExportTags.resx"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |