Simplify song-image detection

Store comment as 1 string
This commit is contained in:
Flamefire committed 2013-10-11 14:50:31 +02:00
1 parent 2ec094e734
commit a9b3e1d3f8
3 files changed
+18 -12

No files matched your search

+6 -1
View File
@@ -54,7 +54,7 @@ namespace VocaluxeLib
/// </summary> /// </summary>
/// <param name="value"></param> /// <param name="value"></param>
/// <returns></returns> /// <returns></returns>
public static List<int> GetSetBits(this int value) public static IEnumerable<int> GetSetBits(this int value)
{ {
var result = new List<int>(); var result = new List<int>();
int curBit = 0; int curBit = 0;
@@ -68,5 +68,10 @@ namespace VocaluxeLib
} }
return result; return result;
} }
public static bool ContainsIgnoreCase(this string value, string other)
{
return value.IndexOf(other, StringComparison.CurrentCultureIgnoreCase) >= 0;
}
} }
} }
+8 -6
View File
@@ -124,7 +124,7 @@ namespace VocaluxeLib.Songs
public float Gap; public float Gap;
public float VideoGap; public float VideoGap;
private readonly List<string> _Comment = new List<string>(); private string _Comment = "";
// Sorting // Sorting
public int ID; public int ID;
@@ -208,7 +208,7 @@ namespace VocaluxeLib.Songs
Gap = song.Gap; Gap = song.Gap;
VideoGap = song.VideoGap; VideoGap = song.VideoGap;
_Comment = new List<string>(song._Comment); _Comment = song._Comment;
ID = song.ID; ID = song.ID;
_Visible = song._Visible; _Visible = song._Visible;
@@ -271,11 +271,12 @@ namespace VocaluxeLib.Songs
if (CoverFileName == "") if (CoverFileName == "")
{ {
List<string> files = CHelper.ListFiles(Folder, "*.jpg"); List<string> files = CHelper.ListFiles(Folder, "*.jpg");
files.AddRange(CHelper.ListFiles(Folder, "*.jpeg"));
files.AddRange(CHelper.ListFiles(Folder, "*.png")); files.AddRange(CHelper.ListFiles(Folder, "*.png"));
foreach (String file in files) foreach (String file in files)
{ {
if (Regex.IsMatch(file, @".[CO].", RegexOptions.IgnoreCase) && if (file.ContainsIgnoreCase("[CO]") &&
(Regex.IsMatch(file, @"" + Regex.Escape(Title), RegexOptions.IgnoreCase) || Regex.IsMatch(file, @"" + Regex.Escape(Artist), RegexOptions.IgnoreCase))) (file.ContainsIgnoreCase(Title) || file.ContainsIgnoreCase(Artist)))
CoverFileName = file; CoverFileName = file;
} }
} }
@@ -283,11 +284,12 @@ namespace VocaluxeLib.Songs
if (BackgroundFileName == "") if (BackgroundFileName == "")
{ {
List<string> files = CHelper.ListFiles(Folder, "*.jpg"); List<string> files = CHelper.ListFiles(Folder, "*.jpg");
files.AddRange(CHelper.ListFiles(Folder, "*.jpeg"));
files.AddRange(CHelper.ListFiles(Folder, "*.png")); files.AddRange(CHelper.ListFiles(Folder, "*.png"));
foreach (String file in files) foreach (String file in files)
{ {
if (Regex.IsMatch(file, @".[BG].", RegexOptions.IgnoreCase) && if (file.ContainsIgnoreCase("[BG]") &&
(Regex.IsMatch(file, @"" + Regex.Escape(Title), RegexOptions.IgnoreCase) || Regex.IsMatch(file, @"" + Regex.Escape(Artist), RegexOptions.IgnoreCase))) (file.ContainsIgnoreCase(Title) || file.ContainsIgnoreCase(Artist)))
BackgroundFileName = file; BackgroundFileName = file;
} }
} }
+4 -5
View File
@@ -81,7 +81,7 @@ namespace VocaluxeLib.Songs
_Song.Languages.Clear(); _Song.Languages.Clear();
_Song.Genres.Clear(); _Song.Genres.Clear();
_Song._Comment.Clear(); _Song._Comment = "";
var headerFlags = new EHeaderFlags(); var headerFlags = new EHeaderFlags();
StreamReader sr = null; StreamReader sr = null;
@@ -196,10 +196,9 @@ namespace VocaluxeLib.Songs
_LogWarning("Invalid language"); _LogWarning("Invalid language");
break; break;
case "COMMENT": case "COMMENT":
if (value.Length > 1) if (!String.IsNullOrEmpty(_Song._Comment))
_Song._Comment.Add(value); _Song._Comment += "\r\n";
else _Song._Comment += value;
_LogWarning("Invalid comment");
break; break;
case "GAP": case "GAP":
if (CHelper.TryParse(value, out _Song.Gap)) if (CHelper.TryParse(value, out _Song.Gap))