New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

music-metadata

Package Overview
Dependencies
Maintainers
1
Versions
270
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

music-metadata - npm Package Compare versions

Comparing version 0.8.4 to 0.8.5

168

lib/id3v2/ID3v24TagMap.js

@@ -8,99 +8,103 @@ "use strict";

// id3v2.3
TIT2: 'title',
TPE1: 'artist',
'TXXX:Artists': 'artists',
TPE2: 'albumartist',
TALB: 'album',
TDRV: 'date',
TIT2: "title",
TPE1: "artist",
"TXXX:Artists": "artists",
TPE2: "albumartist",
TALB: "album",
TDRV: "date",
/**
* Original release year
*/
TORY: 'originalyear',
'COMM:description': 'comment',
TPOS: 'disk',
TCON: 'genre',
APIC: 'picture',
TCOM: 'composer',
'USLT:description': 'lyrics',
TSOA: 'albumsort',
TSOT: 'titlesort',
TOAL: 'originalalbum',
TSOP: 'artistsort',
TSO2: 'albumartistsort',
TSOC: 'composersort',
TEXT: 'lyricist',
'TXXX:Writer': 'writer',
TPE3: 'conductor',
TORY: "originalyear",
"COMM:description": "comment",
TPOS: "disk",
TCON: "genre",
APIC: "picture",
TCOM: "composer",
"USLT:description": "lyrics",
TSOA: "albumsort",
TSOT: "titlesort",
TOAL: "originalalbum",
TSOP: "artistsort",
TSO2: "albumartistsort",
TSOC: "composersort",
TEXT: "lyricist",
"TXXX:Writer": "writer",
TPE3: "conductor",
// 'IPLS:instrument': 'performer:instrument', // ToDo
TPE4: 'remixer',
'IPLS:arranger': 'arranger',
'IPLS:engineer': 'engineer',
'IPLS:producer': 'producer',
'IPLS:DJ-mix': 'djmixer',
'IPLS:mix': 'mixer',
TPUB: 'label',
TIT1: 'grouping',
TIT3: 'subtitle',
TRCK: 'track',
TCMP: 'compilation',
POPM: '_rating',
TBPM: 'bpm',
TMED: 'media',
'TXXX:CATALOGNUMBER': 'catalognumber',
'TXXX:MusicBrainz Album Status': 'releasestatus',
'TXXX:MusicBrainz Album Type': 'releasetype',
TPE4: "remixer",
"IPLS:arranger": "arranger",
"IPLS:engineer": "engineer",
"IPLS:producer": "producer",
"IPLS:DJ-mix": "djmixer",
"IPLS:mix": "mixer",
TPUB: "label",
TIT1: "grouping",
TIT3: "subtitle",
TRCK: "track",
TCMP: "compilation",
POPM: "_rating",
TBPM: "bpm",
TMED: "media",
"TXXX:CATALOGNUMBER": "catalognumber",
"TXXX:MusicBrainz Album Status": "releasestatus",
"TXXX:MusicBrainz Album Type": "releasetype",
/**
* Release country as documented: https://picard.musicbrainz.org/docs/mappings/#cite_note-0
*/
'TXXX:MusicBrainz Album Release Country': 'releasecountry',
"TXXX:MusicBrainz Album Release Country": "releasecountry",
/**
* Release country as implemented // ToDo: report
*/
'TXXX:RELEASECOUNTRY': 'releasecountry',
'TXXX:SCRIPT': 'script',
TLAN: 'language',
TCOP: 'copyright',
WCOP: 'license',
TENC: 'encodedby',
TSSE: 'encodersettings',
'TXXX:BARCODE': 'barcode',
TSRC: 'isrc',
'TXXX:ASIN': 'asin',
'TXXX:originalyear': 'originalyear',
'UFID:http://musicbrainz.org': 'musicbrainz_recordingid',
'TXXX:MusicBrainz Release Track Id': 'musicbrainz_trackid',
'TXXX:MusicBrainz Album Id': 'musicbrainz_albumid',
'TXXX:MusicBrainz Artist Id': 'musicbrainz_artistid',
'TXXX:MusicBrainz Album Artist Id': 'musicbrainz_albumartistid',
'TXXX:MusicBrainz Release Group Id': 'musicbrainz_releasegroupid',
'TXXX:MusicBrainz Work Id': 'musicbrainz_workid',
'TXXX:MusicBrainz TRM Id': 'musicbrainz_trmid',
'TXXX:MusicBrainz Disc Id': 'musicbrainz_discid',
'TXXX:ACOUSTID_ID': 'acoustid_id',
'TXXX:Acoustid Id': 'acoustid_id',
'TXXX:Acoustid Fingerprint': 'acoustid_fingerprint',
'TXXX:MusicIP PUID': 'musicip_puid',
'TXXX:MusicMagic Fingerprint': 'musicip_fingerprint',
WOAR: 'website',
"TXXX:RELEASECOUNTRY": "releasecountry",
"TXXX:SCRIPT": "script",
TLAN: "language",
TCOP: "copyright",
WCOP: "license",
TENC: "encodedby",
TSSE: "encodersettings",
"TXXX:BARCODE": "barcode",
TSRC: "isrc",
"TXXX:ASIN": "asin",
"TXXX:originalyear": "originalyear",
"UFID:http://musicbrainz.org": "musicbrainz_recordingid",
"TXXX:MusicBrainz Release Track Id": "musicbrainz_trackid",
"TXXX:MusicBrainz Album Id": "musicbrainz_albumid",
"TXXX:MusicBrainz Artist Id": "musicbrainz_artistid",
"TXXX:MusicBrainz Album Artist Id": "musicbrainz_albumartistid",
"TXXX:MusicBrainz Release Group Id": "musicbrainz_releasegroupid",
"TXXX:MusicBrainz Work Id": "musicbrainz_workid",
"TXXX:MusicBrainz TRM Id": "musicbrainz_trmid",
"TXXX:MusicBrainz Disc Id": "musicbrainz_discid",
"TXXX:ACOUSTID_ID": "acoustid_id",
"TXXX:Acoustid Id": "acoustid_id",
"TXXX:Acoustid Fingerprint": "acoustid_fingerprint",
"TXXX:MusicIP PUID": "musicip_puid",
"TXXX:MusicMagic Fingerprint": "musicip_fingerprint",
WOAR: "website",
// id3v2.4
// ToDo: In same sequence as defined at http://id3.org/id3v2.4.0-frames
TDRC: 'date',
TYER: 'year',
TDOR: 'originaldate',
TDRC: "date",
TYER: "year",
TDOR: "originaldate",
// 'TMCL:instrument': 'performer:instrument',
'TIPL:arranger': 'arranger',
'TIPL:engineer': 'engineer',
'TIPL:producer': 'producer',
'TIPL:DJ-mix': 'djmixer',
'TIPL:mix': 'mixer',
TMOO: 'mood',
"TIPL:arranger": "arranger",
"TIPL:engineer": "engineer",
"TIPL:producer": "producer",
"TIPL:DJ-mix": "djmixer",
"TIPL:mix": "mixer",
TMOO: "mood",
// additional mappings:
SYLT: 'lyrics',
TSST: 'discsubtitle',
TKEY: 'key',
COMM: 'comment',
TOPE: 'originalartist',
SYLT: "lyrics",
TSST: "discsubtitle",
TKEY: "key",
COMM: "comment",
TOPE: "originalartist",
// Windows Media Player
'PRIV:AverageLevel': 'averageLevel',
'PRIV:PeakLevel': 'peakLevel'
"PRIV:AverageLevel": "averageLevel",
"PRIV:PeakLevel": "peakLevel",
// Discogs
"TXXX:DISCOGS_RELEASE_ID": "discogs_release_id",
"TXXX:CATALOGID": "catalognumber",
"TXXX:STYLE": "genre"
};

