Add method to find subgroup_bus
[ardour.git] / libs / ardour / debug.cc
index 037007497d1f6ec2fecd7adfeacc8ae891b8e0c7..2ac53dab51e56004f336f5363a3b7f1a43cb3ec7 100644 (file)
 
 #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;
-               } else if (strncasecmp (p, "slave", strlen (p)) == 0) {
-                       bits |= ARDOUR::DEBUG::Slave;
-               } else if (strncasecmp (p, "sessionevents", strlen (p)) == 0) {
-                       bits |= ARDOUR::DEBUG::SessionEvents;
-               } else if (strncasecmp (p, "midiio", strlen (p)) == 0) {
-                       bits |= ARDOUR::DEBUG::MidiIO;
-               }
-
-               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;
-       cerr << "\tSlave" << endl;
-       cerr << "\tSessionEvents" << endl;
-       cerr << "\tMidiIO" << endl;
-}
+PBD::DebugBits PBD::DEBUG::MidiSourceIO = PBD::new_debug_bit ("midisourceio");
+PBD::DebugBits PBD::DEBUG::MidiPlaylistIO = PBD::new_debug_bit ("midiplaylistio");
+PBD::DebugBits PBD::DEBUG::MidiDiskstreamIO = PBD::new_debug_bit ("mididiskstreamio");
+PBD::DebugBits PBD::DEBUG::MidiRingBuffer = PBD::new_debug_bit ("midiringbuffer");
+PBD::DebugBits PBD::DEBUG::SnapBBT = PBD::new_debug_bit ("snapbbt");
+PBD::DebugBits PBD::DEBUG::Latency = PBD::new_debug_bit ("latency");
+PBD::DebugBits PBD::DEBUG::LatencyCompensation = PBD::new_debug_bit ("latencycompensation");
+PBD::DebugBits PBD::DEBUG::Peaks = PBD::new_debug_bit ("peaks");
+PBD::DebugBits PBD::DEBUG::Processors = PBD::new_debug_bit ("processors");
+PBD::DebugBits PBD::DEBUG::ChanMapping = PBD::new_debug_bit ("chanmapping");
+PBD::DebugBits PBD::DEBUG::ProcessThreads = PBD::new_debug_bit ("processthreads");
+PBD::DebugBits PBD::DEBUG::Graph = PBD::new_debug_bit ("graph");
+PBD::DebugBits PBD::DEBUG::Destruction = PBD::new_debug_bit ("destruction");
+PBD::DebugBits PBD::DEBUG::MTC = PBD::new_debug_bit ("mtc");
+PBD::DebugBits PBD::DEBUG::LTC = PBD::new_debug_bit ("ltc");
+PBD::DebugBits PBD::DEBUG::Transport = PBD::new_debug_bit ("transport");
+PBD::DebugBits PBD::DEBUG::Slave = PBD::new_debug_bit ("slave");
+PBD::DebugBits PBD::DEBUG::SessionEvents = PBD::new_debug_bit ("sessionevents");
+PBD::DebugBits PBD::DEBUG::MidiIO = PBD::new_debug_bit ("midiio");
+PBD::DebugBits PBD::DEBUG::MackieControl = PBD::new_debug_bit ("mackiecontrol");
+PBD::DebugBits PBD::DEBUG::MidiClock = PBD::new_debug_bit ("midiclock");
+PBD::DebugBits PBD::DEBUG::Monitor = PBD::new_debug_bit ("monitor");
+PBD::DebugBits PBD::DEBUG::Solo = PBD::new_debug_bit ("solo");
+PBD::DebugBits PBD::DEBUG::AudioPlayback = PBD::new_debug_bit ("audioplayback");
+PBD::DebugBits PBD::DEBUG::Panning = PBD::new_debug_bit ("panning");
+PBD::DebugBits PBD::DEBUG::LV2 = PBD::new_debug_bit ("lv2");
+PBD::DebugBits PBD::DEBUG::LV2Automate = PBD::new_debug_bit ("lv2automate");
+PBD::DebugBits PBD::DEBUG::CaptureAlignment = PBD::new_debug_bit ("capturealignment");
+PBD::DebugBits PBD::DEBUG::PluginManager = PBD::new_debug_bit ("pluginmanager");
+PBD::DebugBits PBD::DEBUG::AudioUnits = PBD::new_debug_bit ("audiounits");
+PBD::DebugBits PBD::DEBUG::ControlProtocols = PBD::new_debug_bit ("controlprotocols");
+PBD::DebugBits PBD::DEBUG::CycleTimers = PBD::new_debug_bit ("cycletimers");
+PBD::DebugBits PBD::DEBUG::MidiTrackers = PBD::new_debug_bit ("miditrackers");
+PBD::DebugBits PBD::DEBUG::Layering = PBD::new_debug_bit ("layering");
+PBD::DebugBits PBD::DEBUG::TempoMath = PBD::new_debug_bit ("tempomath");
+PBD::DebugBits PBD::DEBUG::TempoMap = PBD::new_debug_bit ("tempomap");
+PBD::DebugBits PBD::DEBUG::OrderKeys = PBD::new_debug_bit ("orderkeys");
+PBD::DebugBits PBD::DEBUG::Automation = PBD::new_debug_bit ("automation");
+PBD::DebugBits PBD::DEBUG::WiimoteControl = PBD::new_debug_bit ("wiimotecontrol");
+PBD::DebugBits PBD::DEBUG::Ports = PBD::new_debug_bit ("Ports");
+PBD::DebugBits PBD::DEBUG::AudioEngine = PBD::new_debug_bit ("AudioEngine");
+PBD::DebugBits PBD::DEBUG::Soundcloud = PBD::new_debug_bit ("Soundcloud");
+PBD::DebugBits PBD::DEBUG::Butler = PBD::new_debug_bit ("Butler");
+PBD::DebugBits PBD::DEBUG::Selection = PBD::new_debug_bit ("selection");
+PBD::DebugBits PBD::DEBUG::GenericMidi = PBD::new_debug_bit ("genericmidi");
+
+PBD::DebugBits PBD::DEBUG::BackendMIDI = PBD::new_debug_bit ("backendmidi");
+PBD::DebugBits PBD::DEBUG::BackendAudio = PBD::new_debug_bit ("backendaudio");
+PBD::DebugBits PBD::DEBUG::BackendTiming = PBD::new_debug_bit ("backendtiming");
+PBD::DebugBits PBD::DEBUG::BackendThreads = PBD::new_debug_bit ("backendthreads");
+PBD::DebugBits PBD::DEBUG::BackendPorts = PBD::new_debug_bit ("backendports");
+PBD::DebugBits PBD::DEBUG::VSTCallbacks = PBD::new_debug_bit ("vstcallbacks");
+PBD::DebugBits PBD::DEBUG::DiskIO = PBD::new_debug_bit ("diskio");
+PBD::DebugBits PBD::DEBUG::FaderPort = PBD::new_debug_bit ("faderport");
+PBD::DebugBits PBD::DEBUG::FaderPort8 = PBD::new_debug_bit ("faderport8");
+PBD::DebugBits PBD::DEBUG::CC121 = PBD::new_debug_bit ("cc121");
+PBD::DebugBits PBD::DEBUG::VCA = PBD::new_debug_bit ("vca");
+PBD::DebugBits PBD::DEBUG::Push2 = PBD::new_debug_bit ("push2");
+PBD::DebugBits PBD::DEBUG::US2400 = PBD::new_debug_bit ("us2400");