Skip to content

erblast/lastify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lastify

Lastify allows you to generate spotify playlists based on chart data of lastfm user accounts. It is intended for lastfm users that regularly scrooble to their lastfm accounts and also use spotify. Lastify not only collects information on music scroobled to the account but also on music similar to what has been scroobled. To this end it uses the lastfm, musicbrainz and spotify APIs.

Playlists can be generated by filtering and sorting the data collected. Specifically: tags (music genre), user plays ( played vs unplayed), first release date and interest score (based on similarity links between artists and user plays).

The programm is in development:

see wiki for detailed description: https://github.com/erblast/lastify/wiki

What works:

Run: Download repository and  go to controler.py set global path variable to desired database location and 
run in python 2.7.this opens a fully functional GUI
  
Enter user details and settings press start loading, this will fill up the database, leaving everything 
at the default setting loading should finish in 15-30 min
  
Select the filter tab and start adding filters, press 'pass items to writer'
  
Select the writer tab, adjust sorting parameters and the number of items per artist in playlist. 
Click on 'write playlist to generate two text files one if a list of all playlist items and one 
with the spotify code.
  
Copy spotify code into clipboard and switch to the spotify desktop software. Create a new playlist and 
paste the spotify code

Recommended database browser: http://sqlitebrowser.org/

To do:

Add a tag word cloud, a release date graph and a plays vs interest score graph

Database access can be quite slow for many entries, in the future updating tagfrequency data after 
adding a tag will be optional

It will be optional to bypass writer loosing the playlist preview and some sorting functionality

Filtermanager for tracks and albums will be put in two seperate threads, album filtermanager will 
only be loaded when selected

Further optimise API calls by creating more subthreads

Optimise calling to musicbrainz API, server is often busy, when server is busy release dates are 
currently markes as unavailable

Optimise release dates and i_score calculations, occasionally there is no release date given for 
artist but for some of its tracks. Sometimes there is an i_score for a track but not for the artist

About

uses lastfm API to generate Spotify Playlists

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages