summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/opts.cc70
-rw-r--r--libs/ardour/ardour/debug.h5
-rw-r--r--libs/ardour/debug.cc112
-rw-r--r--libs/ardour/globals.cc12
-rw-r--r--libs/ardour/wscript1
5 files changed, 118 insertions, 82 deletions
diff --git a/gtk2_ardour/opts.cc b/gtk2_ardour/opts.cc
index 0af659af08..b5075daa2f 100644
--- a/gtk2_ardour/opts.cc
+++ b/gtk2_ardour/opts.cc
@@ -74,74 +74,6 @@ print_help (const char *execname)
}
-static void
-list_debug_options ()
-{
- cerr << _("The following debug options are available. Separate multipe options with commas.\nNames are case-insensitive and can be abbreviated.") << "\n\n";
- cerr << "\tMidiSourceIO\n";
- cerr << "\tMidiPlaylistIO\n";
- cerr << "\tMidiDiskstreamIO\n";
- cerr << "\tSnapBBT\n";
- cerr << "\tConfiguration\n";
- cerr << "\tLatency\n";
- cerr << "\tGraph\n";
- cerr << "\tDestruction\n";
-}
-
-static int
-parse_debug_options (const char* str)
-{
- char* p;
- char* sp;
- uint64_t bits = 0;
- char* copy = strdup (str);
-
- p = strtok_r (copy, ",", &sp);
-
- while (p) {
- if (strcasecmp (p, "list") == 0) {
- list_debug_options ();
- free (copy);
- return 1;
- }
-
- if (strcasecmp (p, "all") == 0) {
- ARDOUR::set_debug_bits (~0ULL);
- free (copy);
- return 0;
- }
-
- if (strncasecmp (p, "midisourceio", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::MidiSourceIO;
- } else if (strncasecmp (p, "midiplaylistio", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::MidiPlaylistIO;
- } else if (strncasecmp (p, "mididiskstreamio", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::MidiDiskstreamIO;
- } else if (strncasecmp (p, "snapbbt", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::SnapBBT;
- } else if (strncasecmp (p, "configuration", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::Configuration;
- } else if (strncasecmp (p, "latency", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::Latency;
- } else if (strncasecmp (p, "processors", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::Processors;
- } else if (strncasecmp (p, "graph", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::Graph;
- } else if (strncasecmp (p, "destruction", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::Destruction;
- } else if (strncasecmp (p, "mtc", strlen (p)) == 0) {
- bits |= ARDOUR::DEBUG::MTC;
- }
-
- p = strtok_r (0, ",", &sp);
- }
-
- free (copy);
- ARDOUR::set_debug_bits (bits);
- return 0;
-}
-
-
int
ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
{
@@ -207,7 +139,7 @@ ARDOUR_COMMAND_LINE::parse_opts (int argc, char *argv[])
break;
case 'D':
- if (parse_debug_options (optarg)) {
+ if (ARDOUR::parse_debug_options (optarg)) {
exit (0);
}
break;
diff --git a/libs/ardour/ardour/debug.h b/libs/ardour/ardour/debug.h
index 636d026f56..d90c82fcbe 100644
--- a/libs/ardour/ardour/debug.h
+++ b/libs/ardour/ardour/debug.h
@@ -29,6 +29,8 @@ namespace ARDOUR {
extern uint64_t debug_bits;
void debug_print (const char* prefix, std::string str);
void set_debug_bits (uint64_t bits);
+ int parse_debug_options (const char* str);
+ void list_debug_options ();
namespace DEBUG {
@@ -44,7 +46,8 @@ namespace ARDOUR {
Processors = 0x40,
Graph = 0x80,
Destruction = 0x100,
- MTC = 0x200
+ MTC = 0x200,
+ Transport = 0x400
};
}
diff --git a/libs/ardour/debug.cc b/libs/ardour/debug.cc
new file mode 100644
index 0000000000..0e9b7d8182
--- /dev/null
+++ b/libs/ardour/debug.cc
@@ -0,0 +1,112 @@
+/*
+ Copyright (C) 2009 Paul Davis
+
+ This program 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.
+
+ This program 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 more 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#include <cstring>
+#include <cstdlib>
+#include <iostream>
+
+#include "ardour/debug.h"
+
+#include "i18n.h"
+
+using namespace std;
+
+void
+ARDOUR::debug_print (const char* prefix, string str)
+{
+ cerr << prefix << ": " << str;
+}
+
+void
+ARDOUR::set_debug_bits (uint64_t bits)
+{
+ debug_bits = bits;
+}
+
+int
+ARDOUR::parse_debug_options (const char* str)
+{
+ char* p;
+ char* sp;
+ uint64_t bits = 0;
+ char* copy = strdup (str);
+
+ p = strtok_r (copy, ",", &sp);
+
+ while (p) {
+ if (strcasecmp (p, "list") == 0) {
+ list_debug_options ();
+ free (copy);
+ return 1;
+ }
+
+ if (strcasecmp (p, "all") == 0) {
+ ARDOUR::set_debug_bits (~0ULL);
+ free (copy);
+ return 0;
+ }
+
+ if (strncasecmp (p, "midisourceio", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::MidiSourceIO;
+ } else if (strncasecmp (p, "midiplaylistio", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::MidiPlaylistIO;
+ } else if (strncasecmp (p, "mididiskstreamio", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::MidiDiskstreamIO;
+ } else if (strncasecmp (p, "snapbbt", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::SnapBBT;
+ } else if (strncasecmp (p, "configuration", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::Configuration;
+ } else if (strncasecmp (p, "latency", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::Latency;
+ } else if (strncasecmp (p, "processors", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::Processors;
+ } else if (strncasecmp (p, "graph", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::Graph;
+ } else if (strncasecmp (p, "destruction", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::Destruction;
+ } else if (strncasecmp (p, "mtc", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::MTC;
+ } else if (strncasecmp (p, "transport", strlen (p)) == 0) {
+ bits |= ARDOUR::DEBUG::Transport;
+ }
+
+ p = strtok_r (0, ",", &sp);
+ }
+
+ free (copy);
+ ARDOUR::set_debug_bits (bits);
+ return 0;
+}
+
+void
+ARDOUR::list_debug_options ()
+{
+ cerr << _("The following debug options are available. Separate multipe options with commas.\nNames are case-insensitive and can be abbreviated.") << endl << endl;
+ cerr << "\tAll" << endl;
+ cerr << "\tMidiSourceIO" << endl;
+ cerr << "\tMidiPlaylistIO" << endl;
+ cerr << "\tMidiDiskstreamIO" << endl;
+ cerr << "\tSnapBBT" << endl;
+ cerr << "\tConfiguration" << endl;
+ cerr << "\tLatency" << endl;
+ cerr << "\tGraph" << endl;
+ cerr << "\tDestruction" << endl;
+ cerr << "\tMTC" << endl;
+ cerr << "\tTransport" << endl;
+}
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index ac7eb8605d..6e6ae9bf80 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -110,18 +110,6 @@ mix_buffers_no_gain_t ARDOUR::mix_buffers_no_gain = 0;
sigc::signal<void,std::string> ARDOUR::BootMessage;
-void
-ARDOUR::debug_print (const char* prefix, std::string str)
-{
- cerr << prefix << ": " << str;
-}
-
-void
-ARDOUR::set_debug_bits (uint64_t bits)
-{
- debug_bits = bits;
-}
-
int
ARDOUR::setup_midi ()
{
diff --git a/libs/ardour/wscript b/libs/ardour/wscript
index 67e138da38..48cd6ccb6f 100644
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -69,6 +69,7 @@ libardour_sources = [
'crossfade.cc',
'cycle_timer.cc',
'default_click.cc',
+ 'debug.cc',
'delivery.cc',
'directory_names.cc',
'diskstream.cc',