Scotty
Scotty transfers your listens/scrobbles and favorite tracks between various music listen tracking and streaming services.
Note: This project is currently work in progress. While the basics are working there are many loose ends and there is no documentation except for this file yet. Use at your own risk.
Example use cases
- Submit listens from ListenBrainz to Maloja or Last.fm
- Transfer loved tracks from Funkwhale to ListenBrainz
- Submit listens stored in a Rockbox
.scrobbler.log
file to ListenBrainz, Last.fm or Maloja
- Store your favorite tracks from Deezer as a JSPF playlist
Installation
Scotty is a command line utility written in Go. Currently the easiest way to get Scotty is by installing it from source with the following command:
go install go.uploadedlobster.com/scotty@latest
This requires go
to be installed on your systems. You can get it from https://go.dev/dl/ .
In the future pre-built binary releases of Scotty will also be made available.
Configuration
Scotty requires the configuration of the services in a configuration file in TOML format. See scotty.example.toml for details.
Usage
Run scotty --help
for command line help.
Supported backends
The following table lists the available backends and the currently supported features.
Backend |
Listens Export |
Listens Import |
Loves Export |
Loves Import |
deezer |
✓ |
⨯ |
✓ |
- |
dump |
⨯ |
✓ |
⨯ |
✓ |
funkwhale |
✓ |
⨯ |
✓ |
- |
jspf |
- |
✓ |
- |
✓ |
lastfm |
- |
- |
- |
- |
listenbrainz |
✓ |
✓ |
✓ |
✓ |
maloja |
✓ |
✓ |
⨯ |
⨯ |
scrobbler-log |
✓ |
✓ |
⨯ |
⨯ |
spotify |
✓ |
⨯ |
✓ |
- |
subsonic |
⨯ |
⨯ |
✓ |
- |
✓ implemented - not yet implemented ⨯ unavailable / not planned
Contribute
The source code for Scotty is available on SourceHut. To report issues or feature requests please create a ticket.
Patches can be submitted to the mailing list ~phw/musicbrainz@lists.sr.ht. You can clone the repository directly on SourceHut and submit your changes with the "Prepare patchset" button. Please see SourceHut's documentation for sending patches upstream for details.
License
Scotty © 2023 Philipp Wolfer phw@uploadedlobster.com
Scotty is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Scotty is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Scotty. If not, see https://www.gnu.org/licenses/.
See COPYING for details.
Some source files in Scotty are licensed under the MIT license. Please see the license notice in the headers of the individual files for more information.