diff --git a/Output/Languages/en.xml b/Output/Languages/en.xml index 8ada8fe4..b9375c3b 100644 --- a/Output/Languages/en.xml +++ b/Output/Languages/en.xml @@ -155,7 +155,7 @@ (%v song) %a - %t A-Z = Jump to the letter • F3 = Search • CTRL+R = Random selection • CTRL+S = Start medley • CTRL+# = Change song sorting • CTRL+T = Enable/Disable category view • Space = Open song options • ESC = Back to main menu - A-Z = Search artist and title, prefixes for the search → a: = artist • t: = title • c: = creator • e: = edition • g: = genre • y: = year (e.g. 1999 or 1980-1989) • l: = language • al: = album • fi: = file name • fo: = folder name + A-Z = Search artist and title, prefixes for the search → a: = artist • t: = title • c: = creator • e: = edition • g: = genre • y: = year (e.g. 1999 or 1980-1989) • l: = language • al: = album • fi: = file name • fo: = folder name • #: = tags 1-6 = Press your team number to use a random song joker Sorting: %s No Medley for this song! diff --git a/Vocaluxe/Base/CSongFilter.cs b/Vocaluxe/Base/CSongFilter.cs index 6d9870e6..24873dd3 100644 --- a/Vocaluxe/Base/CSongFilter.cs +++ b/Vocaluxe/Base/CSongFilter.cs @@ -100,6 +100,7 @@ namespace Vocaluxe.Base String searchForLanguage = null; // l: String searchForCreator = null; // c: String searchForEdition = null; // e: + String searchForTags = null; // #: String searchForAlbum = null; // al: String searchForFileName = null; // fi: String searchForFolderName = null; // fo: @@ -138,6 +139,9 @@ namespace Vocaluxe.Base case "E:": searchForEdition = searchToken.Substring(2); break; + case "#:": + searchForTags = searchToken.Substring(2); + break; default: foundIt = false; break; @@ -231,6 +235,15 @@ namespace Vocaluxe.Base } } + if (searchForTags != null) + { + foreach (String tag in song.Tags) + { + if (tag.ToUpper().Contains(searchForTags)) + _FilteredSongs.Add(song); + } + } + if (searchForYear != null) { int pos = searchForYear.IndexOf("-");