X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fencoder%2FCommandlineHandler.java;h=b6e10cec0a2eb65c10a5b1e60f0b1a850ea25401;hb=b0c6e70ecdcb0dc55eed55ded5a82edc8bdfa729;hp=eb2ac08be8fda85b0192f80b4dd76495ac727012;hpb=a46bdb8da875d21b3598412470d25b727a9baa04;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/encoder/CommandlineHandler.java b/src/main/java/eu/svjatoslav/meviz/encoder/CommandlineHandler.java index eb2ac08..b6e10ce 100755 --- a/src/main/java/eu/svjatoslav/meviz/encoder/CommandlineHandler.java +++ b/src/main/java/eu/svjatoslav/meviz/encoder/CommandlineHandler.java @@ -9,62 +9,42 @@ package eu.svjatoslav.meviz.encoder; -import eu.svjatoslav.commons.commandline.parameterparser.Parameter; import eu.svjatoslav.commons.commandline.parameterparser.Parser; -import eu.svjatoslav.commons.commandline.parameterparser.arguments.StringArgument; +import eu.svjatoslav.commons.commandline.parameterparser.parameter.DirectoryParameter; +import eu.svjatoslav.commons.commandline.parameterparser.parameter.NullParameter; +import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameter; public class CommandlineHandler { - Parameter outputFormatParameter = new Parameter(true, true, true, - new StringArgument(), "Encoding output format.", "-o", - "--output-format"); + Parser parser = new Parser(); - Parameter terminalParameter = new Parameter("Enable popup terminal.", - "--terminal"); + StringParameter outputFormatParameter = parser + .createStringParameter("Encoding output format.") + .addAliases("-o", "--output-format").setMandatory(); - Parameter deinterlaceParameter = new Parameter("Deinterlace video.", - "--deinterlace", "-d"); + NullParameter deinterlaceParameter = parser.createNullParameter( + "Deinterlace video.").addAliases("--deinterlace", "-d"); - Parameter testParameter = new Parameter("Simulate file encoding.", "-t", - "--test"); + NullParameter testParameter = parser.createNullParameter( + "Simulate file encoding.").addAliases("-t", "--test"); - Parameter recursiveParameter = new Parameter("Enable recursive mode.", - "-r", "--recursive"); + NullParameter recursiveParameter = parser.createNullParameter( + "Enable recursive mode.").addAliases("-r", "--recursive"); - Parameter inputPatternParameter = new Parameter(true, true, true, - new StringArgument(), "File input pattern.", "-i", - "--input-pattern"); + StringParameter inputPatternParameter = parser + .createStringParameter("File input pattern.") + .addAliases("-i", "--input-pattern").setMandatory(); - Parameter workingDirectoryParameter = new Parameter( - false, - true, - true, - new eu.svjatoslav.commons.commandline.parameterparser.arguments.ExistingDirectory(), - "Working directory.", "-w", "--working-directory"); + DirectoryParameter workingDirectoryParameter = parser + .createDirectoryParameter("Working directory.") + .addAliases("-w", "--working-directory").mustExist(); - Parameter videoBitrateParameter = new Parameter(false, true, false, - new Bitrate(), "Video bitrate.", "-v", "--video-bitrate"); - - public Parser initParser() { - final Parser parser = new Parser(); - - parser.addParameter(recursiveParameter); - - parser.addParameter(deinterlaceParameter); - - parser.addParameter(testParameter); - - parser.addParameter(terminalParameter); - - parser.addParameter(outputFormatParameter); - - parser.addParameter(inputPatternParameter); - - parser.addParameter(workingDirectoryParameter); + BitrateParameter videoBitrateParameter = new BitrateParameter( + "Video bitrate"); + public CommandlineHandler() { + videoBitrateParameter.addAliases("-v", "--video-bitrate"); parser.addParameter(videoBitrateParameter); - - return parser; } /** @@ -76,7 +56,6 @@ public class CommandlineHandler { final EncodingOptions options = new EncodingOptions(); - final Parser parser = initParser(); parser.parse(args); if (recursiveParameter.isParameterSpecified()) @@ -85,9 +64,6 @@ public class CommandlineHandler { if (deinterlaceParameter.isParameterSpecified()) options.deinterlace = true; - if (terminalParameter.isParameterSpecified()) - options.terminal = true; - if (testParameter.isParameterSpecified()) options.testOnly = true; @@ -105,9 +81,7 @@ public class CommandlineHandler { if (videoBitrateParameter.isParameterSpecified()) try { - options.videoBitrate = Bitrate.bitrate - .valueOf(videoBitrateParameter.getArgumentAsString() - .toUpperCase()); + options.videoBitrate = videoBitrateParameter.getValue(); } catch (final Exception e) { System.out .println("Invalid video bitrate. Valid values are: LOW, MEDIUM, HIGH.");