- Notifications
You must be signed in to change notification settings - Fork8
an experimental client mod for TIDAL
License
uwu/neptune
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
neptune is an experimental client mod for TIDAL that provides a simple plugin and theme system.
you can download the neptune installerhere.
Warning
TIDAL-HIFI right now is colliding with neptune when trying to login
create a nix-shell with tidal-hifi and login once, after that you can use the neptune package
you install this package as an overlay
add as an input in your flakes:
inputs={neptune={url="github.com:uwu/neptune";inputs.nixpkgs.follows="nixpkgs";}};
configure your package system to use this overlay:
nixpkgs.overlays=[inputs.neptune.overlays.default];
and then just add neptune as a package:
enivronment.systemPackages=[pkgs.neptune];
After that you can find TIDAL-HIFI as program in your system
neptune exfiltrates every single action one can do in TIDAL into an easily accessible API found onwindow.neptune.actions
.
TIDAL is built onRedux and neptune's actions are simply exfiltrated Redux actions, which are explained inthis document on Redux's website.
neptune includes full type definitions for all of TIDAL's actions.
To get the global Redux store's state, you can usewindow.neptune.store.getState()
. The return value ofgetState()
will change as a direct result of actions.
To intercept and subscribe to actions, you can usewindow.neptune.intercept("category/ACTION_NAME", ([payload]) => {})
, with the first argument being the name (or an array of names) of the action(s) to subscribe to, and the second argument being a function that gets called upon that action being ran. If you returntrue
the action will automatically be cancelled.
A template for making neptune plugins is availablehere.