Show All Projects
I've historically been pretty bad naming my projects and I think this one perfectly falls into that zone where you can tell I tried to come up with a name... it just didn't work. It was supposed to be a mix of genre and genius.

The idea behind this program was to use the Last.FM API to create genre-based playlists. So you would scan music that you had on your hard drive and based on the mode selected it would get information from Last.FM or the file itself to decide which playlists the track should end up in. As an alternate to creating playlists with this information, the program could instead create folders where it hardlinked the original files. Better known in Linux, but possible in Windows as well, hardlinking basically means that I could copy the song a folder for each genre without using any additional space on the hard drive.

These are the modes of classification possible:
  • artist/tags (Last.FM) - Adds the song to playlists by the top 3 tags used to describe the artist (result is cached per artist, thus faster).
  • track/tags (Last.FM) - Adds the song to playlists by the top 3 tags used to describe the track.
  • artist/toptracks (Last.FM) - Adds the song to the playlist if it meets a certain threshhold of popularity in the artist's top songs.
  • year (ID3 Tag) - Adds the song to a playlist by the year in its ID3 Tag.
  • genre (ID3 Tag) - Adds the song to a playlist by the genre in its ID3 Tag.
The program worked and the results were amusing, but the tags pulled from Last.FM were often uninteresting, which limited the use of the program. If a track was mainstream, "Rock" was almost certainly one of the top tags (seemingly without regard to the kind of music). If a track was less mainstream, it was less reliable that you would get good tags. It did seem to have a sweet spot that worked well with Electronic music.




Loading Time: Base Classes  0.0019
Controller Execution Time ( Project / Id )  0.0119
Total Execution Time  0.0139
No GET data exists
879,192 bytes
No POST data exists
  DATABASE:  smkprojects (Project:$db)   QUERIES: 5 (0.0039 seconds)  (Hide)
0.0005   SELECT *
FROM `ProjectResources`
WHERE `ProjectID` = '39' 
0.0004   SELECT *
FROM `Projects`
WHERE `ProjectID` = '39' 
0.0004   SELECT *
FROM `ProjectTags`
WHERE `ProjectID` = '39' 
0.0013   SELECT TagCOUNT(1) AS cnt
WHERE `Tag` != 'Private'
0.0012   SELECT TagCOUNT(1) AS cnt
WHERE `Tag` != 'Private'