Skip to content

Get list of artist to follow from LastFM, notify on new release with MusicBrainz API

License

Notifications You must be signed in to change notification settings

antonin-lebrard/notify-releases

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notify Releases

Notify new releases from a list of artist you follow

The list of artist to follow is got through LastFM, so you will need an account there. The list is updated each day.

Then the program will launch regular request to the MusicBrainz API to check any new release of each artist, one artist per request.

The list of new releases can be browsed through a web page that communicate with the program via HTTP requests.

Now Optional: And every 30 minutes a mail might be sent with the new releases it has found since then.

New: Every week the program will lookup all the people you follow on LastFM, get all tracks they listened to, and for each tracks listened by at least two people, will generate a 'new release' visible in the web page, or in the optional mails

What is needed to launch it :

  • The DartSDK
  • A LastFM account, and an LastFM API key you can get by filling this form LastFM API
  • Now Optional: A mail account to use to deliver the new releases (you have to know the smtp adress of the mail provider you use)
  • Now Optional: The email address of your mail account on which you want to receive the new releases mails

How to use it :

Download it somewhere, then launch the pub get command to get the dependencies at the root of the notify-releases folder:

~/Dev/notify-releases $> pub get

Then go inside the bin folder and edit the config.json file

Some explanations for each parameter are in this file

An example of this file without mail notifications enabled could be this one :

{
  "lastFMApiKey": "some long line of characters and numbers",
  "lastFMUsername": "test",
  "daysToSubtract": 30,
  "minutesUntilNextMail": 60,
  "minPlayCountToNotify": 10,
  "mailNotificationEnabled": false
}

Or an example of this file with mail notifications enabled could be this one :

{
  "lastFMApiKey": "some long line of characters and numbers",
  "lastFMUsername": "test",
  "daysToSubtract": 30,
  "minutesUntilNextMail": 60,
  "minPlayCountToNotify": 10,
  "mailNotificationEnabled": true,
  "mailSmtpHostname": "smtp.gmail.com",
  "mailSmtpPort": 465,
  "mailSmtpSecured": true,
  "mailSmtpUsername": "GmailUsername",
  "mailSmtpPassword": "GmailPassword",
  "mailAddressToContactForNewReleases": "[email protected]"
}

The Web Part

The program comes with a web part that you can use to control it, or see a more adapted list of the release you have to check.

The list itself is independent of the ones sent in mail, so each mail you receive will not delete the records on this list.

gif of the front end of the web part

How to use it

You will need to modify the web/main.dart file (link to it in github.com) to put your LastFM API key, and to put the http address of the program.

By default the program is listenning on "http://localhost:9100".

Then from the root of the project launch

~/Dev/notify-releases $> pub build

You will have a new directory created at the root: build/web, there you can launch the index.html file from any browser you want.