forked from nikita/muzika-gromche
Compare commits
4 Commits
cbf1c14e01
...
8942b2ee37
| Author | SHA1 | Date |
|---|---|---|
|
|
8942b2ee37 | |
|
|
f20a500992 | |
|
|
6a71ed578b | |
|
|
3490b1c2f3 |
|
|
@ -1,5 +1,9 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## MuzikaGromche 1337.9001.69
|
||||||
|
|
||||||
|
- Show real Artist & Song info in the config.
|
||||||
|
|
||||||
## MuzikaGromche 1337.9001.68 - LocalHost hotfix
|
## MuzikaGromche 1337.9001.68 - LocalHost hotfix
|
||||||
|
|
||||||
- Fixed occasionally broken playback of v1337.9001.67, sorry about that.
|
- Fixed occasionally broken playback of v1337.9001.67, sorry about that.
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,10 @@ namespace MuzikaGromche
|
||||||
{
|
{
|
||||||
var obj = new Dictionary<string, object?>
|
var obj = new Dictionary<string, object?>
|
||||||
{
|
{
|
||||||
|
["Enabled"] = selectableTrack.Enabled,
|
||||||
["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,
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
@ -342,10 +364,12 @@ public static class Library
|
||||||
FlickerLightsTimeSeries = [-8, 31],
|
FlickerLightsTimeSeries = [-8, 31],
|
||||||
Lyrics = [],
|
Lyrics = [],
|
||||||
},
|
},
|
||||||
#if DEBUG // No one knows it, and it's a bit out of place with a long 52 seconds intro
|
|
||||||
new SelectableAudioTrack
|
new SelectableAudioTrack
|
||||||
{
|
{
|
||||||
|
Enabled = false, // No one knows it, and it's a bit out of place with a long 52 seconds intro
|
||||||
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,
|
||||||
|
|
@ -361,10 +385,11 @@ public static class Library
|
||||||
FlickerLightsTimeSeries = [-5],
|
FlickerLightsTimeSeries = [-5],
|
||||||
Lyrics = [],
|
Lyrics = [],
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
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 +411,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 +489,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 +516,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 +634,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 +705,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 +727,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 +778,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 +803,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 +853,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 +880,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 +911,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 +939,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 +967,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 +995,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 +1047,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 +1092,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,
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<AssemblyName>Ratijas.MuzikaGromche</AssemblyName>
|
<AssemblyName>Ratijas.MuzikaGromche</AssemblyName>
|
||||||
<Product>Muzika Gromche</Product>
|
<Product>Muzika Gromche</Product>
|
||||||
<Description>Add some content to your inverse teleporter experience on Titan!</Description>
|
<Description>Add some content to your inverse teleporter experience on Titan!</Description>
|
||||||
<Version>1337.9001.68</Version>
|
<Version>1337.9001.69</Version>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ namespace MuzikaGromche
|
||||||
{
|
{
|
||||||
tracksEnumerable = tracksEnumerable.Where(track => !track.IsExplicit);
|
tracksEnumerable = tracksEnumerable.Where(track => !track.IsExplicit);
|
||||||
}
|
}
|
||||||
|
tracksEnumerable = tracksEnumerable.Where(track => track.Enabled);
|
||||||
var tracks = tracksEnumerable.ToArray();
|
var tracks = tracksEnumerable.ToArray();
|
||||||
return (tracks, season);
|
return (tracks, season);
|
||||||
}
|
}
|
||||||
|
|
@ -324,9 +325,17 @@ namespace MuzikaGromche
|
||||||
// can be selected using weighted random from a list of selectable tracks.
|
// can be selected using weighted random from a list of selectable tracks.
|
||||||
public interface ISelectableTrack : ISeasonalContent
|
public interface ISelectableTrack : ISeasonalContent
|
||||||
{
|
{
|
||||||
|
// Provide means to disable the track and hide it from user-facing config, while keeping it around in code and still exporting to JSON.
|
||||||
|
public bool Enabled { get; init; }
|
||||||
|
|
||||||
// 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 +579,10 @@ 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 bool Enabled { get; init; } = true;
|
||||||
|
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;
|
||||||
|
|
@ -587,7 +600,11 @@ namespace MuzikaGromche
|
||||||
|
|
||||||
public class SelectableTracksGroup : ISelectableTrack
|
public class SelectableTracksGroup : ISelectableTrack
|
||||||
{
|
{
|
||||||
|
public bool Enabled { get; init; } = true;
|
||||||
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;
|
||||||
|
|
@ -1603,6 +1620,11 @@ namespace MuzikaGromche
|
||||||
|
|
||||||
foreach (var track in Plugin.Tracks)
|
foreach (var track in Plugin.Tracks)
|
||||||
{
|
{
|
||||||
|
if (!track.Enabled)
|
||||||
|
{
|
||||||
|
// hide disabled tracks from user-facing config
|
||||||
|
continue;
|
||||||
|
}
|
||||||
var language = track.Language;
|
var language = track.Language;
|
||||||
string section = $"Tracks.{language.Short}";
|
string section = $"Tracks.{language.Short}";
|
||||||
|
|
||||||
|
|
@ -1629,7 +1651,7 @@ namespace MuzikaGromche
|
||||||
// Create slider entry for track
|
// Create slider entry for track
|
||||||
var seasonal = track.Season is Season season ? $"This is seasonal content for {season.Name}.\n\n" : "";
|
var seasonal = track.Season is Season season ? $"This is seasonal content for {season.Name}.\n\n" : "";
|
||||||
string warning = track.IsExplicit ? "Explicit Content/Lyrics!\n\n" : "";
|
string warning = track.IsExplicit ? "Explicit Content/Lyrics!\n\n" : "";
|
||||||
string description = $"Language: {language.Full}\n\n{seasonal}{warning}Random (relative) chance of selecting this track.\n\nSet to zero to effectively disable the track.";
|
string description = $"Song: {track.Song} by {track.Artist}\n\nLanguage: {language.Full}\n\n{seasonal}{warning}Random (relative) chance of selecting this track.\n\nSet to zero to effectively disable the track.";
|
||||||
track.Weight = configFile.Bind(
|
track.Weight = configFile.Bind(
|
||||||
new ConfigDefinition(section, track.Name),
|
new ConfigDefinition(section, track.Name),
|
||||||
50,
|
50,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "MuzikaGromche",
|
"name": "MuzikaGromche",
|
||||||
"version_number": "1337.9001.68",
|
"version_number": "1337.9001.69",
|
||||||
"author": "Ratijas",
|
"author": "Ratijas",
|
||||||
"description": "Add some content to your inverse teleporter experience on Titan!",
|
"description": "Add some content to your inverse teleporter experience on Titan!",
|
||||||
"website_url": "https://git.vilunov.me/ratijas/muzika-gromche",
|
"website_url": "https://git.vilunov.me/ratijas/muzika-gromche",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue