I recommend reading the Technical Explanation before continuing.
There are adapter libraries available for C# and Python.
The C# Library works with .NET Framework 4.8, .NET Core and .NET 6 and newer.
It does not have built-in support for Desktop Players. Please see the source of WebNowPlaying-Redux-Rainmeter for its implementation.
Refer to C# Library for usage.
The python library has built-in support for Desktop Players
Refer to Python Library for usage.
While it's possible to create adapters in other languages, you would have to implement the functionality of the adapter libraries yourself, which can be very error-prone.
Testing your adapter
You can connect the browser extension to your adapter by clicking "Add custom adapter" in the extension Settings.
Submitting your adapter
- Must exclusively use one of the official adapter libraries for communication
- Must be open-sourced on GitHub
- Executables, plugins or scripts must be published via GitHub releases
- GitHub releases must be tagged as "vmajor.minor.patch" or "major.minor.patch"
- Must use a unique port, which cannot be changed after submitting your adapter.
- GitHub repository muts be named "WebNowPlaying-Redux-name" e.g., "WebNowPlaying-Redux-Rainmeter".
If your adapter meets the requirements, open an issue here using the following template:
Issue Title: Request: Add <Adapter Name> --- Name: <Adapter Name> GitHub: <GitHub Link> Description: <Short description of what your adapter is used for and a justification for it to be listed in the extension>