Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Finds songs that you have listened more than 3 times from and pipes a new line delimited JSON stream of categorized by album
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This is nodejs module or script that gets songs of a user from that have been listened more than 3 times and outputs them categorized by album.

How to get

git clone git://
cd song-finder
npm install

How to use

Just execute it with node, or use it from a module.

In terminal

When first time running it asks for username and api, and saves it to a local config.json file. It pipes each album as a JSON object, each delimited by a new line character.

node find.js

or in node

Just give it an object having username and api and it returns you a full featured readable stream of album javascript objects.

var songFiner = require('song-finder');

    username : 'AwesomeGuy',
    api : '123123sdnkfjdnslolz234this343is23my2api'
    .on('error', function (e) {
           throw e;

Each album object contains the following properties.

  • name String
  • artist String
  • tracks Array<String>

Note that this module uses sugar module and it extends Object prototypes(in a cool way, completely compatible, no worries). If you require it, you project Object prototypes will be extended. If you think its not cool, tell me I change it(probably will use lodash instead, but only if there's a demand for it.)

Same thing will go to the fact that's been written with coffee script. I can change it to js, if there's a demand.


Why streams and all the http abuse?

Becuase I don't wanna run out of memory coz some kid listened to a lot of songs! Streams are cool and fast(somtimes). And I wanted to play with some of @dominictarr awesome modules.

Something went wrong with that request. Please try again.