diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-09-23 12:39:27 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-09-23 12:39:27 +0100 |
| commit | c2709fbe5438da124b2d493cb714a6c58720cf5b (patch) | |
| tree | 015607895cba76f9b8bcddf6fae72cb7c62e3cb3 /src/tools/servomatic_cli.cc | |
| parent | 365f830b4c65b2d872106a14f57d28cef4a179cd (diff) | |
Command-line option to specify servomatic_cli threads.
Diffstat (limited to 'src/tools/servomatic_cli.cc')
| -rw-r--r-- | src/tools/servomatic_cli.cc | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/src/tools/servomatic_cli.cc b/src/tools/servomatic_cli.cc index 3ad73faf9..f8e713193 100644 --- a/src/tools/servomatic_cli.cc +++ b/src/tools/servomatic_cli.cc @@ -25,6 +25,7 @@ #include <vector> #include <unistd.h> #include <errno.h> +#include <getopt.h> #include <boost/array.hpp> #include <boost/asio.hpp> #include <boost/algorithm/string.hpp> @@ -39,13 +40,55 @@ #include "scaler.h" #include "image.h" #include "log.h" +#include "version.h" + +using namespace std; + +static void +help (string n) +{ + cerr << "Syntax: " << n << " [OPTION]\n" + << " -v, --version show DVD-o-matic version\n" + << " -h, --help show this help\n" + << " -t, --threads number of parallel encoding threads to use\n"; +} int -main () +main (int argc, char* argv[]) { + int num_threads = Config::instance()->num_local_encoding_threads (); + + int option_index = 0; + while (1) { + static struct option long_options[] = { + { "version", no_argument, 0, 'v'}, + { "help", no_argument, 0, 'h'}, + { "threads", required_argument, 0, 't'}, + { 0, 0, 0, 0 } + }; + + int c = getopt_long (argc, argv, "vht:", long_options, &option_index); + + if (c == -1) { + break; + } + + switch (c) { + case 'v': + cout << "dvdomatic version " << dvdomatic_version << " " << dvdomatic_git_commit << "\n"; + exit (EXIT_SUCCESS); + case 'h': + help (argv[0]); + exit (EXIT_SUCCESS); + case 't': + num_threads = atoi (optarg); + break; + } + } + Scaler::setup_scalers (); FileLog log ("servomatic.log"); Server server (&log); - server.run (); + server.run (num_threads); return 0; } |
