tagger 0.1 checkin
git-svn-id: https://svn.salfter.gotdns.org/svn/tagger@124 1b90f75b-8b96-4784-87c0-14078182fce6
This commit is contained in:
		
							
								
								
									
										90
									
								
								src/delete.cpp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										90
									
								
								src/delete.cpp
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,90 @@ | ||||
| #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; | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user