2024-03-22 20:57:59 -04:00
|
|
|
#ifndef __ardour_gtk_livetrax_meters_h__
|
|
|
|
#define __ardour_gtk_livetrax_meters_h__
|
|
|
|
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
|
|
#include <gtkmm/box.h>
|
|
|
|
#include <gtkmm/scrolledwindow.h>
|
|
|
|
|
2024-05-06 12:42:24 -04:00
|
|
|
#include "pbd/signals.h"
|
|
|
|
|
2024-03-22 20:57:59 -04:00
|
|
|
namespace Gtk {
|
|
|
|
class Label;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace ArdourWidgets {
|
|
|
|
class FastMeter;
|
|
|
|
}
|
|
|
|
|
|
|
|
class LiveTraxMeters : public Gtk::ScrolledWindow
|
|
|
|
{
|
2024-05-06 12:42:24 -04:00
|
|
|
public:
|
|
|
|
LiveTraxMeters ();
|
2024-03-22 20:57:59 -04:00
|
|
|
~LiveTraxMeters ();
|
|
|
|
|
2024-05-06 12:42:24 -04:00
|
|
|
private:
|
|
|
|
void start_updating ();
|
|
|
|
void stop_updating ();
|
|
|
|
bool update_meters ();
|
2024-03-22 20:57:59 -04:00
|
|
|
void resize (size_t);
|
|
|
|
|
2024-05-06 12:42:24 -04:00
|
|
|
Gtk::HBox _meter_box;
|
|
|
|
std::vector<Gtk::Widget*> _widgets;
|
|
|
|
std::vector<ArdourWidgets::FastMeter*> _meters;
|
|
|
|
PBD::ScopedConnectionList _engine_connections;
|
|
|
|
sigc::connection _fast_screen_update_connection;
|
2024-03-22 20:57:59 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* __ardour_gtk_livetrax_meters_h__ */
|