Unconditionally save instant.xml on session-close
[ardour.git] / gtk2_ardour / ardour_ui_mixer.cc
index 991f37c3a7a2cb4669bf1ec842049f638d824a78..e4fc1b36c762543bf11079684e8406f41a3d44ca 100644 (file)
@@ -1,22 +1,24 @@
 /*
-    Copyright (C) 2000 Paul Davis 
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-    $Id$
-*/
+ * Copyright (C) 2005-2007 Taybin Rutkin <taybin@taybin.com>
+ * Copyright (C) 2006-2018 Paul Davis <paul@linuxaudiosystems.com>
+ * Copyright (C) 2009-2011 David Robillard <d@drobilla.net>
+ * Copyright (C) 2010-2012 Carl Hetherington <carl@carlh.net>
+ * Copyright (C) 2013-2015 Robin Gareus <robin@gareus.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 
 /* This file contains any ARDOUR_UI methods that require knowledge of
    the mixer, and exists so that no compilation dependency exists
    is to cut down on the nasty compile times for these classes.
 */
 
+#include "gtkmm2ext/keyboard.h"
+
+#include "actions.h"
 #include "ardour_ui.h"
+#include "meterbridge.h"
 #include "mixer_ui.h"
 
+#include "pbd/i18n.h"
+
 using namespace ARDOUR;
 using namespace PBD;
 
@@ -35,8 +43,27 @@ ARDOUR_UI::create_mixer ()
 
 {
        try {
-               mixer = new Mixer_UI (*engine);
-       } 
+               mixer = Mixer_UI::instance ();
+               mixer->StateChange.connect (sigc::mem_fun (*this, &ARDOUR_UI::tabbable_state_change));
+       }
+
+       catch (failed_constructor& err) {
+               return -1;
+       }
+
+       // mixer->signal_event().connect (sigc::bind (sigc::ptr_fun (&Gtkmm2ext::Keyboard::catch_user_event_for_pre_dialog_focus), mixer));
+
+       return 0;
+}
+
+
+int
+ARDOUR_UI::create_meterbridge ()
+
+{
+       try {
+               meterbridge = Meterbridge::instance ();
+       }
 
        catch (failed_constructor& err) {
                return -1;
@@ -44,3 +71,4 @@ ARDOUR_UI::create_mixer ()
 
        return 0;
 }
+