|
From: <sa...@us...> - 2007-04-14 14:28:18
|
Revision: 328
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=328&view=rev
Author: saamand
Date: 2007-04-14 07:28:15 -0700 (Sat, 14 Apr 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs
trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj
trunk/plugins/MyLyrics/MyLyrics.suo
Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs
===================================================================
--- trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-04-14 04:44:03 UTC (rev 327)
+++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics.cs 2007-04-14 14:28:15 UTC (rev 328)
@@ -7,6 +7,8 @@
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
+using System.Collections.Generic;
+using System.Timers;
using LyricsEngine;
using LyricsEngineConfig;
@@ -18,6 +20,8 @@
using MediaPortal.Music.Database;
using MediaPortal.Playlists;
using MediaPortal.Util;
+using MediaPortal.GUI.Music;
+
using System.Collections;
namespace MyLyrics
@@ -40,6 +44,19 @@
bool newTrack = false;
bool alreadyValidLRC = false;
+ private string CurrentThumbFileName = string.Empty;
+ private MusicTag PreviousTrackTag = null;
+ private MusicTag CurrentTrackTag = null;
+ private MusicTag NextTrackTag = null;
+ private bool UseID3 = false;
+ private List<String> ImagePathContainer = null;
+ private System.Timers.Timer ImageChangeTimer = null;
+ private object _imageMutex = null;
+ private string CurrentTrackFileName = string.Empty;
+ private string NextTrackFileName = string.Empty;
+ private PlayListPlayer PlaylistPlayer = null;
+
+
// worker thread
Thread m_LyricControllerThread;
LyricsController lc;
@@ -99,6 +116,12 @@
CONTROL_VIEW_LINE = 400,
CONTROL_VIEW_LINE_DONE = 500
}
+
+ [SkinControlAttribute((int)GUI_LRC_Controls.CONTROL_ART_ALBUMART)]
+ protected GUIImage GUIelement_ImgCoverArt = null;
+ [SkinControlAttribute((int)GUI_LRC_Controls.CONTROL_ART_PROGRESS)]
+ protected GUIProgressControl GUIelement_ProgTrack = null;
+
#endregion
#region Fields related to LRC mode
@@ -110,6 +133,7 @@
Stopwatch stopwatch;
string nextTimeToShow;
string nextLineToShow;
+ bool shiftPageNextTime = false;
#endregion
@@ -132,6 +156,10 @@
{
m_EventStopThread = new ManualResetEvent(false);
+ ImagePathContainer = new List<string>();
+ _imageMutex = new Object();
+ PlaylistPlayer = PlayListPlayer.SingletonPlayer;
+
GetID = (int)GUIMyLyrics.WINDOW_MYLYRICS;
}
@@ -175,22 +203,23 @@
{
alreadyValidLRC = false;
+ CurrentTrackTag = new MusicTag();
+ CurrentTrackTag.Artist = LyricUtil.capatalizeString(GUIPropertyManager.GetProperty("#Play.Current.Artist"));
+ CurrentTrackTag.Title = LyricUtil.capatalizeString(GUIPropertyManager.GetProperty("#Play.Current.Title"));
+
if (selectedScreen == (int)MyLyricsSettings.Screen.LRC_BASIC || selectedScreen == (int)MyLyricsSettings.Screen.LRC_WIDE)
{
lyricsFound = false;
StopThread();
newTrack = false;
- MusicTag tag = new MusicTag();
- tag.Artist = LyricUtil.capatalizeString(GUIPropertyManager.GetProperty("#Play.Current.Artist"));
- tag.Title = LyricUtil.capatalizeString(GUIPropertyManager.GetProperty("#Play.Current.Title"));
- m_artist = tag.Artist;
- m_title = tag.Title;
+ m_artist = CurrentTrackTag.Artist;
+ m_title = CurrentTrackTag.Title;
// Get lyric
- if (!tag.Artist.Equals(""))
+ if (!CurrentTrackTag.Artist.Equals(""))
{
- findLyric(tag);
+ findLyric();
}
else
{
@@ -202,6 +231,8 @@
m_LyricText = "";
GUIControl.SetControlLabel(GetID, (int)GUI_Lyrics_Controls.CONTROL_Lyric, m_LyricText);
}
+
+ getAlbumArt();
}
else if (selectedScreen == (int)MyLyricsSettings.Screen.LRC_EDITOR)
{
@@ -223,23 +254,60 @@
}
else if (!exitingMyLyrics)
{
+ getAlbumArt();
startSearch();
}
}
base.Process();
}
+ public void getAlbumArt()
+ {
+ ImagePathContainer.Clear();
+ CurrentTrackFileName = g_Player.CurrentFile;
+ GetTrackTags();
+
+ CurrentThumbFileName = GUIMusicFiles.GetCoverArt(false, CurrentTrackFileName, CurrentTrackTag);
+ if (CurrentThumbFileName.Length > 0)
+ {
+ // let us test if there is a larger cover art image
+ string strLarge = MediaPortal.Util.Utils.ConvertToLargeCoverArt(CurrentThumbFileName);
+ if (System.IO.File.Exists(strLarge))
+ CurrentThumbFileName = strLarge;
+ AddImageToImagePathContainer(CurrentThumbFileName);
+ }
+
+ CurrentThumbFileName = GUIMusicFiles.GetArtistCoverArtName(CurrentTrackTag.Artist);
+ if (CurrentThumbFileName.Length > 0)
+ {
+ // let us test if there is a larger cover art image
+ string strLarge = MediaPortal.Util.Utils.ConvertToLargeCoverArt(CurrentThumbFileName);
+ if (System.IO.File.Exists(strLarge))
+ CurrentThumbFileName = strLarge;
+ AddImageToImagePathContainer(CurrentThumbFileName);
+ }
+
+ UpdateImagePathContainer();
+ }
+
+ private void UpdateTrackPosition()
+ {
+ double trackDuration = g_Player.Duration;
+ double curTrackPostion = g_Player.CurrentPosition;
+
+ int progPrecent = (int)(curTrackPostion / trackDuration * 100d);
+
+ this.GUIelement_ProgTrack.Percentage = progPrecent;
+ GUIelement_ProgTrack.Visible = GUIelement_ProgTrack.Percentage > 0;
+ }
+
private void startSearch()
{
lyricsFound = false;
StopThread();
newTrack = false;
- MusicTag tag = new MusicTag();
- tag.Artist = LyricUtil.capatalizeString(GUIPropertyManager.GetProperty("#Play.Current.Artist"));
- tag.Title = LyricUtil.capatalizeString(GUIPropertyManager.GetProperty("#Play.Current.Title"));
-
- if (!tag.Artist.Equals("")) findLyric(tag);
+ if (!CurrentTrackTag.Artist.Equals("")) findLyric();
else
{
m_artist = "";
@@ -287,6 +355,7 @@
using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings("MediaPortal.xml"))
{
+ UseID3 = xmlreader.GetValueAsBool("musicfiles", "showid3", true);
useLyricWiki = ((string)xmlreader.GetValueAsString("myLyrics", "useLyricWiki", "True")).ToString().Equals("True") ? true : false;
useEvilLabs = ((string)xmlreader.GetValueAsString("myLyrics", "useEvilLabs", "True")).ToString().Equals("True") ? true : false;
useLyrics007 = ((string)xmlreader.GetValueAsString("myLyrics", "useLyrics007", "True")).ToString().Equals("True") ? true : false;
@@ -367,7 +436,66 @@
return base.OnMessage(message);
}
+ protected override void OnPageLoad()
+ {
+ base.OnPageLoad();
+ if (ImageChangeTimer == null)
+ {
+ ImageChangeTimer = new System.Timers.Timer();
+ ImageChangeTimer.Interval = 3600 * 1000;
+ ImageChangeTimer.Elapsed += new ElapsedEventHandler(OnImageTimerTickEvent);
+ ImageChangeTimer.Start();
+ }
+
+ //if (g_Player.Playing)
+ //{
+ // g_Player_PlayBackStarted(g_Player.MediaType.Music, g_Player.CurrentFile);
+
+ // SetVisualizationWindow();
+ //}
+ }
+
+ private void OnImageTimerTickEvent(object trash_, ElapsedEventArgs args_)
+ {
+ FlipPictures();
+ }
+
+ private void FlipPictures()
+ {
+ //// Check if we should let the visualization window handle image flipping
+ //if (_usingBassEngine && _showVisualization)
+ // return;
+
+ if (GUIelement_ImgCoverArt != null)
+ {
+ GUIelement_ImgCoverArt.FreeResources();
+ if (ImagePathContainer.Count > 0)
+ {
+ if (ImagePathContainer.Count > 1)
+ {
+ int currentImage = 0;
+ // get the next image
+ foreach (string image in ImagePathContainer)
+ {
+ currentImage++;
+ if (GUIelement_ImgCoverArt.FileName == image)
+ break;
+ }
+ if (currentImage < ImagePathContainer.Count)
+ GUIelement_ImgCoverArt.SetFileName(ImagePathContainer[currentImage]);
+ else
+ // start loop again
+ GUIelement_ImgCoverArt.SetFileName(ImagePathContainer[0]);
+ }
+ else
+ GUIelement_ImgCoverArt.SetFileName(ImagePathContainer[0]);
+ }
+ GUIelement_ImgCoverArt.AllocResources();
+ }
+ }
+
+
public override void OnAction(Action action)
{
switch (action.wID)
@@ -430,8 +558,235 @@
GUIControl.SetControlLabel(GetID, (int)GUI_Lyrics_Controls.CONTROL_Lyric, m_LyricText);
}
}
+ else if (selectedScreen == (int)MyLyricsSettings.Screen.LYRICS_BASIC || selectedScreen == (int)MyLyricsSettings.Screen.LRC_BASIC)
+ {
+ UpdateTrackPosition();
+ }
}
+ private void GetTrackTags()
+ {
+ bool isCurSongCdTrack = IsCdTrack(CurrentTrackFileName);
+ bool isNextSongCdTrack = IsCdTrack(NextTrackFileName);
+ MusicDatabase dbs = new MusicDatabase();
+
+ if (CurrentTrackTag != null)
+ PreviousTrackTag = CurrentTrackTag;
+
+ if (!isCurSongCdTrack)
+ CurrentTrackTag = GetTrackTag(dbs, CurrentTrackFileName, UseID3);
+
+ if (!isNextSongCdTrack)
+ NextTrackTag = GetTrackTag(dbs, NextTrackFileName, UseID3);
+
+ if (isCurSongCdTrack || isNextSongCdTrack)
+ {
+ PlayList curPlaylist = PlaylistPlayer.GetPlaylist(PlayListType.PLAYLIST_MUSIC);
+
+ int iCurItemIndex = PlaylistPlayer.CurrentSong;
+ PlayListItem curPlaylistItem = curPlaylist[iCurItemIndex];
+
+ if (curPlaylistItem == null)
+ {
+ CurrentTrackTag = null;
+ NextTrackTag = null;
+ return;
+ }
+
+ int playListItemCount = curPlaylist.Count;
+ int nextItemIndex = 0;
+
+ if (iCurItemIndex < playListItemCount - 1)
+ nextItemIndex = iCurItemIndex + 1;
+
+ PlayListItem nextPlaylistItem = curPlaylist[nextItemIndex];
+
+ if (isCurSongCdTrack)
+ CurrentTrackTag = (MusicTag)curPlaylistItem.MusicTag;
+
+ if (isNextSongCdTrack && nextPlaylistItem != null)
+ NextTrackTag = (MusicTag)nextPlaylistItem.MusicTag;
+
+ // There's no MusicTag info in the Playlist so check is we have a valid
+ // GUIMusicFiles.MusicCD object
+ if ((CurrentTrackTag == null || NextTrackTag == null) && GUIMusicFiles.MusicCD != null)
+ {
+ int curCDTrackNum = GetCDATrackNumber(CurrentTrackFileName);
+ int nextCDTrackNum = GetCDATrackNumber(NextTrackFileName);
+
+ if (curCDTrackNum < GUIMusicFiles.MusicCD.Tracks.Length)
+ {
+ MediaPortal.Freedb.CDTrackDetail curTrack = GUIMusicFiles.MusicCD.getTrack(curCDTrackNum);
+ CurrentTrackTag = GetTrackTag(curTrack);
+ }
+ if (nextCDTrackNum < GUIMusicFiles.MusicCD.Tracks.Length)
+ {
+ MediaPortal.Freedb.CDTrackDetail nextTrack = GUIMusicFiles.MusicCD.getTrack(nextCDTrackNum);
+ NextTrackTag = GetTrackTag(nextTrack);
+ }
+ }
+ }
+ }
+
+ private bool IsCdTrack(string fileName)
+ {
+ return System.IO.Path.GetExtension(CurrentTrackFileName).ToLower() == ".cda";
+ }
+
+ int GetCDATrackNumber(string strFile)
+ {
+ string strTrack = string.Empty;
+ int pos = strFile.IndexOf(".cda");
+ if (pos >= 0)
+ {
+ pos--;
+ while (Char.IsDigit(strFile[pos]) && pos > 0)
+ {
+ strTrack = strFile[pos] + strTrack;
+ pos--;
+ }
+ }
+
+ try
+ {
+ int iTrack = Convert.ToInt32(strTrack);
+ return iTrack;
+ }
+ catch (Exception)
+ {
+ }
+
+ return 1;
+ }
+
+ private MusicTag GetTrackTag(MediaPortal.Freedb.CDTrackDetail cdTrack)
+ {
+ if (GUIMusicFiles.MusicCD == null)
+ return null;
+ MusicTag tag = new MusicTag();
+ tag.Artist = GUIMusicFiles.MusicCD.Artist;
+ tag.Album = GUIMusicFiles.MusicCD.Title;
+ tag.Genre = GUIMusicFiles.MusicCD.Genre;
+ tag.Year = GUIMusicFiles.MusicCD.Year;
+ tag.Duration = cdTrack.Duration;
+ tag.Title = cdTrack.Title;
+ return tag;
+ }
+
+ private MusicTag GetTrackTag(MusicDatabase dbs, string strFile, bool useID3)
+ {
+ MusicTag tag = null;
+ Song song = new Song();
+ bool bFound = dbs.GetSongByFileName(strFile, ref song);
+ if (!bFound)
+ {
+ if (useID3)
+ tag = TagReader.ReadTag(strFile);
+ }
+ else
+ {
+ tag = new MusicTag();
+ tag = BuildMusicTagFromSong(song);
+ }
+ return tag;
+ }
+
+ private MusicTag BuildMusicTagFromSong(Song Song_)
+ {
+ MusicTag tmpTag = new MusicTag();
+
+ tmpTag.Title = Song_.Title;
+ tmpTag.Album = Song_.Album;
+ tmpTag.Artist = Song_.Artist;
+ tmpTag.Duration = Song_.Duration;
+ tmpTag.Genre = Song_.Genre;
+ tmpTag.Track = Song_.Track;
+ tmpTag.Year = Song_.Year;
+ tmpTag.Rating = Song_.Rating;
+
+ return tmpTag;
+ }
+
+
+ private void UpdateImagePathContainer()
+ {
+ if (ImagePathContainer.Count <= 0)
+ {
+ try
+ {
+ GUIelement_ImgCoverArt.SetFileName(GUIGraphicsContext.Skin + @"\media\missing_coverart.png");
+ }
+ catch (Exception ex)
+ {
+ Log.Debug("GUIMusicPlayingNow: could not set default image - {0}", ex.Message);
+ }
+ }
+
+ if (g_Player.Duration > 0 && ImagePathContainer.Count > 1)
+ // ImageChangeTimer.Interval = (g_Player.Duration * 1000) / (ImagePathContainer.Count * 8); // change each cover 8x
+ ImageChangeTimer.Interval = 15 * 1000; // change covers every 15 seconds
+ else
+ ImageChangeTimer.Interval = 3600 * 1000;
+
+ ImageChangeTimer.Stop();
+ ImageChangeTimer.Start();
+ }
+
+ private bool AddImageToImagePathContainer(string newImage)
+ {
+ lock (_imageMutex)
+ {
+ string ImagePath = Convert.ToString(newImage);
+ if (ImagePath.IndexOf(@"missing_coverart") > 0)// && (ImagePathContainer.Count > 0))
+ {
+ Log.Debug("GUIMusicPlayingNow: Found placeholder - not inserting image {0}", ImagePath);
+ return false;
+ }
+
+ bool success = false;
+ if (ImagePathContainer != null)
+ {
+ if (ImagePathContainer.Contains(ImagePath))
+ return false;
+
+ //// check for placeholder
+ //int indexDel = 0;
+ //bool found = false;
+ //foreach (string pic in ImagePathContainer)
+ //{
+ // indexDel++;
+ // if (pic.IndexOf("missing_coverart.png") > 0)
+ // {
+ // found = true;
+ // break;
+ // }
+ //}
+ //if (found)
+ // ImagePathContainer.RemoveAt(indexDel - 1);
+
+ if (System.IO.File.Exists(ImagePath))
+ {
+ try
+ {
+ Log.Debug("GUIMusicPlayingNow: adding image to container - {0}", ImagePath);
+ ImagePathContainer.Add(ImagePath);
+ success = true;
+ }
+ catch (Exception ex)
+ {
+ Log.Error("GUIMusicPlayingNow: error adding image ({0}) - {1}", ImagePath, ex.Message);
+ }
+
+ // display the first pic automatically
+ if (ImagePathContainer.Count == 1)
+ FlipPictures();
+ }
+ }
+
+ return success;
+ }
+ }
+
//event driven handler to detect track change
private void timeHandler(string tag2, string value)
{
@@ -456,17 +811,17 @@
/// </summary>
/// <param name="tag"></param>
- private void findLyric(MusicTag tag)
+ private void findLyric()
{
m_EventStopThread.Reset();
GUIControl.ClearControl(GetID, (int)GUI_Lyrics_Controls.CONTROL_Lyric);
GUIControl.SetControlLabel(GetID, (int)GUI_Lyrics_Controls.CONTROL_Lyric, "");
- if (tag != null && tag.Artist != "")
+ if (CurrentTrackTag != null && CurrentTrackTag.Artist != "")
{
- m_artist = tag.Artist.Trim();
- m_title = tag.Title.Trim();
+ m_artist = CurrentTrackTag.Artist.Trim();
+ m_title = CurrentTrackTag.Title.Trim();
m_TrackText = m_artist + " - " + m_title;
m_StatusText = "Searching for a matching lyric...";
GUIControl.SetControlLabel(GetID, (int)GUI_General_Controls.CONTROL_LBStatus, m_StatusText);
@@ -484,7 +839,7 @@
// 1) + 2) Check if LRC in music tag or Database
string lyricText = MyLyrics.DatabaseUtil.LookUpLyricInDatabase(LyricsDB, m_artist, m_title);
- if ((!tag.Lyrics.Equals("") && (lrc = new LRC.SimpleLRC(m_artist, m_title, tag.Lyrics)).IsValid)
+ if ((!CurrentTrackTag.Lyrics.Equals("") && (lrc = new LRC.SimpleLRC(m_artist, m_title, CurrentTrackTag.Lyrics)).IsValid)
|| (!lyricText.Equals("") && (lrc = new LRC.SimpleLRC(m_artist, m_title, lyricText)).IsValid))
{
resetLrcFields();
@@ -546,9 +901,9 @@
}
// 2) Lyric in music tag
- else if (!tag.Lyrics.Equals(""))
+ else if (!CurrentTrackTag.Lyrics.Equals(""))
{
- ShowLyricOnScreen(tag.Lyrics, tag.FileName);
+ ShowLyricOnScreen(CurrentTrackTag.Lyrics, CurrentTrackTag.FileName);
}
// 3) if lyric in music database
@@ -604,6 +959,14 @@
currentLRCLine = 0;
++tagRoundFinished;
+
+ for (int i = 0; i < TAG_IN_ROUND; i++)
+ {
+ GUIControl.SetControlLabel(GetID, (int)GUI_LRC_Controls.CONTROL_EDIT_TIME + i, "");
+ GUIControl.SetControlLabel(GetID, (int)GUI_LRC_Controls.CONTROL_EDIT_LINE + i, "");
+ GUIControl.SetControlLabel(GetID, (int)GUI_LRC_Controls.CONTROL_EDIT_LINE_DONE + i, "");
+ }
+
try
{
for (int i = 0; i < TAG_IN_ROUND && LRCLinesTotal + i < lines.Length; i++)
@@ -619,7 +982,15 @@
}
else
{
- MessageBox.Show("The lyric has now completely been converted into a lrc!");
+ GUIDialogOK dlg = (GUIDialogOK)GUIWindowManager.GetWindow(
+ (int)GUIWindow.Window.WINDOW_DIALOG_OK);
+ dlg.SetHeading("Creating of LRC");
+ dlg.SetLine(1, "The lyric has been converted");
+ dlg.SetLine(2, "to a LRC!");
+ dlg.SetLine(3, String.Empty);
+ dlg.DoModal(GUIWindowManager.ActiveWindow);
+
+
StringBuilder lyric = new StringBuilder();
for (int i = 0; i < lines.Length; i++)
{
@@ -651,6 +1022,22 @@
public void OnTimerEvent(object source, EventArgs e)
{
+ if (shiftPageNextTime)
+ {
+ try
+ {
+ resetGUI(selectedScreen);
+ for (int i = 0; i < TAG_IN_ROUND; i++)
+ {
+ GUIControl.ShowControl(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE + i);
+ GUIControl.HideControl(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE_DONE + i);
+ GUIControl.SetControlLabel(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE + i, lines[tagRoundFinished * TAG_IN_ROUND + i]);
+ GUIControl.SetControlLabel(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE_DONE + i, lines[tagRoundFinished * TAG_IN_ROUND + i]);
+ }
+ }
+ catch { ;};
+ }
+
GUIControl.HideControl(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE + currentLRCLine);
GUIControl.ShowControl(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE_DONE + currentLRCLine);
@@ -663,18 +1050,7 @@
currentLRCLine = 0;
++tagRoundFinished;
- try
- {
- resetGUI(selectedScreen);
- for (int i = 0; i < TAG_IN_ROUND; i++)
- {
- GUIControl.ShowControl(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE + i);
- GUIControl.HideControl(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE_DONE + i);
- GUIControl.SetControlLabel(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE + i, lines[tagRoundFinished * TAG_IN_ROUND + i]);
- GUIControl.SetControlLabel(GetID, (int)GUI_LRC_Controls.CONTROL_VIEW_LINE_DONE + i, lines[tagRoundFinished * TAG_IN_ROUND + i]);
- }
- }
- catch {;};
+ shiftPageNextTime = true;
}
}
@@ -838,6 +1214,7 @@
private void resetGUI(int screenID)
{
selectedScreen = screenID;
+ shiftPageNextTime = false;
GUIPropertyManager.OnPropertyChanged -= new GUIPropertyManager.OnPropertyChangedHandler(trackChangeHandler);
GUIPropertyManager.OnPropertyChanged -= new GUIPropertyManager.OnPropertyChangedHandler(timeHandler);
@@ -975,7 +1352,7 @@
GUIControl.HideControl(GetID, (int)GUI_LRC_Controls.CONTROL_ART_ALBUMART);
GUIControl.HideControl(GetID, (int)GUI_LRC_Controls.CONTROL_ART_PROGRESS);
GUIControl.HideControl(GetID, (int)GUI_LRC_Controls.CONTROL_ART_PROGRESSIMAGE);
-
+
// LRC controls
GUIControl.HideControl(GetID, (int)GUI_LRC_Controls.CONTROL_TAGBUTTON);
@@ -1030,6 +1407,7 @@
}
}
+
#region ILyricForm properties
public Object[] UpdateString
{
Modified: trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj
===================================================================
--- trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj 2007-04-14 04:44:03 UTC (rev 327)
+++ trunk/plugins/MyLyrics/My Lyrics/MyLyrics.csproj 2007-04-14 14:28:15 UTC (rev 328)
@@ -59,6 +59,10 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\..\..\Program Files\Team Mediaportal\MediaPortal\Utils.DLL</HintPath>
</Reference>
+ <Reference Include="WindowPlugins, Version=0.2.2.0, Culture=neutral, processorArchitecture=x86">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\..\..\..\..\..\..\Program Files\Team Mediaportal\MediaPortal\Plugins\Windows\WindowPlugins.dll</HintPath>
+ </Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Convert\ConvertFromXMLtoLyricsDatabase.cs" />
Modified: trunk/plugins/MyLyrics/MyLyrics.suo
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|