Make start_touch() truly idempotent
[ardour.git] / libs / ardour / ardour / debug.h
index 636d026f562fdef4846966a9084d0aa610c3acd1..61903cd7245af49db798059bcbe4df1ba006c78b 100644 (file)
 
 #include <sstream>
 
-namespace ARDOUR {
-
-       extern uint64_t debug_bits;
-       void debug_print (const char* prefix, std::string str);
-       void set_debug_bits (uint64_t bits);
+#include "ardour/libardour_visibility.h"
+#include "pbd/debug.h"
 
+namespace PBD {
        namespace DEBUG {
+               LIBARDOUR_API extern DebugBits MidiSourceIO;
+               LIBARDOUR_API extern DebugBits MidiPlaylistIO;
+               LIBARDOUR_API extern DebugBits MidiDiskstreamIO;
+               LIBARDOUR_API extern DebugBits MidiRingBuffer;
+               LIBARDOUR_API extern DebugBits SnapBBT;
+               LIBARDOUR_API extern DebugBits Latency;
+               LIBARDOUR_API extern DebugBits LatencyCompensation;
+               LIBARDOUR_API extern DebugBits Peaks;
+               LIBARDOUR_API extern DebugBits Processors;
+               LIBARDOUR_API extern DebugBits ChanMapping;
+               LIBARDOUR_API extern DebugBits ProcessThreads;
+               LIBARDOUR_API extern DebugBits Graph;
+               LIBARDOUR_API extern DebugBits Destruction;
+               LIBARDOUR_API extern DebugBits MTC;
+               LIBARDOUR_API extern DebugBits LTC;
+               LIBARDOUR_API extern DebugBits Transport;
+               LIBARDOUR_API extern DebugBits Slave;
+               LIBARDOUR_API extern DebugBits SessionEvents;
+               LIBARDOUR_API extern DebugBits MidiIO;
+               LIBARDOUR_API extern DebugBits MackieControl;
+               LIBARDOUR_API extern DebugBits MidiClock;
+               LIBARDOUR_API extern DebugBits Monitor;
+               LIBARDOUR_API extern DebugBits Solo;
+               LIBARDOUR_API extern DebugBits AudioPlayback;
+               LIBARDOUR_API extern DebugBits Panning;
+               LIBARDOUR_API extern DebugBits LV2;
+               LIBARDOUR_API extern DebugBits LV2Automate;
+               LIBARDOUR_API extern DebugBits CaptureAlignment;
+               LIBARDOUR_API extern DebugBits PluginManager;
+               LIBARDOUR_API extern DebugBits AudioUnits;
+               LIBARDOUR_API extern DebugBits ControlProtocols;
+               LIBARDOUR_API extern DebugBits CycleTimers;
+               LIBARDOUR_API extern DebugBits MidiTrackers;
+               LIBARDOUR_API extern DebugBits Layering;
+               LIBARDOUR_API extern DebugBits TempoMath;
+               LIBARDOUR_API extern DebugBits TempoMap;
+               LIBARDOUR_API extern DebugBits OrderKeys;
+               LIBARDOUR_API extern DebugBits Automation;
+               LIBARDOUR_API extern DebugBits WiimoteControl;
+               LIBARDOUR_API extern DebugBits Ports;
+               LIBARDOUR_API extern DebugBits AudioEngine;
+               LIBARDOUR_API extern DebugBits Soundcloud;
+               LIBARDOUR_API extern DebugBits Butler;
+               LIBARDOUR_API extern DebugBits Selection;
+               LIBARDOUR_API extern DebugBits GenericMidi;
+               LIBARDOUR_API extern DebugBits BackendMIDI;
+               LIBARDOUR_API extern DebugBits BackendAudio;
+               LIBARDOUR_API extern DebugBits BackendTiming;
+               LIBARDOUR_API extern DebugBits BackendThreads;
+               LIBARDOUR_API extern DebugBits BackendPorts;
+               LIBARDOUR_API extern DebugBits VSTCallbacks;
+               LIBARDOUR_API extern DebugBits FaderPort;
+               LIBARDOUR_API extern DebugBits FaderPort8;
+               LIBARDOUR_API extern DebugBits CC121;
+               LIBARDOUR_API extern DebugBits VCA;
+               LIBARDOUR_API extern DebugBits Push2;
 
-               /* this namespace is so that we can write DEBUG::bit_name */
-
-               enum DebugBits {
-                       MidiSourceIO = 0x1,
-                       MidiPlaylistIO = 0x2,
-                       MidiDiskstreamIO = 0x4,
-                       SnapBBT = 0x8,
-                       Configuration = 0x10,
-                       Latency = 0x20,
-                       Processors = 0x40,
-                       Graph = 0x80,
-                       Destruction = 0x100,
-                       MTC = 0x200
-               };
        }
-
 }
 
-#ifndef NDEBUG
-#define DEBUG_TRACE(bits,str) if ((bits) & ARDOUR::debug_bits) { ARDOUR::debug_print (# bits, str); }
-#define DEBUG_STR_SET(id,s) std::stringstream __debug_str ## id; __debug_str ## id << s;
-#define DEBUG_STR(id) __debug_str ## id
-#else
-#define DEBUG_TRACE(bits,fmt,...) /*empty*/
-#define DEBUG_STR_SET(a,b) /* empty */
-#define DEBUG_STR(a) /* empty */
-#endif
-
 #endif /* __ardour_debug_h__ */