4 releases (2 breaking)
0.5.1 | Jun 9, 2024 |
---|---|
0.5.0 | Apr 4, 2024 |
0.4.0 | Dec 19, 2023 |
0.3.0 | Nov 28, 2023 |
#58 in Audio
232 downloads per month
36KB
786 lines
mpdlisten
MPD scrobbler for listenbrainz platform.
This project is in very early stages so expect lots of changes. Also it mainly expects you to use beets or similar program to tag your music beforehand. It will try to match the song anyway but it will not cache the results in anyway so it is not ideal.
If you need more mature solution (with less ListenBrainz specific features) use listenbrainz-mpd.
Features
- Submission of now playing songs
- Ability to submit feedback for your songs (Love/Hate)
- Sync weekly exploration/jams playlist that are automatically generated
- Create new exploration playlist on ListenBrainz that contains only the songs you don't already have in your library
- Sync loved songs from ListenBrainz into local playlist
- Basic support for matching your songs with MusicBrainz IDs
Installing mpdlisten
Currently there are two ways to install mpdlisten.
Install with Cargo
cargo install mpdlisten
Install with Nix flakes
This project contains nix flake so you can install it with
nix run git+https://codeberg.org/anriha/mpdlisten
or you can add it as a module to your nixos configuration.
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
mpdlisten.url = "git+https://codeberg.org/anriha/mpdlisten";
};
outputs = { nixpkgs, mpdlisten, ... }: {
nixosConfigurations."«hostname»" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ mpdlisten.nixosModules.x86_64-linux.mpdlisten ];
};
};
}
And after that you can enable it in your configuration like this
services.mpdlisten = {
enable = true;
listenbrainz = {
tokenFile = "«tokenFile»";
username = "«username»";
fetchJams = true;
fetchExploration = true;
syncLoved = true;
};
};
Configuration
To configure if you are not using nix. Use default config location, on Linux this would be $XDG_CONFIG_HOME/mpdlisten/mpdlisten.ini
or you can manually specify configuration file with command line -c location/mpdlisten.ini
.
To understand configuration file please take a look at the sample one.
Sending feedback
You can send ListenBrainz feedback with mpd channels. Easiest way is with mpc
mpc sendmessage mpdlisten love
mpc sendmessage mpdlisten hate
Dependencies
~14–26MB
~383K SLoC