summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-02-10 02:44:56 +0000
committerCarl Hetherington <carl@carlh.net>2011-02-10 02:44:56 +0000
commit4569f40a3809ced81374550642bc053202211bc2 (patch)
treee9c0fc3b4eba8bd340e8d9352ec5989a57180480 /gtk2_ardour
parent8ca49536e78b67c190036bcd17c0f26214ae36ff (diff)
Prevent erroneous splitting icons in the editor mixer strip's processor box.
git-svn-id: svn://localhost/ardour2/branches/3.0@8816 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor.cc9
-rw-r--r--gtk2_ardour/editor_mixer.cc2
-rw-r--r--gtk2_ardour/mixer_strip.cc6
-rw-r--r--gtk2_ardour/mixer_strip.h2
-rw-r--r--gtk2_ardour/processor_box.cc15
-rw-r--r--gtk2_ardour/processor_box.h7
6 files changed, 40 insertions, 1 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 9cb680463e..4a18d0c813 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -816,6 +816,11 @@ Editor::show_window ()
if (!is_visible ()) {
show_all ();
+ /* XXX: this is a bit unfortunate; it would probably
+ be nicer if we could just call show () above rather
+ than needing the show_all ()
+ */
+
/* re-hide stuff if necessary */
editor_list_button_toggled ();
parameter_changed ("show-summary");
@@ -832,6 +837,10 @@ Editor::show_window ()
tv = (static_cast<TimeAxisView*>(*i));
tv->reset_height ();
}
+
+ if (current_mixer_strip) {
+ current_mixer_strip->hide_things ();
+ }
}
present ();
diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc
index ec71892235..ae045d7a45 100644
--- a/gtk2_ardour/editor_mixer.cc
+++ b/gtk2_ardour/editor_mixer.cc
@@ -121,7 +121,7 @@ Editor::show_editor_mixer (bool yn)
if (current_mixer_strip->get_parent() == 0) {
global_hpacker.pack_start (*current_mixer_strip, Gtk::PACK_SHRINK );
global_hpacker.reorder_child (*current_mixer_strip, 0);
- current_mixer_strip->show_all ();
+ current_mixer_strip->show ();
}
} else {
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 33b012aebb..8794381229 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -1904,3 +1904,9 @@ MixerStrip::plugin_selector()
{
return _mixer.plugin_selector();
}
+
+void
+MixerStrip::hide_things ()
+{
+ processor_box.hide_things ();
+}
diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h
index fb56c5284b..58eb2a0e19 100644
--- a/gtk2_ardour/mixer_strip.h
+++ b/gtk2_ardour/mixer_strip.h
@@ -107,6 +107,8 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
return _mixer_owned;
}
+ void hide_things ();
+
sigc::signal<void> WidthChanged;
/** The delivery that we are handling the level for with our fader has changed */
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index c5454d59aa..6019f20f7f 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -385,6 +385,12 @@ PluginInsertProcessorEntry::plugin_insert_splitting_changed ()
}
void
+PluginInsertProcessorEntry::hide_things ()
+{
+ plugin_insert_splitting_changed ();
+}
+
+void
PluginInsertProcessorEntry::setup_visuals ()
{
switch (_position) {
@@ -2285,6 +2291,15 @@ ProcessorBox::mixer_strip_delivery_changed (boost::weak_ptr<Delivery> w)
}
}
+void
+ProcessorBox::hide_things ()
+{
+ list<ProcessorEntry*> c = processor_display.children ();
+ for (list<ProcessorEntry*>::iterator i = c.begin(); i != c.end(); ++i) {
+ (*i)->hide_things ();
+ }
+}
+
ProcessorWindowProxy::ProcessorWindowProxy (
string const & name,
XMLNode const * node,
diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h
index a6395fc4ef..bd5f18b947 100644
--- a/gtk2_ardour/processor_box.h
+++ b/gtk2_ardour/processor_box.h
@@ -119,6 +119,9 @@ public:
void set_enum_width (Width);
virtual void set_pixel_width (int) {}
+ /** Hide any widgets that should be hidden */
+ virtual void hide_things () {}
+
protected:
virtual void setup_visuals ();
@@ -173,6 +176,8 @@ class PluginInsertProcessorEntry : public ProcessorEntry
public:
PluginInsertProcessorEntry (boost::shared_ptr<ARDOUR::PluginInsert>, Width);
+ void hide_things ();
+
private:
void setup_visuals ();
void plugin_insert_splitting_changed ();
@@ -206,6 +211,8 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD
void select_all_inserts ();
void select_all_sends ();
+ void hide_things ();
+
Gtk::Window* get_processor_ui (boost::shared_ptr<ARDOUR::Processor>) const;
void toggle_edit_processor (boost::shared_ptr<ARDOUR::Processor>);