summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaybin Rutkin <taybin@taybin.com>2006-11-13 03:49:00 +0000
committerTaybin Rutkin <taybin@taybin.com>2006-11-13 03:49:00 +0000
commit40ee34e43e6c642d88c5d497d2d29db21b059c68 (patch)
tree21bc50e688ace068b364567f54b91910912cac96
parente8a2bf9b49db0e5052abc4e572dbb8a8e89603c9 (diff)
Fixed refresh of strip and track hide buttons.
git-svn-id: svn://localhost/ardour2/trunk@1122 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/automation_time_axis.cc5
-rw-r--r--gtk2_ardour/mixer_strip.cc55
-rw-r--r--gtk2_ardour/mixer_ui.cc56
-rw-r--r--gtk2_ardour/route_time_axis.cc5
-rw-r--r--gtk2_ardour/visual_time_axis.cc5
5 files changed, 72 insertions, 54 deletions
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc
index 22b6e10ac8..147e6ff0d1 100644
--- a/gtk2_ardour/automation_time_axis.cc
+++ b/gtk2_ardour/automation_time_axis.cc
@@ -402,8 +402,13 @@ AutomationTimeAxisView::set_samples_per_unit (double spu)
void
AutomationTimeAxisView::hide_clicked ()
{
+ // LAME fix for refreshing the hide button
+ hide_button.set_sensitive(false);
+
set_marked_for_display (false);
hide ();
+
+ hide_button.set_sensitive(true);
}
void
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 76cce057ee..dd60c51941 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -124,34 +124,31 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, boost::shared_ptr<Route> rt
output_label.set_name ("MixerIOButtonLabel");
_route->meter_change.connect (mem_fun(*this, &MixerStrip::meter_changed));
- meter_point_button.add (meter_point_label);
- meter_point_button.set_name ("MixerStripMeterPreButton");
- meter_point_label.set_name ("MixerStripMeterPreButton");
-
- switch (_route->meter_point()) {
- case MeterInput:
- meter_point_label.set_text (_("input"));
- break;
-
- case MeterPreFader:
- meter_point_label.set_text (_("pre"));
- break;
-
- case MeterPostFader:
- meter_point_label.set_text (_("post"));
- break;
- }
+ meter_point_button.add (meter_point_label);
+ meter_point_button.set_name ("MixerStripMeterPreButton");
+ meter_point_label.set_name ("MixerStripMeterPreButton");
+
+ switch (_route->meter_point()) {
+ case MeterInput:
+ meter_point_label.set_text (_("input"));
+ break;
- /* TRANSLATORS: this string should be longest of the strings
- used to describe meter points. In english, its "input".
- */
+ case MeterPreFader:
+ meter_point_label.set_text (_("pre"));
+ break;
- set_size_request_to_display_given_text (meter_point_button, _("tupni"), 5, 5);
-
-
- bottom_button_table.attach (meter_point_button, 1, 2, 0, 1);
-
-
+ case MeterPostFader:
+ meter_point_label.set_text (_("post"));
+ break;
+ }
+
+ /* TRANSLATORS: this string should be longest of the strings
+ used to describe meter points. In english, it's "input".
+ */
+ set_size_request_to_display_given_text (meter_point_button, _("tupni"), 5, 5);
+
+ bottom_button_table.attach (meter_point_button, 1, 2, 0, 1);
+
meter_point_button.signal_button_press_event().connect (mem_fun (gpm, &GainMeter::meter_press), false);
/* XXX what is this meant to do? */
//meter_point_button.signal_button_release_event().connect (mem_fun (gpm, &GainMeter::meter_release), false);
@@ -1092,11 +1089,17 @@ MixerStrip::width_clicked ()
void
MixerStrip::hide_clicked ()
{
+ // LAME fix to reset the button status for when it is redisplayed (part 1)
+ hide_button.set_sensitive(false);
+
if (_embedded) {
Hiding(); /* EMIT_SIGNAL */
} else {
_mixer.hide_strip (this);
}
+
+ // (part 2)
+ hide_button.set_sensitive(true);
}
void
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index 1ba1be445e..ff3f7eb25f 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -393,11 +393,11 @@ Mixer_UI::disconnect_from_session ()
void
Mixer_UI::show_strip (MixerStrip* ms)
{
- TreeModel::Children rows = track_model->children();
+ TreeModel::Children rows = track_model->children();
TreeModel::Children::iterator i;
-
+
for (i = rows.begin(); i != rows.end(); ++i) {
-
+
MixerStrip* strip = (*i)[track_columns.strip];
if (strip == ms) {
(*i)[track_columns.visible] = true;
@@ -409,7 +409,7 @@ Mixer_UI::show_strip (MixerStrip* ms)
void
Mixer_UI::hide_strip (MixerStrip* ms)
{
- TreeModel::Children rows = track_model->children();
+ TreeModel::Children rows = track_model->children();
TreeModel::Children::iterator i;
for (i = rows.begin(); i != rows.end(); ++i) {
@@ -419,37 +419,37 @@ Mixer_UI::hide_strip (MixerStrip* ms)
(*i)[track_columns.visible] = false;
break;
}
- }
- }
+ }
+}
- gint
- Mixer_UI::start_updating ()
- {
- fast_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (mem_fun(*this, &Mixer_UI::fast_update_strips));
- return 0;
- }
+gint
+Mixer_UI::start_updating ()
+{
+ fast_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (mem_fun(*this, &Mixer_UI::fast_update_strips));
+ return 0;
+}
- gint
- Mixer_UI::stop_updating ()
- {
- fast_screen_update_connection.disconnect();
- return 0;
- }
+gint
+Mixer_UI::stop_updating ()
+{
+ fast_screen_update_connection.disconnect();
+ return 0;
+}
- void
- Mixer_UI::fast_update_strips ()
- {
- if (is_mapped () && session) {
- for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) {
- (*i)->fast_update ();
- }
- }
- }
+void
+Mixer_UI::fast_update_strips ()
+{
+ if (is_mapped () && session) {
+ for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) {
+ (*i)->fast_update ();
+ }
+ }
+}
void
Mixer_UI::set_all_strips_visibility (bool yn)
{
- TreeModel::Children rows = track_model->children();
+ TreeModel::Children rows = track_model->children();
TreeModel::Children::iterator i;
no_track_list_redisplay = true;
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 22f0969105..7769a185c7 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -1122,7 +1122,12 @@ RouteTimeAxisView::visual_click ()
void
RouteTimeAxisView::hide_click ()
{
+ // LAME fix for hide_button refresh fix
+ hide_button.set_sensitive(false);
+
editor.hide_track_in_display (*this);
+
+ hide_button.set_sensitive(true);
}
boost::shared_ptr<Region>
diff --git a/gtk2_ardour/visual_time_axis.cc b/gtk2_ardour/visual_time_axis.cc
index fc71795a71..24cafdbe67 100644
--- a/gtk2_ardour/visual_time_axis.cc
+++ b/gtk2_ardour/visual_time_axis.cc
@@ -199,7 +199,12 @@ VisualTimeAxis::visual_click()
void
VisualTimeAxis::hide_click()
{
+ // LAME fix for hide_button display refresh
+ hide_button.set_sensitive(false);
+
editor.hide_track_in_display (*this);
+
+ hide_button.set_sensitive(true);
}