X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fardour%2Fardour%2Fcycle_timer.h;h=35cc2a4c735238a59c043f1c68a9bc6b881b3e96;hb=99fb7346f07be28f548855b3e9c1ff2a174d994f;hp=dc70204e82fa1f15072fa96d86004da37a7b59ab;hpb=51138ef75b4c59ea5a0c35c23906a093c1e34b2c;p=ardour.git diff --git a/libs/ardour/ardour/cycle_timer.h b/libs/ardour/ardour/cycle_timer.h index dc70204e82..35cc2a4c73 100644 --- a/libs/ardour/ardour/cycle_timer.h +++ b/libs/ardour/ardour/cycle_timer.h @@ -22,10 +22,13 @@ #include #include +#include #include "ardour/cycles.h" #include "ardour/debug.h" +float get_mhz (); + class CycleTimer { private: static float cycles_per_usec; @@ -56,8 +59,34 @@ class CycleTimer { } #endif } +}; - static float get_mhz (); +class StoringTimer +{ +public: + StoringTimer (int); + void ref (); + void check (int); + void dump (std::string const &); + +private: + cycles_t _current_ref; + int* _point; + cycles_t* _value; + cycles_t* _ref; + int _points; + int _max_points; }; +#ifdef PT_TIMING +extern StoringTimer ST; +#define PT_TIMING_REF ST.ref(); +#define PT_TIMING_CHECK(x) ST.check(x); +#endif + +#ifndef PT_TIMING +#define PT_TIMING_REF +#define PT_TIMING_CHECK(x) +#endif + #endif /* __ardour_cycle_timer_h__ */