summaryrefslogtreecommitdiffstats
path: root/src/Patchage.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-11-29 10:41:28 +0100
committerDavid Robillard <d@drobilla.net>2020-11-29 12:00:37 +0100
commit6d71c2f83b7fef4956f04e277a905d45de249745 (patch)
tree39b11d92856d98d798529061ac0f8957dc81109d /src/Patchage.cpp
parent15004f61bf9f330b959a815465bdda09c66ec9a4 (diff)
downloadpatchage-6d71c2f83b7fef4956f04e277a905d45de249745.tar.gz
patchage-6d71c2f83b7fef4956f04e277a905d45de249745.tar.bz2
patchage-6d71c2f83b7fef4956f04e277a905d45de249745.zip
Move command line handling to main
Diffstat (limited to 'src/Patchage.cpp')
-rw-r--r--src/Patchage.cpp42
1 files changed, 5 insertions, 37 deletions
diff --git a/src/Patchage.cpp b/src/Patchage.cpp
index 641714a..01eda37 100644
--- a/src/Patchage.cpp
+++ b/src/Patchage.cpp
@@ -61,7 +61,7 @@ PATCHAGE_RESTORE_WARNINGS
#include <cmath>
#include <cstdint>
#include <cstdlib>
-#include <fstream>
+#include <sstream>
#ifdef PATCHAGE_GTK_OSX
@@ -123,7 +123,7 @@ port_order(const GanvPort* a, const GanvPort* b, void*)
#define INIT_WIDGET(x) x(_xml, (#x) + 1)
-Patchage::Patchage(int argc, char** argv)
+Patchage::Patchage(Options options)
: _xml(UIFile::open("patchage"))
, _gtk_main(nullptr)
, INIT_WIDGET(_about_win)
@@ -164,40 +164,12 @@ Patchage::Patchage(int argc, char** argv)
, _legend(nullptr)
, _log(_status_text)
, _connector(_log)
+ , _options{options}
, _pane_initialized(false)
, _attach(true)
- , _jack_driver_autoattach(true)
-#ifdef HAVE_ALSA
- , _alsa_driver_autoattach(true)
-#endif
{
_canvas = std::make_shared<PatchageCanvas>(_connector, 1600 * 2, 1200 * 2);
- while (argc > 0) {
- if (!strcmp(*argv, "-h") || !strcmp(*argv, "--help")) {
- std::cout << "Usage: patchage [OPTION]...\n";
- std::cout << "Visually connect JACK and ALSA Audio/MIDI ports.\n\n";
- std::cout << "Options:\n";
- std::cout << "\t-h --help Show this help\n";
- std::cout
- << "\t-A --no-alsa Do not automatically attach to ALSA\n";
- std::cout
- << "\t-J --no-jack Do not automatically attack to JACK\n";
- exit(0);
-#ifdef HAVE_ALSA
- } else if (!strcmp(*argv, "-A") || !strcmp(*argv, "--no-alsa")) {
- _alsa_driver_autoattach = false;
-#endif
-#if defined(PATCHAGE_LIBJACK) || defined(HAVE_JACK_DBUS)
- } else if (!strcmp(*argv, "-J") || !strcmp(*argv, "--no-jack")) {
- _jack_driver_autoattach = false;
-#endif
- }
-
- argv++;
- argc--;
- }
-
Glib::set_application_name("Patchage");
_about_win->property_program_name() = "Patchage";
_about_win->property_logo_icon_name() = "patchage";
@@ -384,17 +356,13 @@ Patchage::~Patchage()
void
Patchage::attach()
{
-#if defined(PATCHAGE_LIBJACK) || defined(HAVE_JACK_DBUS)
- if (_jack_driver_autoattach) {
+ if (_jack_driver && _options.jack_driver_autoattach) {
_jack_driver->attach(true);
}
-#endif
-#ifdef HAVE_ALSA
- if (_alsa_driver_autoattach) {
+ if (_alsa_driver && _options.alsa_driver_autoattach) {
_alsa_driver->attach(false);
}
-#endif
process_events();
refresh();