node-nde

1.1.2 • Public • Published

node-nde

Winamp Media Library / Nullsoft Database Engine (NDE) reader

Use this library to read Winamp's Media Library database. Extract ratings, etc.

Install

$ npm i node-nde

Usage

const path = require('path');
const NDE = require('node-nde');

const ndeReader = NDE.load('main.dat', 'main.idx');

let library = ndeReader.readAll();

Note: main.dat and main.idx can be found in Winamp's Plugins\ml folder.

Example of the result of readAll():

[
  {
    filename: 'C:\\music\\song.mp3',
    title: 'Title',
    artist: 'Artist',
    year: 1986,
    genre: 'Genre',
    comment: '',
    length: 180, // length in sec
    type: 0,
    lastupd: '2016-01-04T21:47:39.000Z',
    lastplay: '2016-01-14T21:34:09.000Z',
    rating: 3,
    playcount: 32,
    filetime: '2010-11-21T14:37:32.000Z',
    filesize: 0,
    bitrate: 256,
    dateadded: '2016-01-04T21:47:39.000Z'
  },
  ...
]

An entry object may contain these properties:

filename title artist album year genre comment trackno length type lastupd lastplay rating tuid2 playcount filetime filesize bitrate disc albumartist replaygain_album_gain replaygain_track_gain publisher composer bpm discs tracks ispodcast podcastchannel podcastpubdate GracenoteFileID GracenoteExtData lossless category codec director producer width height mimetype dateadded

What if I don't have an index (.idx) file?

node-nde can attempt to read the contents of the .dat file if no path to an index file is specified!

const path = require('path');
const NDE = require('node-nde');

const ndeReader = NDE.load('main.dat');

let library = ndeReader.readAll();

Credits

This library's initial version was based on neuralys/nde (PHP).

Package Sidebar

Install

npm i node-nde

Weekly Downloads

2

Version

1.1.2

License

MIT

Unpacked Size

8.68 kB

Total Files

4

Last publish

Collaborators

  • wiiseguy