Files
tagger/src/delete.cpp
(no author) 7eb8c462cc tagger 0.1 checkin
git-svn-id: https://svn.salfter.gotdns.org/svn/tagger@124 1b90f75b-8b96-4784-87c0-14078182fce6
2008-03-21 04:17:12 +00:00

91 lines
2.7 KiB
C++
Executable File

#include "delete.h"
int deletetag (int argc, char** argv, int startarg)
{
int i;
int rtnval=0;
if (startarg==argc)
{
cerr << "no files specified" << endl;
return -1;
}
for (i=startarg; i<argc; i++)
{
if (strcmp(argv[i]+strlen(argv[i])-4,".mp3")==0) // MP3
{
MPEG::File* file=new MPEG::File(argv[i]);
file->strip();
delete file;
cout << argv[i] << ": ID3 tag(s) removed" << endl;
}
else if (strcmp(argv[i]+strlen(argv[i])-4,".ogg")==0) // Ogg Vorbis
{
Ogg::Vorbis::File* file=new Ogg::Vorbis::File(argv[i]);
Ogg::XiphComment* tag=(Ogg::XiphComment*)file->tag();
tag->removeField("TITLE");
tag->removeField("VERSION");
tag->removeField("ALBUM");
tag->removeField("ARTIST");
tag->removeField("PERFORMER");
tag->removeField("COPYRIGHT");
tag->removeField("ORGANIZATION");
tag->removeField("DESCRIPTION");
tag->removeField("GENRE");
tag->removeField("DATE");
tag->removeField("LOCATION");
tag->removeField("CONTACT");
tag->removeField("ISRC");
tag->removeField("TRACKNUMBER");
tag->removeField("LICENSE");
tag->removeField("REPLAYGAIN_TRACK_GAIN");
tag->removeField("REPLAYGAIN_TRACK_PEAK");
tag->removeField("REPLAYGAIN_ALBUM_GAIN");
tag->removeField("REPLAYGAIN_ALBUM_PEAK");
file->save();http://hardware.slashdot.org/article.pl?sid=05/10/27/0047250&tid=184
delete file;
cout << argv[i] << ": Vorbis tag removed" << endl;
}
else if (strcmp(argv[i]+strlen(argv[i])-5,".flac")==0) // FLAC
{
FLAC::File* file=new FLAC::File(argv[i]);
Ogg::XiphComment* tag=(Ogg::XiphComment*)file->xiphComment();
tag->removeField("ARTIST");
tag->removeField("TITLE");
tag->removeField("VERSION");
tag->removeField("ALBUM");
tag->removeField("PERFORMER");
tag->removeField("COPYRIGHT");
tag->removeField("ORGANIZATION");
tag->removeField("DESCRIPTION");
tag->removeField("GENRE");
tag->removeField("DATE");
tag->removeField("LOCATION");
tag->removeField("CONTACT");
tag->removeField("ISRC");
tag->removeField("TRACKNUMBER");
tag->removeField("LICENSE");
tag->removeField("REPLAYGAIN_TRACK_GAIN");
tag->removeField("REPLAYGAIN_TRACK_PEAK");
tag->removeField("REPLAYGAIN_ALBUM_GAIN");
tag->removeField("REPLAYGAIN_ALBUM_PEAK");
file->save();
delete file;
cout << argv[i] << ": FLAC tag removed" << endl;
}
else if (strcmp(argv[i]+strlen(argv[i])-4,".m4a")==0) // AAC
{
MP4FileHandle file=MP4Modify(argv[i]);
MP4MetadataDelete(file);
MP4Close(file);
cout << argv[i] << ": MPEG4 tag removed" << endl;
}
else
cout << argv[i] << ": unsupported file type" << endl;
}
}