public ARDOUR::SessionHandlePtr,
public Gtkmm2ext::VisibilityTracker
{
- public:
+public:
static Meterbridge* instance();
~Meterbridge();
void show_window ();
bool hide_window (GdkEventAny *ev);
- private:
+private:
Meterbridge ();
static Meterbridge* _instance;
void add_strips (ARDOUR::RouteList&);
void remove_strip (MeterStrip *);
- void update_metrics ();
void session_going_away ();
- void sync_order_keys (ARDOUR::RouteSortOrderKey src);
+ void sync_order_keys ();
void resync_order ();
mutable Glib::Threads::Mutex _resync_mutex;
}
};
- struct MeterOrderRouteSorter {
+ struct MeterOrderRouteSorter
+ {
bool operator() (struct MeterBridgeStrip ma, struct MeterBridgeStrip mb) {
boost::shared_ptr<ARDOUR::Route> a = ma.s->route();
boost::shared_ptr<ARDOUR::Route> b = mb.s->route();
/* everything comes before b */
return true;
}
- return a->order_key (ARDOUR::MixerSort) < b->order_key (ARDOUR::MixerSort);
+ return ARDOUR::Stripable::Sorter (true) (a, b);
}
};
MeterStrip metrics_left;
MeterStrip metrics_right;
+ std::vector<MeterStrip *> _metrics;
Gtk::VBox metrics_vpacker_left;
Gtk::VBox metrics_vpacker_right;
void parameter_changed (std::string const & p);
void on_theme_changed ();
+
+ void on_scroll ();
+ sigc::connection scroll_connection;
+
+ int _mm_left, _mm_right;
+ ARDOUR::MeterType _mt_left, _mt_right;
};
#endif