diff --git a/libs/pbd/debug.cc b/libs/pbd/debug.cc index 25ebb64850..9150cd6883 100644 --- a/libs/pbd/debug.cc +++ b/libs/pbd/debug.cc @@ -54,6 +54,19 @@ DebugBits PBD::DEBUG::AbstractUI = PBD::new_debug_bit ("abstractui"); DebugBits PBD::DEBUG::FileUtils = PBD::new_debug_bit ("fileutils"); DebugBits PBD::DEBUG::Configuration = PBD::new_debug_bit ("configuration"); +/* These are debug bits that are used by backends. Since these are loaded dynamically, + after command-line parsing, defining them in code that is part of the backend + doesn't make them available for command line parsing. Put them here. + + This is sort of a hack, because it means that the debug bits aren't defined + with the code in which they are relevant. But providing access to debug bits + from dynamically loaded code, for use in command line parsing, is way above the pay grade + of this debug tracing scheme. +*/ + +DebugBits PBD::DEBUG::WavesMIDI = PBD::new_debug_bit ("WavesMIDI"); +DebugBits PBD::DEBUG::WavesAudio = PBD::new_debug_bit ("WavesAudio"); + DebugBits PBD::debug_bits; DebugBits diff --git a/libs/pbd/pbd/debug.h b/libs/pbd/pbd/debug.h index e4fa525481..828851bfe5 100644 --- a/libs/pbd/pbd/debug.h +++ b/libs/pbd/pbd/debug.h @@ -51,6 +51,11 @@ namespace PBD { LIBPBD_API extern DebugBits AbstractUI; LIBPBD_API extern DebugBits Configuration; LIBPBD_API extern DebugBits FileUtils; + + /* See notes in ../debug.cc on why these are defined here */ + + LIBPBD_API extern DebugBits WavesMIDI; + LIBPBD_API extern DebugBits WavesAudio; } }