1
0
Fork 0

Include Artist & Song metadata in the track info

This commit is contained in:
ivan tkachenko 2026-01-23 14:00:26 +02:00
parent 3490b1c2f3
commit 6a71ed578b
3 changed files with 71 additions and 0 deletions

View File

@ -55,6 +55,8 @@ namespace MuzikaGromche
var obj = new Dictionary<string, object?> var obj = new Dictionary<string, object?>
{ {
["Name"] = audioTrack.Name, // may be different from selectableTrack.Name, if selectable track is a group ["Name"] = audioTrack.Name, // may be different from selectableTrack.Name, if selectable track is a group
["Artist"] = selectableTrack.Artist,
["Song"] = selectableTrack.Song,
["IsExplicit"] = selectableTrack.IsExplicit, ["IsExplicit"] = selectableTrack.IsExplicit,
["Season"] = selectableTrack.Season?.Name, ["Season"] = selectableTrack.Season?.Name,
["Language"] = selectableTrack.Language.Full, ["Language"] = selectableTrack.Language.Full,

View File

@ -35,6 +35,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "MuzikaGromche", Name = "MuzikaGromche",
Artist = "Пошлая Молли",
Song = "Нон стоп",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
WindUpTimer = 46.3f, WindUpTimer = 46.3f,
@ -78,6 +80,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "VseVZale", Name = "VseVZale",
Artist = "Дискотека Авария",
Song = " Х.Х.Х.И.Р.Н.Р.",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
WindUpTimer = 38.28f, WindUpTimer = 38.28f,
@ -113,6 +117,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "DeployDestroy", Name = "DeployDestroy",
Artist = "Noize MC",
Song = "Устрой дестрой",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
WindUpTimer = 40.68f, WindUpTimer = 40.68f,
@ -159,6 +165,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "MoyaZhittya", Name = "MoyaZhittya",
Artist = "Bon Jovi",
Song = "It's My Life",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 34.53f, WindUpTimer = 34.53f,
@ -210,6 +218,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Gorgorod", Name = "Gorgorod",
Artist = "Oxxxymiron",
Song = "Город под подошвой",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
WindUpTimer = 43.2f, WindUpTimer = 43.2f,
@ -228,6 +238,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Durochka", Name = "Durochka",
Artist = "Би-2",
Song = "Дурочка",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
WindUpTimer = 37.0f, WindUpTimer = 37.0f,
@ -246,6 +258,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "ZmeiGorynich", Name = "ZmeiGorynich",
Artist = "aespa",
Song = "Black Mamba",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.KOREAN, Language = Language.KOREAN,
WindUpTimer = 46.13f, WindUpTimer = 46.13f,
@ -265,6 +279,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "GodMode", Name = "GodMode",
Artist = "Fall Out Boy",
Song = "Immortals",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 40.38f, WindUpTimer = 40.38f,
@ -287,6 +303,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "RiseAndShine", Name = "RiseAndShine",
Artist = "Fall Out Boy",
Song = "The Phoenix",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 59.87f, WindUpTimer = 59.87f,
@ -309,6 +327,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Song2", Name = "Song2",
Artist = "Витас",
Song = "Опера #2",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
WindUpTimer = 38.63f, WindUpTimer = 38.63f,
@ -327,6 +347,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Peretasovka", Name = "Peretasovka",
Artist = "LMFAO",
Song = "Party Rock Anthem",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 39.68f, WindUpTimer = 39.68f,
@ -346,6 +368,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Yalgaar", Name = "Yalgaar",
Artist = "Ajey Nagar and Wily Frenzy",
Song = "Yalgaar",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.HINDI, Language = Language.HINDI,
WindUpTimer = 52.17f, WindUpTimer = 52.17f,
@ -365,6 +389,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Chereshnya", Name = "Chereshnya",
Artist = "Дискотека Авария",
Song = "Малинки",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
WindUpTimer = 45.48f, WindUpTimer = 45.48f,
@ -386,6 +412,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "PWNED", Name = "PWNED",
Artist = "CYBEЯIA",
Song = "Russian Hackers",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
IsExplicit = true, IsExplicit = true,
@ -462,6 +490,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Kach", Name = "Kach",
Artist = "Black Eyed Peas",
Song = "Pump It",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 47.30f, WindUpTimer = 47.30f,
@ -487,6 +517,8 @@ public static class Library
new SelectableTracksGroup new SelectableTracksGroup
{ {
Name = "BeefLiver", Name = "BeefLiver",
Artist = "Imagine Dragons",
Song = "Believer",
Language = Language.ENGLISH, Language = Language.ENGLISH,
Tracks = Tracks =
[ [
@ -603,6 +635,8 @@ public static class Library
new SelectableTracksGroup new SelectableTracksGroup
{ {
Name = "Beha", Name = "Beha",
Artist = "Ленинград ft. Глюк'oZа ft. ST",
Song = "Жу-Жу",
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
IsExplicit = true, IsExplicit = true,
Tracks = Tracks =
@ -672,6 +706,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "OnePartiyaUdar", Name = "OnePartiyaUdar",
Artist = "One-Punch Man",
Song = "Opening",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.JAPANESE, Language = Language.JAPANESE,
WindUpTimer = 41.27f, WindUpTimer = 41.27f,
@ -692,6 +728,8 @@ public static class Library
new SelectableTracksGroup new SelectableTracksGroup
{ {
Name = "AttentionPls", Name = "AttentionPls",
Artist = "Отпетые Мошенники",
Song = "Обратите внимание",
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
IsExplicit = true, IsExplicit = true,
Tracks = Tracks =
@ -741,6 +779,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "BbIXODaHET", Name = "BbIXODaHET",
Artist = "Сплин",
Song = "Выхода нет",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
WindUpTimer = 40.85f, WindUpTimer = 40.85f,
@ -764,6 +804,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Whistle", Name = "Whistle",
Artist = "Flo Rida",
Song = "Whistle",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 41.27f, WindUpTimer = 41.27f,
@ -812,6 +854,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "ReelGoon", Name = "ReelGoon",
Artist = "John Shanks and Sheryl Crow",
Song = "Real Gone",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 45.15f, WindUpTimer = 45.15f,
@ -837,6 +881,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "HighLow", Name = "HighLow",
Artist = "Nirvana",
Song = "Smells Like Teen Spirit",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 37.12f, WindUpTimer = 37.12f,
@ -866,6 +912,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "IkWilJe", Name = "IkWilJe",
Artist = "My Chemical Romance",
Song = "All I Want for Christmas Is You",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
Season = Season.NewYear, Season = Season.NewYear,
@ -892,6 +940,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Paarden", Name = "Paarden",
Artist = "Элизиум",
Song = "Три белых коня",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
Season = Season.NewYear, Season = Season.NewYear,
@ -918,6 +968,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "DiscoKapot", Name = "DiscoKapot",
Artist = "Дискотека Авария",
Song = "Новогодняя",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.RUSSIAN, Language = Language.RUSSIAN,
Season = Season.NewYear, Season = Season.NewYear,
@ -944,6 +996,8 @@ public static class Library
new SelectableTracksGroup new SelectableTracksGroup
{ {
Name = "PickUpSticks", Name = "PickUpSticks",
Artist = "t.A.T.u.",
Song = "Show Me Love",
Language = Language.ENGLISH, Language = Language.ENGLISH,
Tracks = Tracks =
[ [
@ -994,6 +1048,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "TwoFastTuFurious", Name = "TwoFastTuFurious",
Artist = "t.A.T.u.",
Song = "Not Gonna Get Us / Нас не догонят",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 36.08f, WindUpTimer = 36.08f,
@ -1037,6 +1093,8 @@ public static class Library
new SelectableAudioTrack new SelectableAudioTrack
{ {
Name = "Arcane", Name = "Arcane",
Artist = "Imagine Dragons & J.I.D",
Song = "Enemy",
AudioType = AudioType.OGGVORBIS, AudioType = AudioType.OGGVORBIS,
Language = Language.ENGLISH, Language = Language.ENGLISH,
WindUpTimer = 38.28f, WindUpTimer = 38.28f,

View File

@ -327,6 +327,11 @@ namespace MuzikaGromche
// Name of the track, as shown in config entry UI; also used for default file names. // Name of the track, as shown in config entry UI; also used for default file names.
public string Name { get; init; } public string Name { get; init; }
// Artist and Song metadata, shown in config description.
public string Artist { get; init; }
public string Song { get; init; }
// Language of the track's lyrics. // Language of the track's lyrics.
public Language Language { get; init; } public Language Language { get; init; }
@ -570,6 +575,9 @@ namespace MuzikaGromche
// Standalone, top-level, selectable audio track // Standalone, top-level, selectable audio track
public class SelectableAudioTrack : CoreAudioTrack, ISelectableTrack public class SelectableAudioTrack : CoreAudioTrack, ISelectableTrack
{ {
public /* required */ string Artist { get; init; } = "";
public /* required */ string Song { get; init; } = "";
public /* required */ Language Language { get; init; } public /* required */ Language Language { get; init; }
public bool IsExplicit { get; init; } = false; public bool IsExplicit { get; init; } = false;
public Season? Season { get; init; } = null; public Season? Season { get; init; } = null;
@ -588,6 +596,9 @@ namespace MuzikaGromche
public class SelectableTracksGroup : ISelectableTrack public class SelectableTracksGroup : ISelectableTrack
{ {
public /* required */ string Name { get; init; } = ""; public /* required */ string Name { get; init; } = "";
public /* required */ string Artist { get; init; } = "";
public /* required */ string Song { get; init; } = "";
public /* required */ Language Language { get; init; } public /* required */ Language Language { get; init; }
public bool IsExplicit { get; init; } = false; public bool IsExplicit { get; init; } = false;
public Season? Season { get; init; } = null; public Season? Season { get; init; } = null;