MIDI metering.
[ardour.git] / gtk2_ardour / editor_mixer.cc
index cf0f831fa893462f903f876bfc872a915f416158..9bb481966e4091d365233821e43b02ac8abe56ab 100644 (file)
 
 */
 
+#include <glibmm/miscutils.h>
 #include <gtkmm2ext/utils.h>
+#include <gtkmm2ext/window_title.h>
+
+#include <pbd/enumwriter.h>
+
 #include <ardour/audioengine.h>
 
 #include "editor.h"
@@ -29,6 +34,9 @@
 
 #include "i18n.h"
 
+using namespace Gtkmm2ext;
+using namespace PBD;
+
 void
 Editor::editor_mixer_button_toggled ()
 {
@@ -103,8 +111,8 @@ Editor::show_editor_mixer (bool yn)
                        current_mixer_strip->set_embedded (true);
                        current_mixer_strip->Hiding.connect (mem_fun(*this, &Editor::current_mixer_strip_hidden));
                        current_mixer_strip->GoingAway.connect (mem_fun(*this, &Editor::current_mixer_strip_removed));
-                       current_mixer_strip->set_width (editor_mixer_strip_width);
-                       
+                       current_mixer_strip->set_width (editor_mixer_strip_width, (void*) this);
+
                        global_hpacker.pack_start (*current_mixer_strip, Gtk::PACK_SHRINK );
                        global_hpacker.reorder_child (*current_mixer_strip, 0);
 
@@ -125,10 +133,10 @@ Editor::show_editor_mixer (bool yn)
 void
 Editor::set_selected_mixer_strip (TimeAxisView& view)
 {
-       AudioTimeAxisView* at;
+       RouteTimeAxisView* rt;
        bool show = false;
 
-       if (!session || (at = dynamic_cast<AudioTimeAxisView*>(&view)) == 0) {
+       if (!session || (rt = dynamic_cast<RouteTimeAxisView*>(&view)) == 0) {
                return;
        }
        
@@ -136,7 +144,7 @@ Editor::set_selected_mixer_strip (TimeAxisView& view)
 
                /* might be nothing to do */
 
-               if (current_mixer_strip->route() == at->route()) {
+               if (current_mixer_strip->route() == rt->route()) {
                        return;
                }
 
@@ -149,7 +157,7 @@ Editor::set_selected_mixer_strip (TimeAxisView& view)
 
        current_mixer_strip = new MixerStrip (*ARDOUR_UI::instance()->the_mixer(),
                                              *session,
-                                             at->route());
+                                             rt->route());
        current_mixer_strip->GoingAway.connect (mem_fun(*this, &Editor::cms_deleted));
        
        if (show) {
@@ -344,7 +352,18 @@ Editor::session_going_away ()
 
        current_mixer_strip = 0;
 
-       set_title (_("ardour: editor"));
+       WindowTitle title(Glib::get_application_name());
+       title += _("Editor");
+
+       set_title (title.get_string());
 
        session = 0;
 }
+
+void
+Editor::maybe_add_mixer_strip_width (XMLNode& node)
+{
+       if (current_mixer_strip) {
+               node.add_property ("mixer-width", enum_2_string (current_mixer_strip->get_width()));
+       }
+}