X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fencoder%2FCommandlineHandler.java;h=1f38b17a9a7063a4bbe57dd8266e2668d70385ef;hb=afb36656f930daf68be6a2f0fdb72f012fbdbe4e;hp=ba5459991b42738d21d1ab925da603e83e6066b6;hpb=64e6f0bfee5ada06170af9f01cc3d8ec42216ef5;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 ba54599..1f38b17 100755 --- a/src/main/java/eu/svjatoslav/meviz/encoder/CommandlineHandler.java +++ b/src/main/java/eu/svjatoslav/meviz/encoder/CommandlineHandler.java @@ -1,7 +1,7 @@ /* * Meviz - Various tools collection to work with multimedia. * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * + * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public License * as published by the Free Software Foundation. @@ -12,43 +12,47 @@ 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.NullParameter; -import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameter; +import eu.svjatoslav.commons.commandline.parameterparser.parameter.StringParameters; public class CommandlineHandler { Parser parser = new Parser(); - StringParameter outputFormatParameter = parser - .createStringParameter("Encoding output format.") + StringParameters outputFormatParameter = parser + .add(new StringParameters("Encoding output format.")) .addAliases("-o", "--output-format").setMandatory(); - NullParameter deinterlaceParameter = parser.createNullParameter( - "Deinterlace video.").addAliases("--deinterlace", "-d"); + NullParameter deinterlaceParameter = parser.add( + new NullParameter("Deinterlace video.")).addAliases( + "--deinterlace", "-d"); - NullParameter testParameter = parser.createNullParameter( - "Simulate file encoding.").addAliases("-t", "--test"); + NullParameter testParameter = parser.add( + new NullParameter("Simulate file encoding.")).addAliases("-t", + "--test"); - NullParameter recursiveParameter = parser.createNullParameter( - "Enable recursive mode.").addAliases("-r", "--recursive"); + NullParameter recursiveParameter = parser.add( + new NullParameter("Enable recursive mode.")).addAliases("-r", + "--recursive"); - NullParameter forPortableParameter = parser.createNullParameter( - "Encode for portable player.").addAliases("-p", "--portable"); + NullParameter forPortableParameter = parser.add( + new NullParameter("Encode for portable player.")).addAliases("-p", + "--portable"); - StringParameter inputPatternParameter = parser - .createStringParameter("File input pattern.") + StringParameters inputPatternParameter = parser + .add(new StringParameters("File input pattern.")) .addAliases("-i", "--input-pattern").setMandatory(); DirectoryParameter workingDirectoryParameter = parser - .createDirectoryParameter("Working directory.") + .add(new DirectoryParameter("Working directory.")) .addAliases("-w", "--working-directory").mustExist(); - BitrateParameter videoBitrateParameter = new BitrateParameter( - "Video bitrate"); + BitrateParameter videoBitrateParameter = parser.add( + new BitrateParameter("Video bitrate")).addAliases("-v", + "--video-bitrate"); - public CommandlineHandler() { - videoBitrateParameter.addAliases("-v", "--video-bitrate"); - parser.addParameter(videoBitrateParameter); - } + BitrateParameter audioBitrateParameter = parser.add( + new BitrateParameter("Audio bitrate")).addAliases("-a", + "--audio-bitrate"); /** * @return {@link EncodingOptions} if commandline arguments were @@ -68,27 +72,21 @@ public class CommandlineHandler { options.testOnly = testParameter.isParameterSpecified(); if (outputFormatParameter.isParameterSpecified()) - options.outputFormats.addAll(outputFormatParameter - .getArgumentsAsStrings()); + options.outputFormats.addAll(outputFormatParameter.getValue()); if (workingDirectoryParameter.isParameterSpecified()) - options.workingDirectory = workingDirectoryParameter - .getArgumentsAsFiles().get(0); + options.workingDirectory = workingDirectoryParameter.getValue(); if (inputPatternParameter.isParameterSpecified()) - options.inputPatterns.addAll(inputPatternParameter - .getArgumentsAsStrings()); + options.inputPatterns.addAll(inputPatternParameter.getValue()); options.forPortablePlayer = forPortableParameter.isParameterSpecified(); if (videoBitrateParameter.isParameterSpecified()) - try { - options.videoBitrate = videoBitrateParameter.getValue(); - } catch (final Exception e) { - System.out - .println("Invalid video bitrate. Valid values are: LOW, MEDIUM, HIGH."); - return null; - } + options.setVideoBitrate(videoBitrateParameter.getValue()); + + if (audioBitrateParameter.isParameterSpecified()) + options.setAudioBitrate(audioBitrateParameter.getValue()); return options; }