From 4ae5737beb158b14003b87e29dac10431cbab14b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 15 Mar 2017 11:34:05 +0100 Subject: Add GUI-Idle debugging/profiling util --- gtk2_ardour/idleometer.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 gtk2_ardour/idleometer.h (limited to 'gtk2_ardour/idleometer.h') diff --git a/gtk2_ardour/idleometer.h b/gtk2_ardour/idleometer.h new file mode 100644 index 0000000000..9fcf2a7353 --- /dev/null +++ b/gtk2_ardour/idleometer.h @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2076 Robin Gareus + * Copyright (C) 2011 Paul Davis + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __ardour_idle_o_meter_h__ +#define __ardour_idle_o_meter_h__ + +#include +#include "ardour_dialog.h" + +class IdleOMeter : public ArdourDialog +{ +public: + IdleOMeter (); + ~IdleOMeter (); + +protected: + virtual void on_show (); + virtual void on_hide (); + +private: + void reset (); + bool idle (); + + Gtk::Label _label_cur; + Gtk::Label _label_min; + Gtk::Label _label_max; + Gtk::Label _label_avg; + Gtk::Label _label_dev; + + int64_t _last_display; + + int64_t _last; + int64_t _min; + int64_t _max; + + int64_t _cnt; + double _total; + double _var_m, _var_s; + sigc::connection _idle_connection; +}; +#endif + -- cgit v1.2.3