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"
#
# use this if you want to use OSS audio output
# type "ao"
# type "oss"
# name "my OSS sound card"
# driver "oss"
# options "dsp=/dev/dsp"
# device "/dev/dsp" # optional
#
# use this if you want to use ALSA audio output
# type "ao"
# type "alsa"
# name "my ALSA device"
# driver "alsa09"
# options "dev=hw:0,0"
# device "hw:0,0" # optional
} # end of audio_output "ao"
#
# Set this if you have problems
@ -200,8 +198,9 @@ audio_output {
################ MISCELLANEOUS OPTIONS ###################
#
# 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.
#

View File

@ -499,6 +499,16 @@ static MpdTag * copyVorbisCommentBlockToMpdTag(FLAC__StreamMetadata * block,
block->data.vorbis_comment.comments+i,
TAG_ITEM_DATE,
&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;

View File

@ -164,6 +164,14 @@ MpdTag * oggCommentsParse(char ** comments) {
if(!ret) ret = newMpdTag();
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++;
}

View File

@ -42,6 +42,12 @@
#include <FLAC/metadata.h>
#endif
#ifdef HAVE_ID3TAG
#ifndef ID3_FRAME_COMPOSER
#define ID3_FRAME_COMPOSER "TCOM"
#endif
#endif
char * mpdTagItemKeys[TAG_NUM_OF_ITEM_TYPES] =
{
"Artist",
@ -50,7 +56,10 @@ char * mpdTagItemKeys[TAG_NUM_OF_ITEM_TYPES] =
"Track",
"Name",
"Genre",
"Date"
"Date",
"Composer",
"Performer",
"Comment"
};
static mpd_sint8 ignoreTagItems[TAG_NUM_OF_ITEM_TYPES];
@ -70,6 +79,7 @@ void initTagConfig() {
/* parse the "metadata_to_use" config parameter below */
memset(ignoreTagItems, 0, TAG_NUM_OF_ITEM_TYPES);
ignoreTagItems[TAG_ITEM_COMMENT] = 1; /* ignore comments by default */
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_YEAR, TAG_ITEM_DATE, 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;
}

View File

@ -41,8 +41,11 @@
#define TAG_ITEM_NAME 4
#define TAG_ITEM_GENRE 5
#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[];