@@ -107,2 +107,3 @@ /// <reference types="node" />

originalartist: string;
discogs_release_id?: number;
}

@@ -109,0 +110,0 @@ export interface IFormat {

@@ -1,2 +0,1 @@

/* jshint maxlen: 300 */
'use strict';

@@ -247,2 +246,5 @@ Object.defineProperty(exports, "__esModule", { value: true });

break;
case 'discogs_release_id':
value = typeof value === 'string' ? parseInt(value, 10) : value;
break;
default:

@@ -249,0 +251,0 @@ }

@@ -117,2 +117,3 @@ "use strict";

case 'audio/mp4':
case 'audio/x-aac':
return es6_promise_1.Promise.resolve(new MP4Parser_1.MP4Parser());

@@ -123,2 +124,3 @@ case 'video/x-ms-asf':

case 'audio/flac':
case 'audio/x-flac':
return es6_promise_1.Promise.resolve(new FlacParser_1.FlacParser());

@@ -125,0 +127,0 @@ case 'audio/ogg':

export declare type TagType = 'vorbis' | 'ID3v1.1' | 'ID3v2.2' | 'ID3v2.3' | 'ID3v2.4' | 'APEv2' | 'asf' | 'iTunes MP4';
export declare type CommonTag = 'track' | 'disk' | 'year' | 'title' | 'artist' | 'artists' | 'albumartist' | 'album' | 'date' | 'originaldate' | 'originalyear' | 'comment' | 'genre' | 'picture' | 'composer' | 'lyrics' | 'albumsort' | 'titlesort' | 'work' | 'artistsort' | 'albumartistsort' | 'composersort' | 'lyricist' | 'writer' | 'conductor' | 'remixer' | 'arranger' | 'engineer' | 'producer' | 'djmixer' | 'mixer' | 'label' | 'grouping' | 'subtitle' | 'discsubtitle' | 'totaltracks' | 'totaldiscs' | 'compilation' | '_rating' | 'bpm' | 'mood' | 'media' | 'catalognumber' | 'show' | 'showsort' | 'podcast' | 'podcasturl' | 'releasestatus' | 'releasetype' | 'releasecountry' | 'script' | 'language' | 'copyright' | 'license' | 'encodedby' | 'encodersettings' | 'gapless' | 'barcode' | 'isrc' | 'asin' | 'musicbrainz_recordingid' | 'musicbrainz_trackid' | 'musicbrainz_albumid' | 'musicbrainz_artistid' | 'musicbrainz_albumartistid' | 'musicbrainz_releasegroupid' | 'musicbrainz_workid' | 'musicbrainz_trmid' | 'musicbrainz_discid' | 'acoustid_id' | 'acoustid_fingerprint' | 'musicip_puid' | 'musicip_fingerprint' | 'website' | 'performer:instrument' | 'peakLevel' | 'averageLevel' | 'notes' | 'key' | 'originalalbum' | 'originalartist';
export declare type CommonTag = 'track' | 'disk' | 'year' | 'title' | 'artist' | 'artists' | 'albumartist' | 'album' | 'date' | 'originaldate' | 'originalyear' | 'comment' | 'genre' | 'picture' | 'composer' | 'lyrics' | 'albumsort' | 'titlesort' | 'work' | 'artistsort' | 'albumartistsort' | 'composersort' | 'lyricist' | 'writer' | 'conductor' | 'remixer' | 'arranger' | 'engineer' | 'producer' | 'djmixer' | 'mixer' | 'label' | 'grouping' | 'subtitle' | 'discsubtitle' | 'totaltracks' | 'totaldiscs' | 'compilation' | '_rating' | 'bpm' | 'mood' | 'media' | 'catalognumber' | 'show' | 'showsort' | 'podcast' | 'podcasturl' | 'releasestatus' | 'releasetype' | 'releasecountry' | 'script' | 'language' | 'copyright' | 'license' | 'encodedby' | 'encodersettings' | 'gapless' | 'barcode' | 'isrc' | 'asin' | 'musicbrainz_recordingid' | 'musicbrainz_trackid' | 'musicbrainz_albumid' | 'musicbrainz_artistid' | 'musicbrainz_albumartistid' | 'musicbrainz_releasegroupid' | 'musicbrainz_workid' | 'musicbrainz_trmid' | 'musicbrainz_discid' | 'acoustid_id' | 'acoustid_fingerprint' | 'musicip_puid' | 'musicip_fingerprint' | 'website' | 'performer:instrument' | 'peakLevel' | 'averageLevel' | 'notes' | 'key' | 'originalalbum' | 'originalartist' | 'discogs_release_id';
export declare const TagPriority: string[];

