Gdk::Geometry geom;
geom.max_width = 1<<16;
geom.max_height = max_height;
- set_geometry_hints(*((Gtk::Window*) this), geom, Gdk::HINT_MAX_SIZE);
+ geom.height_inc = 16;
+ geom.width_inc = 1;
+ set_geometry_hints(*((Gtk::Window*) this), geom, Gdk::HINT_MAX_SIZE | Gdk::HINT_RESIZE_INC);
set_keep_above (true);
set_border_width (0);
if (cur_max_width != geom.max_width) {
cur_max_width = geom.max_width;
- set_geometry_hints(*((Gtk::Window*) this), geom, Gdk::HINT_MAX_SIZE);
+ geom.height_inc = 16;
+ geom.width_inc = 1;
+ set_geometry_hints(*((Gtk::Window*) this), geom, Gdk::HINT_MAX_SIZE | Gdk::HINT_RESIZE_INC);
}
}
return;
}
+ metrics_left.set_session(s);
+ metrics_right.set_session(s);
+
XMLNode* node = _session->instant_xml(X_("Meterbridge"));
if (node) {
set_state (*node);
XMLNode&
Meterbridge::get_state (void)
{
+ char buf[32];
XMLNode* node = new XMLNode ("Meterbridge");
- if (is_realized()) {
- Glib::RefPtr<Gdk::Window> win = get_window();
-
+ if (is_realized() && _visible) {
get_window_pos_and_size ();
-
- XMLNode* geometry = new XMLNode ("geometry");
- char buf[32];
- snprintf(buf, sizeof(buf), "%d", m_width);
- geometry->add_property(X_("x_size"), string(buf));
- snprintf(buf, sizeof(buf), "%d", m_height);
- geometry->add_property(X_("y_size"), string(buf));
- snprintf(buf, sizeof(buf), "%d", m_root_x);
- geometry->add_property(X_("x_pos"), string(buf));
- snprintf(buf, sizeof(buf), "%d", m_root_y);
- geometry->add_property(X_("y_pos"), string(buf));
- node->add_child_nocopy (*geometry);
}
+ XMLNode* geometry = new XMLNode ("geometry");
+ snprintf(buf, sizeof(buf), "%d", m_width);
+ geometry->add_property(X_("x_size"), string(buf));
+ snprintf(buf, sizeof(buf), "%d", m_height);
+ geometry->add_property(X_("y_size"), string(buf));
+ snprintf(buf, sizeof(buf), "%d", m_root_x);
+ geometry->add_property(X_("x_pos"), string(buf));
+ snprintf(buf, sizeof(buf), "%d", m_root_y);
+ geometry->add_property(X_("y_pos"), string(buf));
+ node->add_child_nocopy (*geometry);
+
node->add_property ("show-meterbridge", _visible ? "yes" : "no");
return *node;
}
meter_clear_pattern_cache();
update_metrics();
}
+ else if (p == "show-rec-on-meterbridge") {
+ scroller.queue_resize();
+ }
+ else if (p == "show-mute-on-meterbridge") {
+ scroller.queue_resize();
+ }
+ else if (p == "show-solo-on-meterbridge") {
+ scroller.queue_resize();
+ }
+ else if (p == "show-name-on-meterbridge") {
+ scroller.queue_resize();
+ }
}
void