summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-06-12 18:14:09 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-06-12 18:14:09 -0400
commitcc543280d9869d4a7b800d547c53e38b13d02cea (patch)
treeaa26b29a02fa43ff24e5c9c777cb5294bf67e8e9 /libs/ardour
parent10643779b6f039a7458bd0c970ef40ac80ea0568 (diff)
We were 2 more debug "bits" away from overflow, so recast PBD::DEBUG mechanism away from a 64bit integer and toward std::bitset.
Clean up a few minor related PBD::DEBUG issues along the way
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/cycle_timer.h4
-rw-r--r--libs/ardour/ardour/debug.h80
-rw-r--r--libs/ardour/debug.cc80
-rw-r--r--libs/ardour/midi_buffer.cc2
-rw-r--r--libs/ardour/midi_diskstream.cc2
-rw-r--r--libs/ardour/midi_port.cc24
-rw-r--r--libs/ardour/midi_ring_buffer.cc2
-rw-r--r--libs/ardour/session_events.cc11
8 files changed, 97 insertions, 108 deletions
diff --git a/libs/ardour/ardour/cycle_timer.h b/libs/ardour/ardour/cycle_timer.h
index cab389ee69..ac19abda1e 100644
--- a/libs/ardour/ardour/cycle_timer.h
+++ b/libs/ardour/ardour/cycle_timer.h
@@ -42,7 +42,7 @@ class LIBARDOUR_API CycleTimer {
public:
CycleTimer(const std::string& name) {
#ifndef NDEBUG
- if (PBD::debug_bits & PBD::DEBUG::CycleTimers) {
+ if (DEBUG_ENABLED (PBD::DEBUG::CycleTimers)) {
_name = name;
if (cycles_per_usec == 0) {
cycles_per_usec = get_mhz ();
@@ -56,7 +56,7 @@ class LIBARDOUR_API CycleTimer {
~CycleTimer() {
#ifndef NDEBUG
- if (PBD::debug_bits & PBD::DEBUG::CycleTimers) {
+ if (DEBUG_ENABLED (PBD::DEBUG::CycleTimers)) {
_exit = get_cycles();
std::cerr << _name << ": " << (float) (_exit - _entry) / cycles_per_usec << " (" << _entry << ", " << _exit << ')' << std::endl;
}
diff --git a/libs/ardour/ardour/debug.h b/libs/ardour/ardour/debug.h
index 8f4b562905..1c19d855bc 100644
--- a/libs/ardour/ardour/debug.h
+++ b/libs/ardour/ardour/debug.h
@@ -29,46 +29,46 @@
namespace PBD {
namespace DEBUG {
- LIBARDOUR_API extern uint64_t MidiSourceIO;
- LIBARDOUR_API extern uint64_t MidiPlaylistIO;
- LIBARDOUR_API extern uint64_t MidiDiskstreamIO;
- LIBARDOUR_API extern uint64_t SnapBBT;
- LIBARDOUR_API extern uint64_t Latency;
- LIBARDOUR_API extern uint64_t LatencyCompensation;
- LIBARDOUR_API extern uint64_t Peaks;
- LIBARDOUR_API extern uint64_t Processors;
- LIBARDOUR_API extern uint64_t ProcessThreads;
- LIBARDOUR_API extern uint64_t Graph;
- LIBARDOUR_API extern uint64_t Destruction;
- LIBARDOUR_API extern uint64_t MTC;
- LIBARDOUR_API extern uint64_t LTC;
- LIBARDOUR_API extern uint64_t Transport;
- LIBARDOUR_API extern uint64_t Slave;
- LIBARDOUR_API extern uint64_t SessionEvents;
- LIBARDOUR_API extern uint64_t MidiIO;
- LIBARDOUR_API extern uint64_t MackieControl;
- LIBARDOUR_API extern uint64_t MidiClock;
- LIBARDOUR_API extern uint64_t Monitor;
- LIBARDOUR_API extern uint64_t Solo;
- LIBARDOUR_API extern uint64_t AudioPlayback;
- LIBARDOUR_API extern uint64_t Panning;
- LIBARDOUR_API extern uint64_t LV2;
- LIBARDOUR_API extern uint64_t CaptureAlignment;
- LIBARDOUR_API extern uint64_t PluginManager;
- LIBARDOUR_API extern uint64_t AudioUnits;
- LIBARDOUR_API extern uint64_t ControlProtocols;
- LIBARDOUR_API extern uint64_t CycleTimers;
- LIBARDOUR_API extern uint64_t MidiTrackers;
- LIBARDOUR_API extern uint64_t Layering;
- LIBARDOUR_API extern uint64_t TempoMath;
- LIBARDOUR_API extern uint64_t TempoMap;
- LIBARDOUR_API extern uint64_t OrderKeys;
- LIBARDOUR_API extern uint64_t Automation;
- LIBARDOUR_API extern uint64_t WiimoteControl;
- LIBARDOUR_API extern uint64_t Ports;
- LIBARDOUR_API extern uint64_t AudioEngine;
- LIBARDOUR_API extern uint64_t Soundcloud;
- LIBARDOUR_API extern uint64_t Butler;
+ LIBARDOUR_API extern DebugBits MidiSourceIO;
+ LIBARDOUR_API extern DebugBits MidiPlaylistIO;
+ LIBARDOUR_API extern DebugBits MidiDiskstreamIO;
+ 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 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 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;
}
}
diff --git a/libs/ardour/debug.cc b/libs/ardour/debug.cc
index c0993e9da6..0a00e896d9 100644
--- a/libs/ardour/debug.cc
+++ b/libs/ardour/debug.cc
@@ -25,45 +25,45 @@
using namespace std;
-uint64_t PBD::DEBUG::MidiSourceIO = PBD::new_debug_bit ("midisourceio");
-uint64_t PBD::DEBUG::MidiPlaylistIO = PBD::new_debug_bit ("midiplaylistio");
-uint64_t PBD::DEBUG::MidiDiskstreamIO = PBD::new_debug_bit ("mididiskstreamio");
-uint64_t PBD::DEBUG::SnapBBT = PBD::new_debug_bit ("snapbbt");
-uint64_t PBD::DEBUG::Latency = PBD::new_debug_bit ("latency");
-uint64_t PBD::DEBUG::LatencyCompensation = PBD::new_debug_bit ("latencycompensation");
-uint64_t PBD::DEBUG::Peaks = PBD::new_debug_bit ("peaks");
-uint64_t PBD::DEBUG::Processors = PBD::new_debug_bit ("processors");
-uint64_t PBD::DEBUG::ProcessThreads = PBD::new_debug_bit ("processthreads");
-uint64_t PBD::DEBUG::Graph = PBD::new_debug_bit ("graph");
-uint64_t PBD::DEBUG::Destruction = PBD::new_debug_bit ("destruction");
-uint64_t PBD::DEBUG::MTC = PBD::new_debug_bit ("mtc");
-uint64_t PBD::DEBUG::LTC = PBD::new_debug_bit ("ltc");
-uint64_t PBD::DEBUG::Transport = PBD::new_debug_bit ("transport");
-uint64_t PBD::DEBUG::Slave = PBD::new_debug_bit ("slave");
-uint64_t PBD::DEBUG::SessionEvents = PBD::new_debug_bit ("sessionevents");
-uint64_t PBD::DEBUG::MidiIO = PBD::new_debug_bit ("midiio");
-uint64_t PBD::DEBUG::MackieControl = PBD::new_debug_bit ("mackiecontrol");
-uint64_t PBD::DEBUG::MidiClock = PBD::new_debug_bit ("midiclock");
-uint64_t PBD::DEBUG::Monitor = PBD::new_debug_bit ("monitor");
-uint64_t PBD::DEBUG::Solo = PBD::new_debug_bit ("solo");
-uint64_t PBD::DEBUG::AudioPlayback = PBD::new_debug_bit ("audioplayback");
-uint64_t PBD::DEBUG::Panning = PBD::new_debug_bit ("panning");
-uint64_t PBD::DEBUG::LV2 = PBD::new_debug_bit ("lv2");
-uint64_t PBD::DEBUG::CaptureAlignment = PBD::new_debug_bit ("capturealignment");
-uint64_t PBD::DEBUG::PluginManager = PBD::new_debug_bit ("pluginmanager");
-uint64_t PBD::DEBUG::AudioUnits = PBD::new_debug_bit ("audiounits");
-uint64_t PBD::DEBUG::ControlProtocols = PBD::new_debug_bit ("controlprotocols");
-uint64_t PBD::DEBUG::CycleTimers = PBD::new_debug_bit ("cycletimers");
-uint64_t PBD::DEBUG::MidiTrackers = PBD::new_debug_bit ("miditrackers");
-uint64_t PBD::DEBUG::Layering = PBD::new_debug_bit ("layering");
-uint64_t PBD::DEBUG::TempoMath = PBD::new_debug_bit ("tempomath");
-uint64_t PBD::DEBUG::TempoMap = PBD::new_debug_bit ("tempomap");
-uint64_t PBD::DEBUG::OrderKeys = PBD::new_debug_bit ("orderkeys");
-uint64_t PBD::DEBUG::Automation = PBD::new_debug_bit ("automation");
-uint64_t PBD::DEBUG::WiimoteControl = PBD::new_debug_bit ("wiimotecontrol");
-uint64_t PBD::DEBUG::Ports = PBD::new_debug_bit ("Ports");
-uint64_t PBD::DEBUG::AudioEngine = PBD::new_debug_bit ("AudioEngine");
-uint64_t PBD::DEBUG::Soundcloud = PBD::new_debug_bit ("Soundcloud");
-uint64_t PBD::DEBUG::Butler = PBD::new_debug_bit ("Butler");
+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::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::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::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");
diff --git a/libs/ardour/midi_buffer.cc b/libs/ardour/midi_buffer.cc
index ee6bd13d51..b1b09e4c98 100644
--- a/libs/ardour/midi_buffer.cc
+++ b/libs/ardour/midi_buffer.cc
@@ -163,7 +163,7 @@ MidiBuffer::push_back(TimeType time, size_t size, const uint8_t* data)
const size_t stamp_size = sizeof(TimeType);
#ifndef NDEBUG
- if (DEBUG::MidiIO & PBD::debug_bits) {
+ if (DEBUG_ENABLED(DEBUG::MidiIO)) {
DEBUG_STR_DECL(a);
DEBUG_STR_APPEND(a, string_compose ("midibuffer %1 push event @ %2 sz %3 ", this, time, size));
for (size_t i=0; i < size; ++i) {
diff --git a/libs/ardour/midi_diskstream.cc b/libs/ardour/midi_diskstream.cc
index e8b23b3431..f17b38d7ea 100644
--- a/libs/ardour/midi_diskstream.cc
+++ b/libs/ardour/midi_diskstream.cc
@@ -414,7 +414,7 @@ MidiDiskstream::process (BufferSet& bufs, framepos_t transport_frame, pframes_t
break;
}
#ifndef NDEBUG
- if (DEBUG::MidiIO & PBD::debug_bits) {
+ if (DEBUG_ENABLED(DEBUG::MidiIO)) {
const uint8_t* __data = ev.buffer();
DEBUG_STR_DECL(a);
DEBUG_STR_APPEND(a, string_compose ("mididiskstream %1 capture event @ %2 + %3 sz %4 ", this, ev.time(), transport_frame, ev.size()));
diff --git a/libs/ardour/midi_port.cc b/libs/ardour/midi_port.cc
index 615abede1c..f7a0d0fadb 100644
--- a/libs/ardour/midi_port.cc
+++ b/libs/ardour/midi_port.cc
@@ -231,18 +231,18 @@ MidiPort::flush_buffers (pframes_t nframes)
// event times are in frames, relative to cycle start
#ifndef NDEBUG
- if (DEBUG::MidiIO & PBD::debug_bits) {
- DEBUG_STR_DECL(a);
- DEBUG_STR_APPEND(a, string_compose ("MidiPort %1 pop event @ %2 sz %3 ", _buffer, ev.time(), ev.size()));
- for (size_t i=0; i < ev.size(); ++i) {
- DEBUG_STR_APPEND(a,hex);
- DEBUG_STR_APPEND(a,"0x");
- DEBUG_STR_APPEND(a,(int)(ev.buffer()[i]));
- DEBUG_STR_APPEND(a,' ');
- }
- DEBUG_STR_APPEND(a,'\n');
- DEBUG_TRACE (DEBUG::MidiIO, DEBUG_STR(a).str());
- }
+ if (DEBUG_ENABLED (DEBUG::MidiIO)) {
+ DEBUG_STR_DECL(a);
+ DEBUG_STR_APPEND(a, string_compose ("MidiPort %1 pop event @ %2 sz %3 ", _buffer, ev.time(), ev.size()));
+ for (size_t i=0; i < ev.size(); ++i) {
+ DEBUG_STR_APPEND(a,hex);
+ DEBUG_STR_APPEND(a,"0x");
+ DEBUG_STR_APPEND(a,(int)(ev.buffer()[i]));
+ DEBUG_STR_APPEND(a,' ');
+ }
+ DEBUG_STR_APPEND(a,'\n');
+ DEBUG_TRACE (DEBUG::MidiIO, DEBUG_STR(a).str());
+ }
#endif
assert (ev.time() < (nframes + _global_port_buffer_offset + _port_buffer_offset));
diff --git a/libs/ardour/midi_ring_buffer.cc b/libs/ardour/midi_ring_buffer.cc
index 7e88f5ff45..3923e5306a 100644
--- a/libs/ardour/midi_ring_buffer.cc
+++ b/libs/ardour/midi_ring_buffer.cc
@@ -103,7 +103,7 @@ MidiRingBuffer<T>::read(MidiBuffer& dst, framepos_t start, framepos_t end, frame
bool success = read_contents (ev_size, write_loc);
#ifndef NDEBUG
- if (DEBUG::MidiDiskstreamIO && PBD::debug_bits) {
+ if (DEBUG_ENABLED (DEBUG::MidiDiskstreamIO)) {
DEBUG_STR_DECL(a);
DEBUG_STR_APPEND(a, string_compose ("wrote MidiEvent to Buffer (time=%1, start=%2 offset=%3)", ev_time, start, offset));
for (size_t i=0; i < ev_size; ++i) {
diff --git a/libs/ardour/session_events.cc b/libs/ardour/session_events.cc
index d41b9c5002..53a26363b0 100644
--- a/libs/ardour/session_events.cc
+++ b/libs/ardour/session_events.cc
@@ -74,11 +74,6 @@ SessionEvent::operator new (size_t)
DEBUG_TRACE (DEBUG::SessionEvents, string_compose ("%1 Allocating SessionEvent from %2 ev @ %3 pool size %4 free %5 used %6\n", pthread_name(), p->name(), ev,
p->total(), p->available(), p->used()));
-#ifndef NDEBUG
- if (DEBUG::SessionEvents & PBD::debug_bits) {
- // stacktrace (cerr, 40);
- }
-#endif
ev->own_pool = p;
return ev;
}
@@ -94,12 +89,6 @@ SessionEvent::operator delete (void *ptr, size_t /*size*/)
pthread_name(), ev, enum_2_string (ev->type), enum_2_string (ev->action), p->name(), ev->own_pool->name(), ev->own_pool->total(), ev->own_pool->available(), ev->own_pool->used()
));
-#ifndef NDEBUG
- if (DEBUG::SessionEvents & PBD::debug_bits) {
- // stacktrace (cerr, 40);
- }
-#endif
-
if (p && p == ev->own_pool) {
p->release (ptr);
} else {