From 085a451dfec54126be1b9346899c81d82e6eb58e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 6 Mar 2010 03:00:12 +0000 Subject: Add missing files. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2532 a436a847-0d15-0410-975c-d299462d15a1 --- src/shared/Configuration.cpp | 55 ++++++++++++++++++++++++++++++++++++++++++++ src/shared/Configuration.hpp | 35 ++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 src/shared/Configuration.cpp create mode 100644 src/shared/Configuration.hpp (limited to 'src/shared') diff --git a/src/shared/Configuration.cpp b/src/shared/Configuration.cpp new file mode 100644 index 00000000..5cda3e9e --- /dev/null +++ b/src/shared/Configuration.cpp @@ -0,0 +1,55 @@ +/* This file is part of Ingen. + * Copyright (C) 2010 Dave Robillard + * + * Ingen is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "raul/Atom.hpp" +#include "Configuration.hpp" + +using namespace Raul; + +namespace Ingen { +namespace Shared { + +Configuration::Configuration() + : Raul::Configuration("A realtime modular audio processor.", + "Ingen is a flexible modular system that be used in various ways.\n" + "The engine can run as a stand-alone server controlled via a network protocol\n" + "(e.g. OSC), or internal to another process (e.g. the GUI). The GUI, or other\n" + "clients, can communicate with the engine via any supported protocol, or host the\n" + "engine in the same process. Many clients can connect to an engine at once.\n\n" + "Examples:\n" + " ingen -e # Run an engine, listen for OSC\n" + " ingen -g # Run a GUI, connect via OSC\n" + " ingen -eg # Run an engine and a GUI in one process\n" + " ingen -egl patch.ing.ttl # Run an engine and a GUI and load a patch file\n" + " ingen -egl patch.ing.lv2 # Run an engine and a GUI and load a patch bundle") +{ + add("client-port", 'C', "Client OSC port", Atom::INT, Atom()) + .add("connect", 'c', "Connect to engine URI", Atom::STRING, "osc.udp://localhost:16180") + .add("engine", 'e', "Run (JACK) engine", Atom::BOOL, false) + .add("engine-port", 'E', "Engine listen port", Atom::INT, 16180) + .add("gui", 'g', "Launch the GTK graphical interface", Atom::BOOL, false) + .add("help", 'h', "Print this help message", Atom::BOOL, false) + .add("jack-client", 'n', "JACK client name", Atom::STRING, "ingen") + .add("jack-server", 's', "JACK server name", Atom::STRING, "default") + .add("load", 'l', "Load patch", Atom::STRING, Atom()) + .add("parallelism", 'p', "Number of concurrent process threads", Atom::INT, 1) + .add("path", 'L', "Target path for loaded patch", Atom::STRING, Atom()) + .add("run", 'r', "Run script", Atom::STRING, Atom()); +} + +} // namespace Shared +} // namespace Ingen diff --git a/src/shared/Configuration.hpp b/src/shared/Configuration.hpp new file mode 100644 index 00000000..12c95e9b --- /dev/null +++ b/src/shared/Configuration.hpp @@ -0,0 +1,35 @@ +/* This file is part of Ingen. + * Copyright (C) 2010 Dave Robillard + * + * Ingen is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef INGEN_SHARED_CONFIGURATION_HPP +#define INGEN_SHARED_CONFIGURATION_HPP + +#include "raul/Configuration.hpp" + +namespace Ingen { +namespace Shared { + +class Configuration : public Raul::Configuration { +public: + Configuration(); +}; + +} // namespace Shared +} // namespace Ingen + +#endif // INGEN_SHARED_CONFIGURATION_HPP + -- cgit v1.2.1