Ensures that if a user installs a "SharedMedia" addon, all other addons utilizing LibMediaProvider can immediately access those new assets without the developer needing to update their code. Key Features and Evolution
A secondary add-on (such as Advanced Nameplates or a combat tracker) queries LibMediaProvider for a list of available assets of a specific type (e.g., "font" or "statusbar" ).
: You are missing the development package. Install libmediaprovider-dev or libmediaprovider-devel . Developing with libmediaprovider-1.0
Sometimes, a Flatpak application will play audio, but your desktop's hardware media keys (Play/Pause) or top-panel media widget won't respond. This often points to a breakdown between the app's internal libmediaprovider hooks and the host system's D-Bus permissions.
that allows different add-ons to share media assets like fonts, textures, and sounds. If you are an add-on user, you typically need it installed for your UI mods to look correct. If you are a developer, it is the standard way to register custom assets for the community to use. For Players: Installation & Setup libmediaprovider-1.0
As of recent updates (version 1.1 r34 and later), the addon name has officially shifted to , and developers are encouraged to update their ## DependsOn manifest tags to reflect this change for better console compatibility. LibMediaProvider : Libraries : Elder Scrolls Online AddOns
LibMediaProvider-1.0 acts as a middleman. It eliminates these flaws by establishing a unified registry where an asset is loaded once and shared globally across the entire UI layer. Evolution and the Name Change: 1.0 vs. Modern Releases
Originally, older versions of the library relied on LibStub , a standard version-handling library ubiquitous in early MMO modding. Developers used to invoke the library like this: local LMP = LibStub:GetLibrary("LibMediaProvider-1.0") Use code with caution.
| Operation | libmediaprovider-1.0 | Raw OS APIs | |-----------|----------------------|--------------| | Enumerate 5000 local images (cold cache) | 1.2 sec | 0.8 sec | | Extract metadata from 1000 MP3s | 2.4 sec | 1.9 sec (parallel ffprobe ) | | First scan of network folder (SMB, 2000 files) | 8.1 sec | 6.5 sec | | Incremental change detection (100 new files) | 0.09 sec | 0.05 sec | Ensures that if a user installs a "SharedMedia"
LibMediaProvider is readily available on addon websites like ESOUI . Download the latest version of LibMediaProvider.
: Decouples the user interface logic from visual assets.
(Note: Using LibMediaProvider without a version number ensures your addon uses the latest available version, as discussed in the evolution of the library). Registering New Media
local LMP = LibMediaProvider local myTexture = LMP:Fetch(LMP.MediaType.TEXTURE, "MyCustomTexture") Use code with caution. Why LibMediaProvider-1.0 Matters Install libmediaprovider-dev or libmediaprovider-devel
, who took over the project to provide live updates and ensure compatibility with modern versions of ESO. Deprecation of LibStub : Since version , the library has moved away from using
Most developers combine LibMediaProvider with LibAddonMenu-2.0 to present user-friendly dropdown lists. This gives players a scrollable list of all registered fonts or status bars installed across their entire suite of addons:
solves this through a global media registration registry.
(ESO), designed to streamline how custom visual and audio media are shared across different player-made add-ons. Origin and Purpose The library was inspired by LibSharedMedia-3.0 World of Warcraft
. It is heavily inspired by the "LibSharedMedia" library used in World of Warcraft. Elder Scrolls Online AddOns For General Players If an add-on you installed (like Advanced Nameplates