From 6a71ed578b1a02bc249b754c26d76dc769ec8cad Mon Sep 17 00:00:00 2001 From: ivan tkachenko Date: Fri, 23 Jan 2026 14:00:26 +0200 Subject: [PATCH] Include Artist & Song metadata in the track info --- MuzikaGromche/Exporter.cs | 2 ++ MuzikaGromche/Library.cs | 58 +++++++++++++++++++++++++++++++++++++++ MuzikaGromche/Plugin.cs | 11 ++++++++ 3 files changed, 71 insertions(+) diff --git a/MuzikaGromche/Exporter.cs b/MuzikaGromche/Exporter.cs index 93e3999..4d689e8 100644 --- a/MuzikaGromche/Exporter.cs +++ b/MuzikaGromche/Exporter.cs @@ -55,6 +55,8 @@ namespace MuzikaGromche var obj = new Dictionary { ["Name"] = audioTrack.Name, // may be different from selectableTrack.Name, if selectable track is a group + ["Artist"] = selectableTrack.Artist, + ["Song"] = selectableTrack.Song, ["IsExplicit"] = selectableTrack.IsExplicit, ["Season"] = selectableTrack.Season?.Name, ["Language"] = selectableTrack.Language.Full, diff --git a/MuzikaGromche/Library.cs b/MuzikaGromche/Library.cs index 7f79154..d019507 100644 --- a/MuzikaGromche/Library.cs +++ b/MuzikaGromche/Library.cs @@ -35,6 +35,8 @@ public static class Library new SelectableAudioTrack { Name = "MuzikaGromche", + Artist = "Пошлая Молли", + Song = "Нон стоп", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, WindUpTimer = 46.3f, @@ -78,6 +80,8 @@ public static class Library new SelectableAudioTrack { Name = "VseVZale", + Artist = "Дискотека Авария", + Song = " Х.Х.Х.И.Р.Н.Р.", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, WindUpTimer = 38.28f, @@ -113,6 +117,8 @@ public static class Library new SelectableAudioTrack { Name = "DeployDestroy", + Artist = "Noize MC", + Song = "Устрой дестрой", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, WindUpTimer = 40.68f, @@ -159,6 +165,8 @@ public static class Library new SelectableAudioTrack { Name = "MoyaZhittya", + Artist = "Bon Jovi", + Song = "It's My Life", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 34.53f, @@ -210,6 +218,8 @@ public static class Library new SelectableAudioTrack { Name = "Gorgorod", + Artist = "Oxxxymiron", + Song = "Город под подошвой", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, WindUpTimer = 43.2f, @@ -228,6 +238,8 @@ public static class Library new SelectableAudioTrack { Name = "Durochka", + Artist = "Би-2", + Song = "Дурочка", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, WindUpTimer = 37.0f, @@ -246,6 +258,8 @@ public static class Library new SelectableAudioTrack { Name = "ZmeiGorynich", + Artist = "aespa", + Song = "Black Mamba", AudioType = AudioType.OGGVORBIS, Language = Language.KOREAN, WindUpTimer = 46.13f, @@ -265,6 +279,8 @@ public static class Library new SelectableAudioTrack { Name = "GodMode", + Artist = "Fall Out Boy", + Song = "Immortals", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 40.38f, @@ -287,6 +303,8 @@ public static class Library new SelectableAudioTrack { Name = "RiseAndShine", + Artist = "Fall Out Boy", + Song = "The Phoenix", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 59.87f, @@ -309,6 +327,8 @@ public static class Library new SelectableAudioTrack { Name = "Song2", + Artist = "Витас", + Song = "Опера #2", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, WindUpTimer = 38.63f, @@ -327,6 +347,8 @@ public static class Library new SelectableAudioTrack { Name = "Peretasovka", + Artist = "LMFAO", + Song = "Party Rock Anthem", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 39.68f, @@ -346,6 +368,8 @@ public static class Library new SelectableAudioTrack { Name = "Yalgaar", + Artist = "Ajey Nagar and Wily Frenzy", + Song = "Yalgaar", AudioType = AudioType.OGGVORBIS, Language = Language.HINDI, WindUpTimer = 52.17f, @@ -365,6 +389,8 @@ public static class Library new SelectableAudioTrack { Name = "Chereshnya", + Artist = "Дискотека Авария", + Song = "Малинки", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, WindUpTimer = 45.48f, @@ -386,6 +412,8 @@ public static class Library new SelectableAudioTrack { Name = "PWNED", + Artist = "CYBEЯIA", + Song = "Russian Hackers", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, IsExplicit = true, @@ -462,6 +490,8 @@ public static class Library new SelectableAudioTrack { Name = "Kach", + Artist = "Black Eyed Peas", + Song = "Pump It", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 47.30f, @@ -487,6 +517,8 @@ public static class Library new SelectableTracksGroup { Name = "BeefLiver", + Artist = "Imagine Dragons", + Song = "Believer", Language = Language.ENGLISH, Tracks = [ @@ -603,6 +635,8 @@ public static class Library new SelectableTracksGroup { Name = "Beha", + Artist = "Ленинград ft. Глюк'oZа ft. ST", + Song = "Жу-Жу", Language = Language.RUSSIAN, IsExplicit = true, Tracks = @@ -672,6 +706,8 @@ public static class Library new SelectableAudioTrack { Name = "OnePartiyaUdar", + Artist = "One-Punch Man", + Song = "Opening", AudioType = AudioType.OGGVORBIS, Language = Language.JAPANESE, WindUpTimer = 41.27f, @@ -692,6 +728,8 @@ public static class Library new SelectableTracksGroup { Name = "AttentionPls", + Artist = "Отпетые Мошенники", + Song = "Обратите внимание", Language = Language.RUSSIAN, IsExplicit = true, Tracks = @@ -741,6 +779,8 @@ public static class Library new SelectableAudioTrack { Name = "BbIXODaHET", + Artist = "Сплин", + Song = "Выхода нет", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, WindUpTimer = 40.85f, @@ -764,6 +804,8 @@ public static class Library new SelectableAudioTrack { Name = "Whistle", + Artist = "Flo Rida", + Song = "Whistle", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 41.27f, @@ -812,6 +854,8 @@ public static class Library new SelectableAudioTrack { Name = "ReelGoon", + Artist = "John Shanks and Sheryl Crow", + Song = "Real Gone", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 45.15f, @@ -837,6 +881,8 @@ public static class Library new SelectableAudioTrack { Name = "HighLow", + Artist = "Nirvana", + Song = "Smells Like Teen Spirit", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 37.12f, @@ -866,6 +912,8 @@ public static class Library new SelectableAudioTrack { Name = "IkWilJe", + Artist = "My Chemical Romance", + Song = "All I Want for Christmas Is You", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, Season = Season.NewYear, @@ -892,6 +940,8 @@ public static class Library new SelectableAudioTrack { Name = "Paarden", + Artist = "Элизиум", + Song = "Три белых коня", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, Season = Season.NewYear, @@ -918,6 +968,8 @@ public static class Library new SelectableAudioTrack { Name = "DiscoKapot", + Artist = "Дискотека Авария", + Song = "Новогодняя", AudioType = AudioType.OGGVORBIS, Language = Language.RUSSIAN, Season = Season.NewYear, @@ -944,6 +996,8 @@ public static class Library new SelectableTracksGroup { Name = "PickUpSticks", + Artist = "t.A.T.u.", + Song = "Show Me Love", Language = Language.ENGLISH, Tracks = [ @@ -994,6 +1048,8 @@ public static class Library new SelectableAudioTrack { Name = "TwoFastTuFurious", + Artist = "t.A.T.u.", + Song = "Not Gonna Get Us / Нас не догонят", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 36.08f, @@ -1037,6 +1093,8 @@ public static class Library new SelectableAudioTrack { Name = "Arcane", + Artist = "Imagine Dragons & J.I.D", + Song = "Enemy", AudioType = AudioType.OGGVORBIS, Language = Language.ENGLISH, WindUpTimer = 38.28f, diff --git a/MuzikaGromche/Plugin.cs b/MuzikaGromche/Plugin.cs index efd04fb..679e6ef 100644 --- a/MuzikaGromche/Plugin.cs +++ b/MuzikaGromche/Plugin.cs @@ -327,6 +327,11 @@ namespace MuzikaGromche // Name of the track, as shown in config entry UI; also used for default file names. 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. public Language Language { get; init; } @@ -570,6 +575,9 @@ namespace MuzikaGromche // Standalone, top-level, selectable audio track public class SelectableAudioTrack : CoreAudioTrack, ISelectableTrack { + public /* required */ string Artist { get; init; } = ""; + + public /* required */ string Song { get; init; } = ""; public /* required */ Language Language { get; init; } public bool IsExplicit { get; init; } = false; public Season? Season { get; init; } = null; @@ -588,6 +596,9 @@ namespace MuzikaGromche public class SelectableTracksGroup : ISelectableTrack { 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 bool IsExplicit { get; init; } = false; public Season? Season { get; init; } = null;