class Menu;
}
-class LevelMeterBase : public ARDOUR::SessionHandlePtr
+class LevelMeterBase : public ARDOUR::SessionHandlePtr, virtual public sigc::trackable
{
public:
LevelMeterBase (ARDOUR::Session*, PBD::EventLoop::InvalidationRecord* ir,
void clear_meters (bool reset_highlight = true);
void hide_meters ();
void setup_meters (int len=0, int width=3, int thin=2);
+ void set_max_audio_meter_count (uint32_t cnt = 0);
void set_type (ARDOUR::MeterType);
ARDOUR::MeterType get_type () { return meter_type; }
struct MeterInfo {
Gtkmm2ext::FastMeter *meter;
gint16 width;
- int length;
+ int length;
bool packed;
float max_peak;
float max_peak;
ARDOUR::MeterType meter_type;
ARDOUR::MeterType visible_meter_type;
+ uint32_t midi_count;
+ uint32_t meter_count;
+ uint32_t max_visible_meters;
PBD::ScopedConnection _configuration_connection;
PBD::ScopedConnection _meter_type_connection;
void configuration_changed (ARDOUR::ChanCount in, ARDOUR::ChanCount out);
void meter_type_changed (ARDOUR::MeterType);
- void on_theme_changed ();
- bool style_changed;
bool color_changed;
void color_handler ();
};