Exemplo n.º 1
0
		}, function( err , files ) {
			// save the file using fs module according to files array.
			playlist = files;

			file_3v2 = fs.readFileSync(playlist[0]);
			id3_3v2 = new ID3(file_3v2);
			id3_3v2.parse();
			artist = id3_3v2.get('artist');
			title = id3_3v2.get('title');
			album = id3_3v2.get('album');
			console.log(artist);
			console.log(title);
			console.log(album);

			window.updateTrackInfo(artist + ' - ' + title);

			var request = lastfm.request("album.getInfo", {
				artist: artist,
				album: album,
				handlers: {
					success: function(data) {
						console.log("Success: " + data.album.name);
						console.log("Success: " + data.album.url);
						console.log("Success: " + data.album.image[4]['#text']);
						window.updateAlbumArt(data.album.image[4]['#text']);
					},
					error: function(error) {
						console.log("Error: " + error.message);
					}
				}
			});
		});
    mp3info(path, function (error, data) {
        if (error) {
            return fn(error);
        }

        var id3 = new ID3(fs.readFileSync(path));
        id3.parse();

        var mp3data = {
            duration: Math.round(data.length),
            title: id3.get("title") || title,
            artist: id3.get("artist"),
            album: id3.get("album"),
            path: fs.realpathSync(path)
        };

        trackDao.create(mp3data, function (err) {
            if (err) {
                return fn(err);
            }

            fn();
        });

    });
Exemplo n.º 3
0
      fs.close(fd, function(error2) {

        if (error || error2) {
          logger.error("Can not read path=", infos.path, " error=", error ||
              error2);
          return callback(null);
        }

        var tags = new ID3(buffer);
        tags.parse();

        // logger.debug("Read file", infos.path);

        self._construct(rootItem, infos.path, tags, callback);
      });
Exemplo n.º 4
0
  fs.readFile(filePath, function(err, file) {
    if (err) {
      console.log("Could not read " + filePath + ": " + err);
      return;
    }
    var tags = new ID3(file);
    tags.parse();

    indexData.title = tags.get('title') === null ? '' : tags.get('title');
    indexData.artist = tags.get('artist') === null ? '' : tags.get('artist');
    indexData.album = tags.get('album') === null ? '' : tags.get('album');
    indexData.genre = tags.get('genre') === null ? '' : tags.get('genre');
    indexData.track = tags.get('track') === null ? '' : tags.get('track');
    indexData.year = tags.get('year') === null ? '' : tags.get('year');

    indexData.path = 'http://' + hostname + ':' + port + filePath;

    postToIndex(indexData);
  });
Exemplo n.º 5
0
if (argv.defaultCover) {
    defaultCover = fs.readFileSync(artv.defaultCover)
} else {
    defaultCover = fs.readFileSync(DEFAULT_COVER);
}

var items = new Array;

for (var i in filenames) {
    if (filenames[i].indexOf('.mp3', filenames[i].length - '.mp3'.length) !== -1) {
        var file = fs.readFileSync(path.join(argv.lib, filenames[i]));
    
        var id3 = new ID3(file);
        var cover;
        
        id3.parse();

        try {
            if (id3.get('picture')) {
                // resize it
                // note: webinos constraints frame size (and thus image) to 64kbytes
                var canvas = new Canvas(140, 140);
                var ctx = canvas.getContext('2d');
                var img = new Canvas.Image;
                img.src = id3.get('picture').data;
                ctx.drawImage(img, 0, 0, 140, 140);
                cover = canvas.toBuffer();
            } else {
                cover = defaultCover;
            }
        } catch (err) {