tageditor/cli/mainfeatures.h

68 lines
3.7 KiB
C
Raw Normal View History

2015-04-22 19:33:53 +02:00
#ifndef MAINFEATURES_H
#define MAINFEATURES_H
2015-11-28 00:20:49 +01:00
#include <c++utilities/application/argumentparser.h>
2015-04-22 19:33:53 +02:00
namespace ApplicationUtilities {
class Argument;
}
namespace Cli {
2018-03-07 01:18:01 +01:00
struct SetTagInfoArgs {
2015-11-28 00:20:49 +01:00
SetTagInfoArgs(ApplicationUtilities::Argument &filesArg, ApplicationUtilities::Argument &verboseArg);
ApplicationUtilities::Argument &filesArg;
ApplicationUtilities::Argument &verboseArg;
2018-03-14 18:44:33 +01:00
ApplicationUtilities::ConfigValueArgument docTitleArg;
ApplicationUtilities::ConfigValueArgument removeOtherFieldsArg;
ApplicationUtilities::ConfigValueArgument treatUnknownFilesAsMp3FilesArg;
ApplicationUtilities::ConfigValueArgument id3v1UsageArg;
ApplicationUtilities::ConfigValueArgument id3v2UsageArg;
ApplicationUtilities::ConfigValueArgument mergeMultipleSuccessiveTagsArg;
ApplicationUtilities::ConfigValueArgument id3v2VersionArg;
ApplicationUtilities::ConfigValueArgument id3InitOnCreateArg;
ApplicationUtilities::ConfigValueArgument id3TransferOnRemovalArg;
ApplicationUtilities::ConfigValueArgument encodingArg;
ApplicationUtilities::ConfigValueArgument removeTargetArg;
ApplicationUtilities::ConfigValueArgument addAttachmentArg;
ApplicationUtilities::ConfigValueArgument updateAttachmentArg;
ApplicationUtilities::ConfigValueArgument removeAttachmentArg;
ApplicationUtilities::ConfigValueArgument removeExistingAttachmentsArg;
ApplicationUtilities::ConfigValueArgument minPaddingArg;
ApplicationUtilities::ConfigValueArgument maxPaddingArg;
ApplicationUtilities::ConfigValueArgument prefPaddingArg;
ApplicationUtilities::ConfigValueArgument tagPosValueArg;
ApplicationUtilities::ConfigValueArgument forceTagPosArg;
ApplicationUtilities::ConfigValueArgument tagPosArg;
ApplicationUtilities::ConfigValueArgument indexPosValueArg;
ApplicationUtilities::ConfigValueArgument forceIndexPosArg;
ApplicationUtilities::ConfigValueArgument indexPosArg;
ApplicationUtilities::ConfigValueArgument forceRewriteArg;
ApplicationUtilities::ConfigValueArgument valuesArg;
ApplicationUtilities::ConfigValueArgument outputFilesArg;
2018-02-20 21:36:55 +01:00
ApplicationUtilities::ConfigValueArgument backupDirArg;
2018-03-13 19:20:41 +01:00
ApplicationUtilities::ConfigValueArgument layoutOnlyArg;
2018-03-14 18:44:33 +01:00
ApplicationUtilities::OperationArgument setTagInfoArg;
2015-11-28 00:20:49 +01:00
};
2016-07-04 23:28:11 +02:00
extern const char *const fieldNames;
extern const char *const fieldNamesForSet;
void applyGeneralConfig(const ApplicationUtilities::Argument &timeSapnFormatArg);
void printFieldNames(const ApplicationUtilities::ArgumentOccurrence &occurrence);
2018-03-07 01:18:01 +01:00
void displayFileInfo(const ApplicationUtilities::ArgumentOccurrence &, const ApplicationUtilities::Argument &filesArg,
const ApplicationUtilities::Argument &verboseArg);
void generateFileInfo(const ApplicationUtilities::ArgumentOccurrence &, const ApplicationUtilities::Argument &inputFileArg,
const ApplicationUtilities::Argument &outputFileArg, const ApplicationUtilities::Argument &validateArg);
void displayTagInfo(const ApplicationUtilities::Argument &fieldsArg, const ApplicationUtilities::Argument &showUnsupportedArg,
const ApplicationUtilities::Argument &filesArg, const ApplicationUtilities::Argument &verboseArg);
2016-06-25 23:11:16 +02:00
void setTagInfo(const Cli::SetTagInfoArgs &args);
2018-03-07 01:18:01 +01:00
void extractField(const ApplicationUtilities::Argument &fieldArg, const ApplicationUtilities::Argument &attachmentArg,
const ApplicationUtilities::Argument &inputFilesArg, const ApplicationUtilities::Argument &outputFileArg,
const ApplicationUtilities::Argument &verboseArg);
void exportToJson(const ApplicationUtilities::ArgumentOccurrence &, const ApplicationUtilities::Argument &filesArg,
const ApplicationUtilities::Argument &prettyArg);
2015-04-22 19:33:53 +02:00
2018-03-07 01:18:01 +01:00
} // namespace Cli
2015-04-22 19:33:53 +02:00
#endif // MAINFEATURES_H