X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fencoder%2FCommandlineHandler.java;h=dc1601dc30acb56da1a16fec3cdd1cce1b070393;hb=0c8606b2b2bee4d93f383653c283da116ad7fdee;hp=1f38b17a9a7063a4bbe57dd8266e2668d70385ef;hpb=0679806fed21137dc0d10f1ef99dc1bba73ddb95;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 1f38b17..dc1601d 100755 --- a/src/main/java/eu/svjatoslav/meviz/encoder/CommandlineHandler.java +++ b/src/main/java/eu/svjatoslav/meviz/encoder/CommandlineHandler.java @@ -11,83 +11,80 @@ package eu.svjatoslav.meviz.encoder; import eu.svjatoslav.commons.commandline.parameterparser.Parser; import eu.svjatoslav.commons.commandline.parameterparser.parameter.DirectoryParameter; +import eu.svjatoslav.commons.commandline.parameterparser.parameter.IntegerParameter; import eu.svjatoslav.commons.commandline.parameterparser.parameter.NullParameter; import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameters; public class CommandlineHandler { - Parser parser = new Parser(); + Parser parser = new Parser(); - StringParameters outputFormatParameter = parser - .add(new StringParameters("Encoding output format.")) - .addAliases("-o", "--output-format").setMandatory(); + StringParameters outputFormatParameter = parser.add(new StringParameters("Encoding output format.")) + .addAliases("-o", "--output-format").setMandatory(); - NullParameter deinterlaceParameter = parser.add( - new NullParameter("Deinterlace video.")).addAliases( - "--deinterlace", "-d"); + IntegerParameter targetFramerate = parser + .add(new IntegerParameter("Target framerate.").addAliases("-f", "--target-framerate")); - NullParameter testParameter = parser.add( - new NullParameter("Simulate file encoding.")).addAliases("-t", - "--test"); + NullParameter deinterlaceParameter = parser.add(new NullParameter("Deinterlace video.")).addAliases("-d", + "--deinterlace"); - NullParameter recursiveParameter = parser.add( - new NullParameter("Enable recursive mode.")).addAliases("-r", - "--recursive"); + NullParameter testParameter = parser.add(new NullParameter("Simulate file encoding.")).addAliases("-t", "--test"); - NullParameter forPortableParameter = parser.add( - new NullParameter("Encode for portable player.")).addAliases("-p", - "--portable"); + NullParameter recursiveParameter = parser.add(new NullParameter("Enable recursive mode.")).addAliases("-r", + "--recursive"); - StringParameters inputPatternParameter = parser - .add(new StringParameters("File input pattern.")) - .addAliases("-i", "--input-pattern").setMandatory(); + NullParameter forPortableParameter = parser.add(new NullParameter("Encode for portable player.")).addAliases("-p", + "--portable"); - DirectoryParameter workingDirectoryParameter = parser - .add(new DirectoryParameter("Working directory.")) - .addAliases("-w", "--working-directory").mustExist(); + StringParameters inputPatternParameter = parser.add(new StringParameters("File input pattern.")) + .addAliases("-i", "--input-pattern").setMandatory(); - BitrateParameter videoBitrateParameter = parser.add( - new BitrateParameter("Video bitrate")).addAliases("-v", - "--video-bitrate"); + DirectoryParameter workingDirectoryParameter = parser.add(new DirectoryParameter("Working directory.")) + .addAliases("-w", "--working-directory").mustExist(); - BitrateParameter audioBitrateParameter = parser.add( - new BitrateParameter("Audio bitrate")).addAliases("-a", - "--audio-bitrate"); + BitrateParameter videoBitrateParameter = parser.add(new BitrateParameter("Video bitrate")).addAliases("-v", + "--video-bitrate"); - /** - * @return {@link EncodingOptions} if commandline arguments were - * successfully parsed, or null if parsing error - * occurred. - */ - public EncodingOptions parseCommandlineArguments(final String[] args) { + BitrateParameter audioBitrateParameter = parser.add(new BitrateParameter("Audio bitrate")).addAliases("-a", + "--audio-bitrate"); - final EncodingOptions options = new EncodingOptions(); + /** + * @return {@link EncodingOptions} if commandline arguments were + * successfully parsed, or null if parsing error + * occurred. + */ + public EncodingOptions parseCommandlineArguments(final String[] args) { - parser.parse(args); + final EncodingOptions options = new EncodingOptions(); - options.recursive = recursiveParameter.isParameterSpecified(); + parser.parse(args); - options.deinterlace = deinterlaceParameter.isParameterSpecified(); + options.setRecursive(recursiveParameter.isParameterSpecified()); - options.testOnly = testParameter.isParameterSpecified(); + options.setDeinterlace(deinterlaceParameter.isParameterSpecified()); - if (outputFormatParameter.isParameterSpecified()) - options.outputFormats.addAll(outputFormatParameter.getValue()); + options.setTestOnly(testParameter.isParameterSpecified()); - if (workingDirectoryParameter.isParameterSpecified()) - options.workingDirectory = workingDirectoryParameter.getValue(); + if (outputFormatParameter.isParameterSpecified()) + options.getOutputFormats().addAll(outputFormatParameter.getValue()); - if (inputPatternParameter.isParameterSpecified()) - options.inputPatterns.addAll(inputPatternParameter.getValue()); + if (targetFramerate.isParameterSpecified()) + options.setTargetFps(targetFramerate.getValue()); - options.forPortablePlayer = forPortableParameter.isParameterSpecified(); + if (workingDirectoryParameter.isParameterSpecified()) + options.setWorkingDirectory(workingDirectoryParameter.getValue()); - if (videoBitrateParameter.isParameterSpecified()) - options.setVideoBitrate(videoBitrateParameter.getValue()); + if (inputPatternParameter.isParameterSpecified()) + options.getInputPatterns().addAll(inputPatternParameter.getValue()); - if (audioBitrateParameter.isParameterSpecified()) - options.setAudioBitrate(audioBitrateParameter.getValue()); + options.setForPortablePlayer(forPortableParameter.isParameterSpecified()); - return options; - } + if (videoBitrateParameter.isParameterSpecified()) + options.setVideoBitrate(videoBitrateParameter.getValue()); + + if (audioBitrateParameter.isParameterSpecified()) + options.setAudioBitrate(audioBitrateParameter.getValue()); + + return options; + } }