From: <sa...@us...> - 2007-11-17 15:00:12
|
Revision: 1071 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=1071&view=rev Author: saamand Date: 2007-11-17 07:00:00 -0800 (Sat, 17 Nov 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/LyricsOnDemand.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj Modified: trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/LyricsOnDemand.cs =================================================================== --- trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/LyricsOnDemand.cs 2007-11-17 12:31:11 UTC (rev 1070) +++ trunk/plugins/MyLyrics/LyricsEngine/LyricsSites/LyricsOnDemand.cs 2007-11-17 15:00:00 UTC (rev 1071) @@ -160,7 +160,7 @@ lyric = lyricTemp.ToString().Trim(); // if warning message from Evil Labs' sql-server, then lyric isn't found - if (lyric.Contains("<td")) + if (lyric.Contains("<td") || lyric.Contains("<IFRAME")) { lyric = "Not found"; } Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs =================================================================== --- trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-11-17 12:31:11 UTC (rev 1070) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-11-17 15:00:00 UTC (rev 1071) @@ -59,7 +59,9 @@ private string NextTrackFileName = string.Empty; private PlayListPlayer PlaylistPlayer = null; + private System.Timers.Timer m_WriteTagTimer = null; + // worker thread Thread m_LyricControllerThread; LyricsController lc; @@ -73,7 +75,11 @@ string m_TrackText = ""; string m_StatusText = ""; string m_LyricText = ""; + string m_LastLyricText = ""; + string m_LastFileName = ""; + int m_crossfade = 0; + string[] m_strippedPrefixStrings = null; bool lyricsFound = false; @@ -186,7 +192,7 @@ { if (newTrack) { - alreadyValidLRC = false; + alreadyValidLRC = false; MusicDatabase mDB = MusicDatabase.Instance; CurrentTrackTag = mDB.GetTag(g_Player.CurrentFile); @@ -248,6 +254,15 @@ getAlbumArt(); startSearch(); } + + if (m_automaticWriteToMusicTag && !m_LastFileName.Equals(string.Empty)) + { + m_WriteTagTimer = new System.Timers.Timer(m_crossfade); + m_WriteTagTimer.Elapsed += new ElapsedEventHandler(WriteLatestLyricToTag); + m_WriteTagTimer.Enabled = true; + m_WriteTagTimer.Start(); + + } } if (lyricsFound) @@ -258,7 +273,15 @@ base.Process(); } + void WriteLatestLyricToTag(object sender, ElapsedEventArgs e) + { + TagReaderUtil.WriteLyrics(m_LastFileName, m_LastLyricText); + m_WriteTagTimer.Stop(); + m_WriteTagTimer.Close(); + m_WriteTagTimer.Dispose(); + } + private void startSearch() { lyricsFound = false; @@ -328,6 +351,8 @@ m_automaticWriteToMusicTag = xmlreader.GetValue("myLyrics", "automaticWriteToMusicTag").Equals("yes"); skin = ((string)xmlreader.GetValueAsString("skin", "name", "BlueTwo")); + + m_crossfade = xmlreader.GetValueAsInt("audioplayer", "crossfade", 2000); } m_strippedPrefixStrings = MediaPortalUtil.GetStrippedPrefixStringArray(); @@ -408,6 +433,15 @@ { StopThread(); resetAll(); + + if (m_WriteTagTimer != null) + { + m_WriteTagTimer.Stop(); + m_WriteTagTimer.Close(); + m_WriteTagTimer.Dispose(); + m_WriteTagTimer = null; + } + LyricDiagnostics.TraceSource.TraceEvent(TraceEventType.Stop, 0, LyricDiagnostics.ElapsedTimeString() + "MyLyrics closes."); break; } @@ -516,6 +550,12 @@ { if (tag2.Equals("#Play.Current.Track") && !exitingMyLyrics) // track has changed { + if (!m_LyricText.Equals(string.Empty)) + { + m_LastLyricText = m_LyricText; + m_LastFileName = CurrentTrackTag.FileName; + } + if (value.Length != 0) // additional check { basicScreenSelected = null; @@ -1240,11 +1280,6 @@ { 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-17 12:31:11 UTC (rev 1070) +++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj 2007-11-17 15:00:00 UTC (rev 1071) @@ -5,12 +5,13 @@ <ProductVersion>8.0.50727</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{BBB2DAE2-0D83-4B4B-85B6-D1B5A7E10039}</ProjectGuid> - <OutputType>WinExe</OutputType> + <OutputType>Library</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>MyLyrics</RootNamespace> <AssemblyName>MyLyrics</AssemblyName> <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent> - <StartupObject>MyLyrics.MyLyricsSetup_test</StartupObject> + <StartupObject> + </StartupObject> <SignAssembly>false</SignAssembly> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |