From d338906b199d43897c894b0167461a2fa1e7efdd Mon Sep 17 00:00:00 2001 From: DaforLynx Date: Fri, 25 Nov 2022 18:48:56 +0000 Subject: [PATCH] More music and artist links --- .../audio/calendar/christmas/soundtrack.ron | 8 +- .../audio/calendar/halloween/soundtrack.ron | 71 +++-- assets/voxygen/audio/soundtrack.ron | 248 +++++++++++------- .../soundtrack/dungeon/thrumming_waters.ogg | 3 + .../audio/soundtrack/overworld/torii.ogg | 3 + .../audio/soundtrack/town/into_the_mines.ogg | 3 + voxygen/src/audio/mod.rs | 2 + voxygen/src/audio/music.rs | 8 +- voxygen/src/session/mod.rs | 3 + 9 files changed, 215 insertions(+), 134 deletions(-) create mode 100644 assets/voxygen/audio/soundtrack/dungeon/thrumming_waters.ogg create mode 100644 assets/voxygen/audio/soundtrack/overworld/torii.ogg create mode 100644 assets/voxygen/audio/soundtrack/town/into_the_mines.ogg diff --git a/assets/voxygen/audio/calendar/christmas/soundtrack.ron b/assets/voxygen/audio/calendar/christmas/soundtrack.ron index 40a03d6f86..68d475957e 100644 --- a/assets/voxygen/audio/calendar/christmas/soundtrack.ron +++ b/assets/voxygen/audio/calendar/christmas/soundtrack.ron @@ -1,13 +1,15 @@ -// Times: Some(Day or Night) or None [both] -// Weathers: Some(Clear, Cloudy, Rain, or Storm) or None [any weather] +// Times: Day, Night, or None (both) +// Weathers: Clear, Cloudy, Rain, Storm, or None (any weather) // Biomes: Grassland, Forest, Desert, Snowland, Lake, Mountain, Ocean, Jungle, Savannah, Taiga // planned biomes: Swamp // Number after biome indicates weighting; higher numbers are less frequent -// Sites: Settlement(Default, Cliff, or Desert), Cave, Dungeon(Old or Gnarling), or Void [none] +// Sites: Settlement(Default, CliffTown, DesertCity, or SavannahPit), Cave, Dungeon(Old or Gnarling), or Void [none] // Music states: Activity(Explore or Combat) // Combat music is looped. Needs three files: start, loop, and end. Start contains leadup to the loop. +// Artist format is ("Artist", "https://website.com/"). If no website, use None. // It's recommended to also have appropriate metadata for those who listen via the game files :) +#![enable(implicit_some)] ( tracks: [] ) \ No newline at end of file diff --git a/assets/voxygen/audio/calendar/halloween/soundtrack.ron b/assets/voxygen/audio/calendar/halloween/soundtrack.ron index b5e05afb5c..2a86a6328c 100644 --- a/assets/voxygen/audio/calendar/halloween/soundtrack.ron +++ b/assets/voxygen/audio/calendar/halloween/soundtrack.ron @@ -1,13 +1,15 @@ -// Times: Some(Day or Night) or None [both] -// Weathers: Some(Clear, Cloudy, Rain, or Storm) or None [any weather] +// Times: Day, Night, or None (both) +// Weathers: Clear, Cloudy, Rain, Storm, or None (any weather) // Biomes: Grassland, Forest, Desert, Snowland, Lake, Mountain, Ocean, Jungle, Savannah, Taiga // planned biomes: Swamp // Number after biome indicates weighting; higher numbers are less frequent -// Sites: Settlement(Default, Cliff, or Desert), Cave, Dungeon(Old or Gnarling), or Void [none] +// Sites: Settlement(Default, CliffTown, DesertCity, or SavannahPit), Cave, Dungeon(Old or Gnarling), or Void [none] // Music states: Activity(Explore or Combat) // Combat music is looped. Needs three files: start, loop, and end. Start contains leadup to the loop. +// Artist format is ("Artist", "https://website.com/"). If no website, use None. // It's recommended to also have appropriate metadata for those who listen via the game files :) +#![enable(implicit_some)] ( tracks: [ @@ -23,7 +25,7 @@ biomes: [], sites: [Void, Settlement(Default), Settlement(CliffTown), Settlement(DesertCity)], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), Individual(( title: "Dank Dungeon", @@ -34,7 +36,7 @@ biomes: [], sites: [Void, Settlement(Default), Settlement(CliffTown), Settlement(DesertCity)], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Ruination", @@ -45,18 +47,18 @@ biomes: [], sites: [Void, Settlement(Default), Settlement(CliffTown), Settlement(DesertCity)], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Moonlit Canopy", path: "voxygen.audio.soundtrack.overworld.moonlit_canopy", length: 170.0, - timing: Some(Night), + timing: None, weather: None, biomes: [], sites: [Void, Settlement(Default), Settlement(CliffTown), Settlement(DesertCity)], music_state: Activity(Explore), - artist: "GeekyGami", + artist: ("GeekyGami", "https://geekygami.newgrounds.com/audio/"), )), Individual(( title: "Ethereal Bonds", @@ -67,7 +69,7 @@ biomes: [], sites: [Void, Settlement(Default), Settlement(CliffTown), Settlement(DesertCity)], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Raising Below Like Thunder", @@ -78,7 +80,7 @@ biomes: [], sites: [Void, Settlement(Default), Settlement(CliffTown), Settlement(DesertCity)], music_state: Activity(Explore), - artist: "Rarnage", + artist: ("Rarnage", "https://soundcloud.com/rarnage44"), )), Individual(( title: "Into The Dark Forest", @@ -89,7 +91,7 @@ biomes: [], sites: [Void, Settlement(Default), Settlement(CliffTown), Settlement(DesertCity)], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Ballerine Macabre", @@ -100,7 +102,7 @@ biomes: [], sites: [Void, Settlement(Default), Settlement(CliffTown), Settlement(DesertCity)], music_state: Activity(Explore), - artist: "GeekyGami", + artist: ("GeekyGami", "https://geekygami.newgrounds.com/audio/"), )), // Cave music @@ -114,7 +116,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "DragonDee", + artist: ("DragonDee", "https://soundcloud.com/deanna-rusnock"), )), Individual(( title: "Cavernous Hollow", @@ -125,7 +127,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "GeekyGami", + artist: ("GeekyGami", "https://geekygami.newgrounds.com/audio/"), )), Individual(( title: "Saturated Hallows", @@ -136,7 +138,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "Flashbang", + artist: ("Flashbang", "https://soundcloud.com/unboundir0n-m4n"), )), Individual(( title: "Mineral Deposits", @@ -147,7 +149,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Down The Rabbit Hole", @@ -158,7 +160,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), // Dungeon music @@ -174,7 +176,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Tiny", + artist: ("Tiny", None), )), Individual(( title: "Cobbled Halls", @@ -187,7 +189,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Crow", + artist: ("Crow", None), )), Individual(( title: "Dank Dungeon", @@ -200,7 +202,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Ruination", @@ -213,7 +215,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Vast Onslaught", @@ -226,7 +228,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Sacred Temple", @@ -239,7 +241,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "The Undergrowth", @@ -252,7 +254,7 @@ Dungeon(Gnarling), ], music_state: Activity(Explore), - artist: "Oolnokk", + artist: ("Oolnokk", "https://soundcloud.com/walkerhallplaysthegeetar"), )), Individual(( title: "Jungle Ambient", @@ -265,7 +267,20 @@ Dungeon(Gnarling), ], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), + )), + Individual(( + title: "Thrumming Waters", + path: "voxygen.audio.soundtrack.dungeon.thrumming_waters", + length: 100.0, + timing: None, + weather: None, + biomes: [], + sites: [ + Dungeon(Gnarling), + ], + music_state: Activity(Explore), + artist: ("Jeremiah Sweeney", "https://soundcloud.com/jsweeney743"), )), // Combat Music @@ -283,7 +298,7 @@ ("voxygen.audio.soundtrack.combat.barred_paths.barred_paths-loop", 54.0, Activity(Combat(High)), None), ("voxygen.audio.soundtrack.combat.barred_paths.barred_paths-end", 6.0, Transition(Combat(High), Explore), None), ], - artist: "DaforLynx", + artist: ("DaforLynx", "https://daforlynx.neocities.org/"), ), Segmented( title: "Reversal", @@ -298,7 +313,7 @@ ("voxygen.audio.soundtrack.combat.reversal.reversal-loop", 60.0, Activity(Combat(High)), None), ("voxygen.audio.soundtrack.combat.reversal.reversal-end", 4.0, Transition(Combat(High), Explore), None), ], - artist: "DaforLynx", + artist: ("DaforLynx", "https://daforlynx.neocities.org/"), ), ] -) +) \ No newline at end of file diff --git a/assets/voxygen/audio/soundtrack.ron b/assets/voxygen/audio/soundtrack.ron index 3acbd6b0c6..3f9c642ead 100644 --- a/assets/voxygen/audio/soundtrack.ron +++ b/assets/voxygen/audio/soundtrack.ron @@ -1,19 +1,33 @@ -// Times: Some(Day or Night) or None [both] -// Weathers: Some(Clear, Cloudy, Rain, or Storm) or None [any weather] +// Times: Day, Night, or None (both) +// Weathers: Clear, Cloudy, Rain, Storm, or None (any weather) // Biomes: Grassland, Forest, Desert, Snowland, Lake, Mountain, Ocean, Jungle, Savannah, Taiga // planned biomes: Swamp // Number after biome indicates weighting; higher numbers are less frequent -// Sites: Settlement(Default, Cliff, or Desert), Cave, Dungeon(Old or Gnarling), or Void [none] +// Sites: Settlement(Default, CliffTown, DesertCity, or SavannahPit), Cave, Dungeon(Old or Gnarling), or Void [none] // Music states: Activity(Explore or Combat) // Combat music is looped. Needs three files: start, loop, and end. Start contains leadup to the loop. +// Artist format is ("Artist", "https://website.com/"). If no website, use None. // It's recommended to also have appropriate metadata for those who listen via the game files :) +#![enable(implicit_some)] ( tracks: [ // Overworld exploration tracks - + Individual(( + title: "Torii", + path: "voxygen.audio.soundtrack.overworld.torii", + length: 157.0, + timing: Night, + weather: None, + biomes: [ + (Taiga, 1), + ], + sites: [Void], + music_state: Activity(Explore), + artist: ("FaceImplosion", "https://www.youtube.com/c/FaceImplosion"), + )), Individual(( title: "The Undergrowth", path: "voxygen.audio.soundtrack.overworld.the_undergrowth", @@ -25,13 +39,13 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Oolnokk", + artist: ("Oolnokk", "https://soundcloud.com/walkerhallplaysthegeetar"), )), Individual(( title: "Moonlit Canopy", path: "voxygen.audio.soundtrack.overworld.moonlit_canopy", length: 170.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Forest, 1), @@ -39,13 +53,13 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "GeekyGami", + artist: ("GeekyGami", "https://geekygami.newgrounds.com/audio/"), )), Individual(( title: "Adventurous Soul", path: "voxygen.audio.soundtrack.overworld.adventurous_soul", length: 184.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Mountain, 1), @@ -53,13 +67,13 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Crow", + artist: ("Crow", None), )), Individual(( title: "Stargazing", path: "voxygen.audio.soundtrack.overworld.stargazing", length: 216.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Taiga, 1), @@ -67,35 +81,35 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "GeekyGami", + artist: ("GeekyGami", "https://geekygami.newgrounds.com/audio/"), )), Individual(( title: "The Heavens Weep", path: "voxygen.audio.soundtrack.overworld.the_heavens_weep", length: 210.0, timing: None, - weather: Some(Rain), + weather: Rain, biomes: [], sites: [Void], music_state: Activity(Explore), - artist: "Oolnokk", + artist: ("Oolnokk", "https://soundcloud.com/walkerhallplaysthegeetar"), )), Individual(( title: "A Hero's Sorrow", path: "voxygen.audio.soundtrack.overworld.a_heros_sorrow", length: 252.0, timing: None, - weather: Some(Rain), + weather: Rain, biomes: [], sites: [Void], music_state: Activity(Explore), - artist: "Oolnokk", + artist: ("Oolnokk", "https://soundcloud.com/walkerhallplaysthegeetar"), )), Individual(( title: "Follow the Signs", path: "voxygen.audio.soundtrack.overworld.follow_the_signs", length: 154.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Forest, 2), @@ -103,13 +117,13 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Oolnokk", + artist: ("Oolnokk", "https://soundcloud.com/walkerhallplaysthegeetar"), )), Individual(( title: "Travel By Night", path: "voxygen.audio.soundtrack.overworld.travel_by_night", length: 66.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Forest, 1), @@ -117,13 +131,13 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Oolnokk", + artist: ("Oolnokk", "https://soundcloud.com/walkerhallplaysthegeetar"), )), Individual(( title: "Raising Below Like Thunder", path: "voxygen.audio.soundtrack.overworld.raising_below_like_thunder", length: 120.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Desert, 1), @@ -131,33 +145,33 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Rarnage", + artist: ("Rarnage", "https://soundcloud.com/rarnage44"), )), Individual(( title: "Calming Hills", path: "voxygen.audio.soundtrack.overworld.calming_hills", length: 101.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Mountain, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "Ultimafounding; mixed by Robotnik", + artist: ("Ultimafounding; mixed by Robotnik", "https://jackmagson.bandcamp.com/"), )), Individual(( title: "True Nature", path: "voxygen.audio.soundtrack.overworld.true_nature", length: 169.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Forest, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "DaforLynx", + artist: ("DaforLynx", "https://daforlynx.neocities.org/"), )), Individual(( title: "Jungle Ambient", @@ -170,26 +184,26 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), Individual(( title: "Ethereal Bonds", path: "voxygen.audio.soundtrack.overworld.ethereal_bonds", length: 59.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Mountain, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Leap of Faith", path: "voxygen.audio.soundtrack.overworld.leap_of_faith", length: 269.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Ocean, 1), @@ -197,13 +211,13 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Highland of the Hawk", path: "voxygen.audio.soundtrack.overworld.highland_of_the_hawk", length: 283.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Desert, 1), @@ -211,26 +225,26 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), Individual(( title: "Verdant Glades", path: "voxygen.audio.soundtrack.overworld.verdant_glades", length: 97.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Grassland, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Calling Wild", path: "voxygen.audio.soundtrack.overworld.calling_wild", length: 160.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Grassland, 1), @@ -238,7 +252,7 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Ultimafounding", + artist: ("Ultimafounding", "https://jackmagson.bandcamp.com/"), )), Individual(( title: "Drifting Along", @@ -252,26 +266,26 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "DaforLynx", + artist: ("DaforLynx", "https://daforlynx.neocities.org/"), )), Individual(( title: "Winter Falls", path: "voxygen.audio.soundtrack.overworld.winter_falls", length: 215.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Snowland, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "DaforLynx", + artist: ("DaforLynx", "https://daforlynx.neocities.org/"), )), Individual(( title: "Short Meandering", path: "voxygen.audio.soundtrack.overworld.short_meandering", length: 147.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Desert, 1), @@ -279,7 +293,7 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Ap1evideogame", + artist: ("Ap1evideogame", "https://youtube.com/channel/UCt1M5lk2kGZStr64B3hUUKg"), )), Individual(( title: "Oceania", @@ -293,13 +307,13 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Eden", + artist: ("Eden", "https://soundcloud.com/usernumberuser"), )), Individual(( title: "A Solemn Quest", path: "voxygen.audio.soundtrack.overworld.a_solemn_quest", length: 206.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Forest, 1), @@ -307,26 +321,26 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Eden", + artist: ("Eden", "https://soundcloud.com/usernumberuser"), )), Individual(( title: "Into The Dark Forest", path: "voxygen.audio.soundtrack.overworld.into_the_dark_forest", length: 184.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Forest, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Field Grazing", path: "voxygen.audio.soundtrack.overworld.field_grazing", length: 154.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Grassland, 1), @@ -334,78 +348,78 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Wandering Voices", path: "voxygen.audio.soundtrack.overworld.wandering_voices", length: 137.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Grassland, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Snowtop Volume", path: "voxygen.audio.soundtrack.overworld.snowtop_volume", length: 89.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Snowland, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Moonbeams", path: "voxygen.audio.soundtrack.overworld.moonbeams", length: 158.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Snowland, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Serene Meadows", path: "voxygen.audio.soundtrack.overworld.serene_meadows", length: 173.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Grassland, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Just The Beginning", path: "voxygen.audio.soundtrack.overworld.just_the_beginning", length: 188.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Grassland, 1), ], sites: [Void], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), Individual(( title: "Campfire Stories", path: "voxygen.audio.soundtrack.overworld.campfire_stories", length: 100.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [ (Forest, 1), @@ -413,13 +427,13 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), Individual(( title: "Limits", path: "voxygen.audio.soundtrack.overworld.limits", length: 203.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Mountain, 1), @@ -427,13 +441,13 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), Individual(( title: "Between The Fairies", path: "voxygen.audio.soundtrack.overworld.between_the_fairies", length: 175.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Forest, 1), @@ -441,16 +455,30 @@ ], sites: [Void], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), // Town music + Individual(( + title: "Into the Mines", + path: "voxygen.audio.soundtrack.town.into_the_mines", + length: 157.0, + timing: Day, + weather: None, + biomes: [], + sites: [ + Settlement(CliffTown), + Settlement(SavannahPit), + ], + music_state: Activity(Explore), + artist: ("elliot_stone1998", None), + )), Individual(( title: "Life of a Background Mob", path: "voxygen.audio.soundtrack.town.life_of_a_background_mob", length: 234.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [ (Forest, 1), @@ -459,138 +487,147 @@ sites: [ Settlement(Default), Settlement(CliffTown), + Settlement(SavannahPit), ], music_state: Activity(Explore), - artist: "GeekyGami", + artist: ("GeekyGami", "https://geekygami.newgrounds.com/audio/"), )), Individual(( title: "Warmth of the Hearth", path: "voxygen.audio.soundtrack.town.warmth_of_the_hearth", length: 156.0, - timing: Some(Night), + timing: Night, weather: None, biomes:[], sites: [ Settlement(Default), Settlement(CliffTown), Settlement(DesertCity), + Settlement(SavannahPit), ], music_state: Activity(Explore), - artist: "Crow", + artist: ("Crow", None), )), Individual(( title: "The Quiet After the Battle", path: "voxygen.audio.soundtrack.town.the_quiet_after_the_battle", length: 240.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [], sites: [ Settlement(Default), Settlement(CliffTown), Settlement(DesertCity), + Settlement(SavannahPit), ], music_state: Activity(Explore), - artist: "Tobias Thy - (Thy SFX)", + artist: ("Tobias Thy - (Thy SFX)", "https://soundcloud.com/thyofficial"), )), Individual(( title: "A Rest Under the Sunset", path: "voxygen.audio.soundtrack.town.a_rest_under_the_sunset", length: 83.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [], sites: [ Settlement(Default), Settlement(CliffTown), + Settlement(SavannahPit), ], music_state: Activity(Explore), - artist: "phoenix13032005", + artist: ("phoenix13032005", None), )), Individual(( title: "A Tale Worth Telling", path: "voxygen.audio.soundtrack.town.a_tale_worth_telling", length: 279.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [], sites: [ Settlement(Default), Settlement(CliffTown), Settlement(DesertCity), + Settlement(SavannahPit), ], music_state: Activity(Explore), - artist: "Oolnokk; mixed by cereal7", + artist: ("Oolnokk; mixed by cereal7", "https://soundcloud.com/walkerhallplaysthegeetar"), )), Individual(( title: "Bustle and Bloom", path: "voxygen.audio.soundtrack.town.bustle_and_bloom", length: 155.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [], sites: [ Settlement(Default), Settlement(CliffTown), + Settlement(SavannahPit), ], music_state: Activity(Explore), - artist: "DaforLynx", + artist: ("DaforLynx", "https://daforlynx.neocities.org/"), )), Individual(( title: "Starlit Pathways", path: "voxygen.audio.soundtrack.town.starlit_pathways", length: 132.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [], sites: [ Settlement(Default), Settlement(CliffTown), Settlement(DesertCity), + Settlement(SavannahPit), ], music_state: Activity(Explore), - artist: "DaforLynx", + artist: ("DaforLynx", "https://daforlynx.neocities.org/"), )), Individual(( title: "Fiesta Del Pueblo", path: "voxygen.audio.soundtrack.town.fiesta_del_pueblo", length: 96.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [], sites: [ Settlement(DesertCity), ], music_state: Activity(Explore), - artist: "Aeronic; mixed by Robotnik", + artist: ("Aeronic; mixed by Robotnik", "https://soundcloud.com/aeronic"), )), Individual(( title: "Rest Assured", path: "voxygen.audio.soundtrack.town.rest_assured", length: 189.0, - timing: Some(Day), + timing: Day, weather: None, biomes: [], sites: [ Settlement(Default), Settlement(CliffTown), + Settlement(SavannahPit), ], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), Individual(( title: "I'm Home", path: "voxygen.audio.soundtrack.town.im_home", length: 125.0, - timing: Some(Night), + timing: Night, weather: None, biomes: [], sites: [ Settlement(Default), Settlement(CliffTown), + Settlement(SavannahPit), ], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), // Cave music @@ -604,7 +641,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "DragonDee", + artist: ("DragonDee", "https://soundcloud.com/deanna-rusnock"), )), Individual(( title: "Cavernous Hollow", @@ -615,7 +652,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "GeekyGami", + artist: ("GeekyGami", "https://geekygami.newgrounds.com/audio/"), )), Individual(( title: "Saturated Hallows", @@ -626,7 +663,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "Flashbang", + artist: ("Flashbang", "https://soundcloud.com/unboundir0n-m4n"), )), Individual(( title: "Mineral Deposits", @@ -637,7 +674,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Down The Rabbit Hole", @@ -648,7 +685,7 @@ biomes: [], sites: [Cave], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), )), // Dungeon music @@ -664,7 +701,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Tiny", + artist: ("Tiny", None), )), Individual(( title: "Cobbled Halls", @@ -677,7 +714,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Crow", + artist: ("Crow", None), )), Individual(( title: "Dank Dungeon", @@ -690,7 +727,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Ruination", @@ -703,7 +740,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Vast Onslaught", @@ -716,7 +753,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "Sacred Temple", @@ -729,7 +766,7 @@ Dungeon(Old), ], music_state: Activity(Explore), - artist: "Aeronic", + artist: ("Aeronic", "https://soundcloud.com/aeronic"), )), Individual(( title: "The Undergrowth", @@ -742,7 +779,7 @@ Dungeon(Gnarling), ], music_state: Activity(Explore), - artist: "Oolnokk", + artist: ("Oolnokk", "https://soundcloud.com/walkerhallplaysthegeetar"), )), Individual(( title: "Jungle Ambient", @@ -755,7 +792,20 @@ Dungeon(Gnarling), ], music_state: Activity(Explore), - artist: "badbbad", + artist: ("badbbad", "https://soundcloud.com/tomerbarnea"), + )), + Individual(( + title: "Thrumming Waters", + path: "voxygen.audio.soundtrack.dungeon.thrumming_waters", + length: 100.0, + timing: None, + weather: None, + biomes: [], + sites: [ + Dungeon(Gnarling), + ], + music_state: Activity(Explore), + artist: ("Jeremiah Sweeney", "https://soundcloud.com/jsweeney743"), )), // Combat Music @@ -773,7 +823,7 @@ ("voxygen.audio.soundtrack.combat.barred_paths.barred_paths-loop", 54.0, Activity(Combat(High)), None), ("voxygen.audio.soundtrack.combat.barred_paths.barred_paths-end", 6.0, Transition(Combat(High), Explore), None), ], - artist: "DaforLynx", + artist: ("DaforLynx", "https://daforlynx.neocities.org/"), ), Segmented( title: "Reversal", @@ -788,7 +838,7 @@ ("voxygen.audio.soundtrack.combat.reversal.reversal-loop", 60.0, Activity(Combat(High)), None), ("voxygen.audio.soundtrack.combat.reversal.reversal-end", 4.0, Transition(Combat(High), Explore), None), ], - artist: "DaforLynx", + artist: ("DaforLynx", "https://daforlynx.neocities.org/"), ), ] ) diff --git a/assets/voxygen/audio/soundtrack/dungeon/thrumming_waters.ogg b/assets/voxygen/audio/soundtrack/dungeon/thrumming_waters.ogg new file mode 100644 index 0000000000..cc842a5538 --- /dev/null +++ b/assets/voxygen/audio/soundtrack/dungeon/thrumming_waters.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12db73e201f735cadebf55c3b8ad110993fbb05400e8eea1a562f59c36e957e9 +size 1364194 diff --git a/assets/voxygen/audio/soundtrack/overworld/torii.ogg b/assets/voxygen/audio/soundtrack/overworld/torii.ogg new file mode 100644 index 0000000000..3b1c57b717 --- /dev/null +++ b/assets/voxygen/audio/soundtrack/overworld/torii.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3d75069c3e019e6f5ac7862b664076773777f9f28ee64dda01f6695723ab0c4 +size 1907741 diff --git a/assets/voxygen/audio/soundtrack/town/into_the_mines.ogg b/assets/voxygen/audio/soundtrack/town/into_the_mines.ogg new file mode 100644 index 0000000000..34211a77ce --- /dev/null +++ b/assets/voxygen/audio/soundtrack/town/into_the_mines.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0b9c80b53c54431b5fc175b4d67212820d44eacd267ad113a15e4e8b66e196f +size 2800573 diff --git a/voxygen/src/audio/mod.rs b/voxygen/src/audio/mod.rs index 0b3869c5c8..6bfcb04266 100644 --- a/voxygen/src/audio/mod.rs +++ b/voxygen/src/audio/mod.rs @@ -541,6 +541,8 @@ impl AudioFrontend { pub fn stop_all_ambience(&mut self) { self.ambient_channels.retain(|x| Some(x).is_none()) } + pub fn stop_all_music(&mut self) { self.music_channels.retain(|x| Some(x).is_none()) } + // Sfx channels do not repopulate themselves yet pub fn stop_all_sfx(&mut self) { if let Some(audio_stream) = &self.audio_stream { diff --git a/voxygen/src/audio/music.rs b/voxygen/src/audio/music.rs index 469c19ed0c..ebd682cf0e 100644 --- a/voxygen/src/audio/music.rs +++ b/voxygen/src/audio/music.rs @@ -94,8 +94,8 @@ pub struct SoundtrackItem { /// transitions) #[serde(default)] activity_override: Option, - /// Song artist - artist: String, + /// Song artist and website + artist: (String, Option), } #[derive(Clone, Debug, Deserialize)] @@ -108,7 +108,7 @@ enum RawSoundtrackItem { biomes: Vec<(BiomeKind, u8)>, sites: Vec, segments: Vec<(String, f32, MusicState, Option)>, - artist: String, + artist: (String, Option), }, } @@ -456,7 +456,7 @@ impl MusicMgr { self.next_track_change = track.length + silence_between_tracks_seconds; if audio.music_enabled() { self.current_track = String::from(&track.title); - self.current_artist = String::from(&track.artist); + self.current_artist = String::from(&track.artist.0); } else { self.current_track = String::from("None"); self.current_artist = String::from("None"); diff --git a/voxygen/src/session/mod.rs b/voxygen/src/session/mod.rs index 786e5110d4..86143ea939 100644 --- a/voxygen/src/session/mod.rs +++ b/voxygen/src/session/mod.rs @@ -1323,6 +1323,9 @@ impl PlayState for SessionState { }; }, HudEvent::CharacterSelection => { + global_state.audio.stop_all_music(); + global_state.audio.stop_all_ambience(); + global_state.audio.stop_all_sfx(); self.client.borrow_mut().request_remove_character() }, HudEvent::Logout => {