docTitleArg("doc-title",'d',"specifies the document title (has no affect if not supported by the container)"),
removeOtherFieldsArg("remove-other-fields",'\0',"removes ALL fields where no value has been provided for (to remove a specific field use eg. \"album=\")"),
treatUnknownFilesAsMp3FilesArg("treat-unknown-as-mp3",'\0',"if present unknown files will be treatet as MP3 files"),
id3v1UsageArg("id3v1-usage",'\0',"specifies the ID3v1 usage (only used when already present by default); only relevant when dealing with MP3 files (or files treated as such)"),
id3v2UsageArg("id3v2-usage",'\0',"specifies the ID3v2 usage (always used by default); only relevant when dealing with MP3 files (or files treated as such)"),
mergeMultipleSuccessiveTagsArg("merge-successive-tags",'\0',"if present multiple successive ID3v2 tags will be merged"),
id3v2VersionArg("id3v2-version",'\0',"forces a specific ID3v2 version to be used; only relevant when ID3v2 is used"),
id3InitOnCreateArg("id3-init-on-create",'\0',"indicates whether to initialize newly created ID3 tags (according to specified usage) with the values of the already present ID3 tags"),
id3TransferOnRemovalArg("id3-transfer-on-removal",'\0',"indicates whether values of removed ID3 tags (according to specified usage) should be transfered to remaining ID3 tags (no values will be overwritten)"),
encodingArg("encoding",'\0',"specifies the preferred encoding"),
removeTargetArg("remove-target",'\0',"removes all tags with the specified target"),
addAttachmentArg("add-attachment",'\0',"adds a new attachment"),
updateAttachmentArg("update-attachment",'\0',"updates an existing attachment"),
removeAttachmentArg("remove-attachment",'\0',"removes an existing attachment"),
removeExistingAttachmentsArg("remove-existing-attachments",'r',"removes ALL existing attachments (to remove a specific attachment use --remove-attachment)"),
minPaddingArg("min-padding",'\0',"specifies the minimum padding before the media data"),
maxPaddingArg("max-padding",'\0',"specifies the maximum padding before the media data"),
prefPaddingArg("preferred-padding",'\0',"specifies the preferred padding before the media data"),
tagPosValueArg("value",'v',"specifies the position, either front, back or current"),
forceTagPosArg("force",'f',"forces the specified position even if the file to be rewritten"),
tagPosArg("tag-pos",'\0',"specifies the preferred tag position"),
indexPosValueArg("value",'v',"specifies the position, either front, back or current"),
forceIndexPosArg("force",'f',"forces the specified position even if the file to be rewritten"),
indexPosArg("index-pos",'\0',"specifies the preferred index position"),
forceRewriteArg("force-rewrite",'\0',"forces the file to rewritten from the scratch"),
valuesArg("values",'n',"specifies the values to be set"),
outputFilesArg("output-files",'o',"specifies the output files; if present, the files specified with --files will not be modified"),
setTagInfoArg("set",'s',"sets the specified tag information and attachments")
{
docTitleArg.setCombinable(true);
docTitleArg.setRequiredValueCount(-1);
docTitleArg.setValueNames({"title of first segment","title of second segment"});
ArgumentfieldArg("field",'n',"specifies the field to be extracted");
fieldArg.setValueNames({"field name"});
fieldArg.setRequiredValueCount(1);
fieldArg.setImplicit(true);
ArgumentattachmentArg("attachment",'a',"specifies the attachment to be extracted");
attachmentArg.setValueNames({"id=..."});
attachmentArg.setRequiredValueCount(1);
ArgumentextractFieldArg("extract",'e',"saves the value of the specified field (eg. cover or other binary field)orattachmenttothespecifiedfileorwritesittostdoutifnooutputfilehasbeenspecified");