diff options
-rw-r--r-- | src/Configuration.cpp | 1 | ||||
-rw-r--r-- | src/ingen/ingen.cpp | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/Configuration.cpp b/src/Configuration.cpp index 51aff65f..6fea2862 100644 --- a/src/Configuration.cpp +++ b/src/Configuration.cpp @@ -55,6 +55,7 @@ Configuration::Configuration(Forge& forge) add("socket", "socket", 'S', "Engine socket path", SESSION, forge.String, forge.alloc("/tmp/ingen.sock")); add("gui", "gui", 'g', "Launch the GTK graphical interface", SESSION, forge.Bool, forge.make(false)); add("", "help", 'h', "Print this help message", SESSION, forge.Bool, forge.make(false)); + add("", "version", 'V', "Print version information", SESSION, forge.Bool, forge.make(false)); add("jackName", "jack-name", 'n', "JACK name", SESSION, forge.String, forge.alloc("ingen")); add("jackServer", "jack-server", 's', "JACK server name", GLOBAL, forge.String, forge.alloc("")); add("uuid", "uuid", 'u', "JACK session UUID", SESSION, forge.String, Atom()); diff --git a/src/ingen/ingen.cpp b/src/ingen/ingen.cpp index 6e058414..f37608b9 100644 --- a/src/ingen/ingen.cpp +++ b/src/ingen/ingen.cpp @@ -70,6 +70,18 @@ ingen_try(bool cond, const char* msg) } } +static int +print_version() +{ + cout << "ingen " << INGEN_VERSION + << " <http://drobilla.net/software/ingen>\n" + << "Copyright 2007-2015 David Robillard <http://drobilla.net>.\n" + << "License: <https://www.gnu.org/licenses/agpl-3.0>\n" + << "This is free software; you are free to change and redistribute it.\n" + << "There is NO WARRANTY, to the extent permitted by law." << endl; + return EXIT_SUCCESS; +} + int main(int argc, char** argv) { @@ -85,6 +97,8 @@ main(int argc, char** argv) } else if (world->conf().option("help").get<int32_t>()) { world->conf().print_usage("ingen", cout); return EXIT_SUCCESS; + } else if (world->conf().option("version").get<int32_t>()) { + return print_version(); } } catch (std::exception& e) { cout << "ingen: " << e.what() << endl; |