diff options
author | Robin Gareus <robin@gareus.org> | 2018-09-25 00:12:42 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-09-25 00:13:08 +0200 |
commit | d71dfdfd6a0c49014ff422cd65048a13ded3b3e5 (patch) | |
tree | 897b16eb690293e870b785a7bf9ece9210088eb0 /gtk2_ardour/plugin_dspload_window.h | |
parent | f7b93ee7b947ea1932b3c2ede6af19abb04a2555 (diff) |
Add a window that shows DSP usage of all plugins
Currently hidden, use
Editor:access_action("Window", "toggle-plugin-dsp-load")
Diffstat (limited to 'gtk2_ardour/plugin_dspload_window.h')
-rw-r--r-- | gtk2_ardour/plugin_dspload_window.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/gtk2_ardour/plugin_dspload_window.h b/gtk2_ardour/plugin_dspload_window.h new file mode 100644 index 0000000000..5581d07138 --- /dev/null +++ b/gtk2_ardour/plugin_dspload_window.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2018 Robin Gareus <robin@gareus.org> + * + * 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_plugin_dspload_window_h__ +#define __ardour_plugin_dspload_window_h__ + +#include <boost/weak_ptr.hpp> + +#include <gtkmm/box.h> +#include <gtkmm/scrolledwindow.h> + +#include "pbd/signals.h" + +#include "ardour_window.h" + +namespace ARDOUR { + class Processor; +} + +class PluginLoadStatsGui; + +class PluginDSPLoadWindow : public ArdourWindow +{ +public: + PluginDSPLoadWindow (); + ~PluginDSPLoadWindow (); + + void set_session (ARDOUR::Session*); + +protected: + void session_going_away(); + + void on_show (); + void on_hide (); + +private: + void refill_processors (); + void drop_references (); + void add_processor_to_display (boost::weak_ptr<ARDOUR::Processor>, std::string const&); + + Gtk::ScrolledWindow _scroller; + Gtk::VBox _box; + + PBD::ScopedConnectionList _processor_connections; + PBD::ScopedConnectionList _route_connections; +}; +#endif + |