added composer, performer, and comment metadata items

git-svn-id: https://svn.musicpd.org/mpd/trunk@3022 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2005-03-05 22:24:10 +00:00
parent 4b016cafa1
commit 3bdee55217
5 changed files with 41 additions and 9 deletions

View File

@ -25,16 +25,14 @@ audio_output {
name "default ao output" name "default ao output"
# #
# use this if you want to use OSS audio output # use this if you want to use OSS audio output
# type "ao" # type "oss"
# name "my OSS sound card" # name "my OSS sound card"
# driver "oss" # device "/dev/dsp" # optional
# options "dsp=/dev/dsp"
# #
# use this if you want to use ALSA audio output # use this if you want to use ALSA audio output
# type "ao" # type "alsa"
# name "my ALSA device" # name "my ALSA device"
# driver "alsa09" # device "hw:0,0" # optional
# options "dev=hw:0,0"
} # end of audio_output "ao" } # end of audio_output "ao"
# #
# Set this if you have problems # Set this if you have problems
@ -200,8 +198,9 @@ audio_output {
################ MISCELLANEOUS OPTIONS ################### ################ MISCELLANEOUS OPTIONS ###################
# #
# This sets the metadata mpd will use, to disable all metadata, set to "none" # This sets the metadata mpd will use, to disable all metadata, set to "none"
# NOTE: comment's are disabled by default
# #
#metadata_to_use "artist,album,title,genre,date,track" #metadata_to_use "artist,album,title,genre,date,track,composer,performer,comment"
# #
# This setting exists as precaution against attacks. # This setting exists as precaution against attacks.
# #

View File

@ -499,6 +499,16 @@ static MpdTag * copyVorbisCommentBlockToMpdTag(FLAC__StreamMetadata * block,
block->data.vorbis_comment.comments+i, block->data.vorbis_comment.comments+i,
TAG_ITEM_DATE, TAG_ITEM_DATE,
&tag)); &tag));
else if(commentMatchesAddToTag(
"composer=",
block->data.vorbis_comment.comments+i,
TAG_ITEM_COMPOSER,
&tag));
else if(commentMatchesAddToTag(
"performer=",
block->data.vorbis_comment.comments+i,
TAG_ITEM_PERFORMER,
&tag));
} }
return tag; return tag;

View File

@ -164,6 +164,14 @@ MpdTag * oggCommentsParse(char ** comments) {
if(!ret) ret = newMpdTag(); if(!ret) ret = newMpdTag();
addItemToMpdTag(ret, TAG_ITEM_DATE, temp); addItemToMpdTag(ret, TAG_ITEM_DATE, temp);
} }
else if((temp = ogg_parseComment(*comments,"composer"))) {
if(!ret) ret = newMpdTag();
addItemToMpdTag(ret, TAG_ITEM_COMPOSER, temp);
}
else if((temp = ogg_parseComment(*comments,"performer"))) {
if(!ret) ret = newMpdTag();
addItemToMpdTag(ret, TAG_ITEM_PERFORMER, temp);
}
comments++; comments++;
} }

View File

@ -42,6 +42,12 @@
#include <FLAC/metadata.h> #include <FLAC/metadata.h>
#endif #endif
#ifdef HAVE_ID3TAG
#ifndef ID3_FRAME_COMPOSER
#define ID3_FRAME_COMPOSER "TCOM"
#endif
#endif
char * mpdTagItemKeys[TAG_NUM_OF_ITEM_TYPES] = char * mpdTagItemKeys[TAG_NUM_OF_ITEM_TYPES] =
{ {
"Artist", "Artist",
@ -50,7 +56,10 @@ char * mpdTagItemKeys[TAG_NUM_OF_ITEM_TYPES] =
"Track", "Track",
"Name", "Name",
"Genre", "Genre",
"Date" "Date",
"Composer",
"Performer",
"Comment"
}; };
static mpd_sint8 ignoreTagItems[TAG_NUM_OF_ITEM_TYPES]; static mpd_sint8 ignoreTagItems[TAG_NUM_OF_ITEM_TYPES];
@ -70,6 +79,7 @@ void initTagConfig() {
/* parse the "metadata_to_use" config parameter below */ /* parse the "metadata_to_use" config parameter below */
memset(ignoreTagItems, 0, TAG_NUM_OF_ITEM_TYPES); memset(ignoreTagItems, 0, TAG_NUM_OF_ITEM_TYPES);
ignoreTagItems[TAG_ITEM_COMMENT] = 1; /* ignore comments by default */
param = getConfigParam(CONF_METADATA_TO_USE); param = getConfigParam(CONF_METADATA_TO_USE);
@ -174,6 +184,8 @@ MpdTag * parseId3Tag(struct id3_tag * tag) {
ret = getID3Info(tag, ID3_FRAME_TRACK, TAG_ITEM_TRACK, ret); ret = getID3Info(tag, ID3_FRAME_TRACK, TAG_ITEM_TRACK, ret);
ret = getID3Info(tag, ID3_FRAME_YEAR, TAG_ITEM_DATE, ret); ret = getID3Info(tag, ID3_FRAME_YEAR, TAG_ITEM_DATE, ret);
ret = getID3Info(tag, ID3_FRAME_GENRE, TAG_ITEM_GENRE, ret); ret = getID3Info(tag, ID3_FRAME_GENRE, TAG_ITEM_GENRE, ret);
ret = getID3Info(tag, ID3_FRAME_COMPOSER, TAG_ITEM_COMPOSER, ret);
ret = getID3Info(tag, ID3_FRAME_COMMENT, TAG_ITEM_COMMENT, ret);
return ret; return ret;
} }

View File

@ -41,8 +41,11 @@
#define TAG_ITEM_NAME 4 #define TAG_ITEM_NAME 4
#define TAG_ITEM_GENRE 5 #define TAG_ITEM_GENRE 5
#define TAG_ITEM_DATE 6 #define TAG_ITEM_DATE 6
#define TAG_ITEM_COMPOSER 7
#define TAG_ITEM_PERFORMER 8
#define TAG_ITEM_COMMENT 9
#define TAG_NUM_OF_ITEM_TYPES 7 #define TAG_NUM_OF_ITEM_TYPES 10
extern char * mpdTagItemKeys[]; extern char * mpdTagItemKeys[];