Skip to content

Instantly share code, notes, and snippets.

@cnandreu
Last active December 10, 2015 12:28
Show Gist options
  • Save cnandreu/4433914 to your computer and use it in GitHub Desktop.
Save cnandreu/4433914 to your computer and use it in GitHub Desktop.
var file = require('file'),
fs = require('fs'),
musicmetadata = require('musicmetadata'),
rootDir = '/Users/carlosmarx/musicfiles',
SPACE = '\n',
getMetaData = function (file, cb) {
var result = {},
parser = new musicmetadata(fs.createReadStream(file));
parser.on('metadata', function(resultObj) {
result = resultObj;
});
parser.on('done', function(err) {
if (err) {
cb(err);
} else {
parser = null;
cb(null, result);
}
});
};
file.walk(rootDir, function (err, dirPath, dirs, files) {
if (err) return console.log('Err:', err);
var len = files.length;
while (len--) {
var currentFile = files[len];
if(currentFile.split('.').pop() === 'mp3') {
getMetaData(currentFile, function (err, metadata) {
if (err) return console.log('Err:', err);
console.log(SPACE, currentFile, SPACE, metadata);
});
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment