Total War: WARHAMMER II

Total War: WARHAMMER II

25 ratings
libsneedio, a library that provides custom music and audio (experimental)
   
Award
Favorite
Favorited
Unfavorite
Tags: mod, UI
File Size
Posted
Updated
225.433 KB
25 Mar, 2022 @ 9:28pm
14 May, 2022 @ 6:27pm
7 Change Notes ( view )

Subscribe to download
libsneedio, a library that provides custom music and audio (experimental)

Description
libsneedio is a library that provides scripting API to include custom music and audio within the game.

*Please read this description thoroughly*

if you get following message:
"Cannot check native code version, I refuse to work with unknown DLL version"
"libsneedio.dll version mismatch against sneedio, current version is _ expected version is _."
Install the latest dependencies here: https://github.com/admiralnelson/warhammer2-libsneedio/releases
"Failed to load libsneedio, please check your mod installation. Make sure you extracted the 7zip archive into Warhammer2.exe folder"
You must extract the 7z content into the game folder.


**Full install guide is here: https://github.com/admiralnelson/warhammer2-libsneedio/blob/master/doc/install.md **

**To use this library you need to download native code libraries from my github release page:
https://github.com/admiralnelson/warhammer2-libsneedio/releases/tag/version0.6.3
head over to For.Steam.Release.7z file and extract it to your Warhammer2.exe directory. This is the secret sauce of the library. I do not include the binaries on the pack files, this is intended to maintain binaries trust.**

**This mod doesn't come with music, either create your own playlist using provided lua API or download a sample pack in github release page. This is strictly library mod that provides functionality for other mods.**

* Starting guide to make your own music and unit voice pack mod: https://github.com/admiralnelson/warhammer2-libsneedio/blob/master/doc/modder-getting-started.md *

How does it work?
It uses native code via `require` function to bridge SDL media player and lua script, this code can load audio from local files and youtube links.

How do you use this library (for modders)?
Visit https://github.com/admiralnelson/warhammer2-libsneedio/blob/master/doc/sneedio.md for library API documentations and sample

What it can do?
It can apply voices for your custom units in campaign, battle, and diplomacy. It can also load custom music to your liking. No more .wem files editing, just a simple .mp3 file or Youtube links, and couple lines of lua scripts.

Why there are .exe in your release page?
That will be used to download youtube links and convert them to .mp3 files.
Visit:
- https://github.com/yt-dlp/yt-dlp (yt-dlp.exe, downloaded from: https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe)
- https://github.com/yt-dlp/FFmpeg-Builds (ffmpeg.exe, downloaded from: https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip)
for more information.

Why there are .dlls in your release page?
These will be used to load codec and interface with the lua script.
libsneedio.dll will bridge the gap between SDL and @sneedio_loader.lua script
These are third party libraries I use:
- https://github.com/NotAPenguin0/audeo/tree/123c83272e619453cf7175a4882e72639882a9ca
- https://github.com/libsdl-org/SDL/tree/297ce148e66091f190b3c462fda2a6f8b799a3fd
- https://github.com/libsdl-org/SDL_mixer/tree/37ddea8b3e29160e5b591037a5742533a14d1372
- https://github.com/rangercyh/lua5.1/tree/bd830426035f6db4d02bff3088f35299637b0ef5

How do you uninstall the mod?
Unsubscribe and run uninstall-libsneedio.bat. You may also want to remove yt-dlp-audio and yt-dlpbin folder.

Does it work on linux?
No, the libraries are compiled as win64 DLLs and executables. Play using proton to get around this.

To enable output you need to add your system environment variable: SNEEDIO_DEBUG with a value of 1 or edit @sneedio_loader.lua and set SNEEDIO_DEBUG = true;

Source code and non steam version will always be available at
https://github.com/admiralnelson/warhammer2-libsneedio

Please report bugs on my github issue page, so I can track bugs easily.

To enable debug output, download this mod https://steamproxy.net/sharedfiles/filedetails/?id=1271877744&searchtext=logs. The logs can be found on Warhammer2.exe directory.
Also you need to edit your system environment and add new entry SNEEDIO_DEBUG with value of 1. https://media.discordapp.net/attachments/732202039484088344/957526200157347840/unknown.png?width=1909&height=1282
52 Comments
TheHonoredPerson-333 9 Apr, 2023 @ 12:12pm 
Is it worth waiting for wh3?
Igor Kool 21 Aug, 2022 @ 5:31am 
based mod and groundwork laid, hoping to see it for wh 3
Bot easy  [author] 2 Jul, 2022 @ 11:16am 
>I've redownloaded the 0.6.3 for steam release from your github, but no change. What gives?

There was a bug in that release, I will push new update sometimes next week.
mailasdqwe 25 Jun, 2022 @ 1:42pm 
Hey, mate! Download version 0.6.3, unpacked it into my WH2 folder but it's giving me an error:
libsneedio.dll version mismatch against sneedio. current version is a0.6.4, expected version is a0.6.3.
I've redownloaded the 0.6.3 for steam release from your github, but no change. What gives?
Spartan.117 23 Jun, 2022 @ 3:37am 
it does work for troy?
Bot easy  [author] 12 May, 2022 @ 5:53pm 
Some script may need refactor and also reimplement cursor detection function. Hopefully it will be quick.
Xenon 11 May, 2022 @ 2:31am 
hey, i wonder how much work would it require to make it work in wh3?
Bot easy  [author] 22 Apr, 2022 @ 7:45am 
@mlgundling glad my video can help you.
Neone8786 21 Apr, 2022 @ 9:00pm 
I understand what I was going wrong! I have it in my archive, but I'm struggling to copy it into the game. I simply don't have it in my folders like you do, I'll look up some guides to try to help me. Thank you so much.
Bot easy  [author] 19 Apr, 2022 @ 9:48pm 
I will try to implement such a feature in the next iteration.