X-Git-Url: http://git.treefish.org/~alex/usetaglib.git/blobdiff_plain/9dbc165a7224f6d08ddf18f509a498694a9b47b9..3f5ca8b570c4a46224f3d99bfbc0a6a520b9c28c:/usetaglib.cpp?ds=sidebyside diff --git a/usetaglib.cpp b/usetaglib.cpp index 3a8f435..e54b09e 100644 --- a/usetaglib.cpp +++ b/usetaglib.cpp @@ -69,18 +69,17 @@ void action_insertTag (TagLib::PropertyMap &propmap, const tagpair &tagPair) propmap.insert(tagPair.first, argToStringList(tagPair.second)); } -int action_printTags (const TagLib::FileRef f) +int action_printTags (const TagLib::FileRef f, TagLib::PropertyMap &propmap) { if(f.tag()) { - TagLib::PropertyMap tags = f.file()->properties(); unsigned int longest = 0; - for(TagLib::PropertyMap::ConstIterator i = tags.begin(); i != tags.end(); ++i) { + for(TagLib::PropertyMap::ConstIterator i = propmap.begin(); i != propmap.end(); ++i) { if (i->first.size() > longest) { longest = i->first.size(); } } cout << "-- TAG (properties) --" << endl; - for(TagLib::PropertyMap::ConstIterator i = tags.begin(); i != tags.end(); ++i) { + for(TagLib::PropertyMap::ConstIterator i = propmap.begin(); i != propmap.end(); ++i) { for(TagLib::StringList::ConstIterator j = i->second.begin(); j != i->second.end(); ++j) { cout << i->first << "=" << *j << endl; } @@ -109,15 +108,15 @@ int action_printAudio (const TagLib::FileRef f) } void printHelp () -{ - return; - +{ cout << "Usage: usetaglib [ACTION]... [FILE]..." << endl; - cout << "List and edit tags on mediafiles in formats supported by libtag." << endl; + cout << "Read and edit meta-data of audio formats supported by taglib." << endl; cout << endl; cout << "-h, --help Show this help" << endl; cout << endl; cout << "ACTIONS" << endl; + cout << " If multiple actions are specified they are executed in given order." << endl; + cout << endl; cout << setfill(' ') << setw(37) << left << " -l, --list" << "list all tags (implicit if no action specified)"<< endl; cout << setfill(' ') << setw(37) << left << " -a, --listaudio" @@ -135,8 +134,10 @@ void printHelp () cout << "EXAMPLES" << endl; cout << " usetaglib file.ogg" << endl; cout << " usetaglib -e ALBUM file.flac" << endl; - cout << " usetaglib -i ARTIST=Horst=Hubert file.mp3" << endl; - cout << " usetaglib -r ARTIST=Horst file.ogg" << endl; + cout << " usetaglib -r \"ALBUM=New Album\" -i ARTIST=Horst=Hubert file.mp3" << endl; + cout << " usetaglib -r ARTIST=Horst -l file1.ogg file2.mp3" << endl; + cout << " usetaglib -i \"ALBUMARTIST=Horst und Hubert\" file.ogg" << endl; + cout << " usetaglib --insert=\"ALBUMARTIST=Horst und Hubert\" file.ogg" << endl; } int main(int argc, char *argv[]) @@ -224,7 +225,7 @@ int main(int argc, char *argv[]) for (actionqueue::iterator actit = requestedActions.begin(); actit != requestedActions.end(); ++actit) { switch (actit->first) { case LIST: - action_printTags(f); + action_printTags(f, propmap); break; case AUDIO: