An open API service indexing awesome lists of open source software.

https://github.com/xprnvd/yamaha-lastfm-scrobbler

Yamaha MusicCast LastFM Scrobber in GoLang
https://github.com/xprnvd/yamaha-lastfm-scrobbler

dlna go golang jellyfin lastfm lastfm-api music musiccast plex yamaha

Last synced: 3 months ago
JSON representation

Yamaha MusicCast LastFM Scrobber in GoLang

Awesome Lists containing this project

README

          

# Yamaha MusicCast LastFM DLNA Scrobber in GoLang

## What

Reads DLNA playback by making request to MusicCast server, and sends scrobbing data to LastFM account with minimal stdout.

## Why

I use plex for my music, and use it's last.fm integration for music discovery. For MusicCast, I use it's DLNA server, which does not have last.fm integration. So I needed to integrate the DLNA player with my last.fm account to get all play data.

## How

Current playing artist and track collection happens from MusicCast server. The application then connects to LastFM API via api.last.fm, and sends scrobble data.

### Required interaction

IP address of MusicCast server, LastFM API key pair generation and authorization.

Create api credentials:

Documentation on lastfm api:

## Build & Run

After installing go, download the release or run the following command to build from source:
```go build -o yls src/*.go```

Run with tmux or zellij for a detached session

## Output

```txt
[host ~]# yamaha-lastfm-scrobbler/bin/yls
IP Address: 192.168.0.243
API Key: xxxx
API Secret: xxxx

Please go to http://www.last.fm/api/auth/?api_key=xxxx&token=xxxx to authorize this app

Once authorized type 'yes' to continue, or 'no' to exit

yes

Constant checks every 60 Seconds. No further output except for errors. Review activity on last.fm console
```