A World of Warcraft addon playing custom music and sound effects when racing using the new Dragon Riding mechanic. It works with both time trials and multiplayer races.
This addon is mostly meant to be used with Spyro Flight/Speedway music and sound effects, but it also works with custom music and sound effects - sky's the limit.
This addon requires the DragonSpeedway_Music addon to work. I've separated them into two addons as a workaround for addon managers replacing the music files during update. This way you will only want to update the main DragonSpeedway addon and leave DragonSpeedway_Music outdated. You will also add music only to the DragonSpeedway_Music addon. Keep in mind that DragonSpeedway_Music will be out of date pretty fast, but it will still work fine - just load it anyway. I won't update the TOC because this will just re-trigger this update overwrite issue.
For copyright reasons, I cannot distribute the addon with Spyro music, but the code is prepared to register, name, display and play the music ingame once the end user (you) adds the appropiate music files in proper directories inside the addon. Please refer to the How to add Spyro music and How to add custom music and SFX (automatic - Windows only) OR How to add custom music and SFX (manually - all Operating Systems) sections for a tutorial. It's easy, I promise, I've tried to write down every single step. Contact me if you have trouble, I'll do my best to help.
The addon sees music files ingame thanks to the LibSharedMedia-3.0 library. This approach requires two things:
All sound files must be in either .mp3 or .ogg format. No exceptions.
The Spyro-related code in DragonSpeedway-LSM.lua file is already done - you will simply need to add the music files in the correct directories and name them as stated in the addon - no exceptions, even capitalization matters, but you can also modify the code to accept your naming conventions (why would you do that tho).
The DragonSpeedway-CustomMusic.lua file contains proper sections and tldr explanations on how to modify them to accept custom music. Either refer to them or just follow with the tutorials below. There's also a .bat file (Windows only) that autogenerates all necessary registers. All you need to do is put the files in the appropriate Custom folders, then run the .bat file once and it's done.
crystal-flight.mp3
icy-flight.mp3
night-flight.mp3
sunny-flight.mp3
wild-flight.mp3
canyon-speedway.mp3
icy-speedway.mp3
metro-speedway.mp3
ocean-speedway.mp3
and Spyro 3:
country-speedway.mp3
harbor-speedway.mp3
honey-speedway.mp3
mushroom-speedway.mp3
-- Custom music
--
-- Custom sound effects
--
but you don't have to use them if you don't want to. You can place your code at the end of the file.
12. The code has the following format:
LSM:Register("sound", <name of the music, will be displayed ingame>, [[file path to the music file]])
13. Copy-paste the aforementioned code into the opened file.
14. Replace **<name of the music, will be displayed ingame>** with the name of the music/sound - it can be anything you want (no special characters!) and will be displayed in the game.
15. Replace **file path to the music file** with the file path to your music/sound file. It **HAS TO** follow the following format for **music** files:
Interface\Addons\DragonSpeedway_Music\Music\Custom\name-of-music-file.mp3
and this format for **sound** files:
Interface\Addons\DragonSpeedway_Music\Sounds\Custom\name-of-sound-file.mp3
16. Your code line should look similar to these examples:
LSM:Register("sound", "Crystal Flight", [[Interface\Addons\DragonSpeedway_Music\Music\Custom\crystal-flight.mp3]])
LSM:Register("sound", "Tu tu ru tuuu", [[Interface\Addons\DragonSpeedway_Music\Sounds\Custom\fanfare-sound.mp3]])
17. Repeat steps **13, 14, 15** for every single music/sound file you've added.
18. RESTART THE GAME! These files won't be visible with a simple */reload*, you need to restart the entire game client!
19. You're done, your custom music should now be displayed in addon's settings in the game. Pick the ones you like, you can also mute certain sounds if you want to, for example, play music without any sound effects.
## Authors
* [Shushuda](https://github.com/Shushuda)
## License
This project is licensed under the MIT License - see the [LICENSE.txt](LICENSE.txt) file for details
## Acknowledgements
* [Elkano](https://www.curseforge.com/members/elkano/) for [LibSharedMedia-3.0](https://www.curseforge.com/wow/addons/libsharedmedia-3-0)
* [nevcairiel](https://www.curseforge.com/members/nevcairiel/) for [CallbackHandler-1.0](https://www.curseforge.com/wow/addons/callbackhandler)
* Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel and joshborke for [LibStub](https://www.curseforge.com/wow/addons/libstub)
* [WoWpedia](https://wowpedia.fandom.com/) for their knowledge base and tutorials
* [Mundocani](https://github.com/Mundocani) for MC2SchedulerLib