@@ -4,0 +4,0 @@ export interface INativeTagMap {

@@ -159,3 +159,4 @@ "use strict";

originalalbum: { multiple: false },
originalartist: { multiple: false }
originalartist: { multiple: false },
discogs_release_id: { multiple: false }
};

@@ -162,0 +163,0 @@ return TagMap;

@@ -82,3 +82,7 @@ "use strict";

TOTALTRACKS: 'totaltracks',
TOTALDISCS: 'totaldiscs'
TOTALDISCS: 'totaldiscs',
// Discogs
DISCOGS_RELEASE_ID: 'discogs_release_id',
CATALOGID: 'catalognumber',
STYLE: 'genre'
};
{
"name": "music-metadata",
"description": "Streaming music metadata parser for node and the browser.",
"version": "0.8.4",
"version": "0.8.5",
"author": {

@@ -20,2 +20,3 @@ "name": "Borewit",

"MusicBrainz",
"Discogs",
"Picard",

@@ -47,3 +48,3 @@ "IDd3",

"scripts": {
"clean": "del-cli lib/** src/**/*.js.map src/**/*.d.ts",
"clean": "del-cli lib/** src/**/*.js src/**/*.js.map src/**/*.d.ts",
"compile-src": "tsc -p src",

@@ -61,3 +62,3 @@ "compile-test": "tsc -p test",

"es6-promise": "^4.1.1",
"fs-extra": "^4.0.1",
"fs-extra": "^4.0.2",
"strtok3": "^1.3.2",

@@ -64,0 +65,0 @@ "then-read-stream": "^1.0.3",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc