summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-11-02 19:18:50 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-11-02 19:18:50 +0000
commit06a539420aaff3c9d59c9196a38e4320984f97e7 (patch)
tree3da79ae48f244932d9e411174b4b90241f1e5a06
parentf8f7323f6fa11323810f1c640edbe0014c832306 (diff)
editor mixer visibility now restored correctly
git-svn-id: svn://localhost/ardour2/trunk@1061 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/editor.cc2
-rw-r--r--gtk2_ardour/editor.h1
-rw-r--r--gtk2_ardour/editor_mixer.cc7
-rw-r--r--gtk2_ardour/editor_route_list.cc4
4 files changed, 12 insertions, 2 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 76731ea439..68177a1118 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -288,6 +288,7 @@ Editor::Editor (AudioEngine& eng)
transport_marker_menu = 0;
new_transport_marker_menu = 0;
editor_mixer_strip_width = Wide;
+ show_editor_mixer_when_tracks_arrive = false;
repos_zoom_queued = false;
region_edit_menu_split_item = 0;
temp_location = 0;
@@ -2156,6 +2157,7 @@ Editor::set_state (const XMLNode& node)
Glib::RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("show-editor-mixer"));
if (act) {
+
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
bool yn = (prop->value() == X_("yes"));
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 34a9573cca..0117d364f1 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -1665,6 +1665,7 @@ class Editor : public PublicEditor
/* editor-mixer strip */
MixerStrip *current_mixer_strip;
+ bool show_editor_mixer_when_tracks_arrive;
Gtk::VBox current_mixer_strip_vbox;
void cms_deleted ();
void current_mixer_strip_hidden ();
diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc
index cd951a9d62..38899a7e3a 100644
--- a/gtk2_ardour/editor_mixer.cc
+++ b/gtk2_ardour/editor_mixer.cc
@@ -49,15 +49,18 @@ Editor::cms_deleted ()
void
Editor::show_editor_mixer (bool yn)
{
+ show_editor_mixer_when_tracks_arrive = true;
+
if (yn) {
if (current_mixer_strip == 0) {
if (selection->tracks.empty()) {
- if (track_views.empty()) {
+ if (track_views.empty()) {
+ show_editor_mixer_when_tracks_arrive = true;
return;
- }
+ }
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
AudioTimeAxisView* atv;
diff --git a/gtk2_ardour/editor_route_list.cc b/gtk2_ardour/editor_route_list.cc
index 573dec0fd5..3e2f130691 100644
--- a/gtk2_ardour/editor_route_list.cc
+++ b/gtk2_ardour/editor_route_list.cc
@@ -109,6 +109,10 @@ Editor::handle_new_route (Session::RouteList& routes)
tv->GoingAway.connect (bind (mem_fun(*this, &Editor::remove_route), tv));
}
+ if (show_editor_mixer_when_tracks_arrive) {
+ show_editor_mixer (true);
+ }
+
editor_mixer_button.set_sensitive(true);
}