add ::n_vcas() method to VCAManager
[ardour.git] / libs / ardour / ardour / cycle_timer.h
index 35cc2a4c735238a59c043f1c68a9bc6b881b3e96..54a2d1d8f2d27f47df119a55902e42828f721312 100644 (file)
 #include <iostream>
 #include <cstdlib>
 
+#include "ardour/libardour_visibility.h"
 #include "ardour/cycles.h"
 #include "ardour/debug.h"
 
 float get_mhz ();
 
-class CycleTimer {
+class LIBARDOUR_API CycleTimer {
   private:
        static float cycles_per_usec;
 #ifndef NDEBUG
@@ -41,19 +42,21 @@ class 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 ();
                        }
                        _entry = get_cycles();
                }
+#else
+               (void) name;
 #endif
        }
 
        ~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;
                }
@@ -61,13 +64,15 @@ class CycleTimer {
        }
 };
 
-class StoringTimer
+class LIBARDOUR_API StoringTimer
 {
 public:
        StoringTimer (int);
        void ref ();
        void check (int);
+#ifndef NDEBUG
        void dump (std::string const &);
+#endif
 
 private:
        cycles_t _current_ref;