#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);
- int parse_debug_options (const char* str);
- void list_debug_options ();
+#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,
- Transport = 0x400,
- Slave = 0x800,
- SessionEvents = 0x800,
- };
}
-
}
-#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__ */