merge from trunk
[ardour.git] / gtk2_ardour / au_pluginui.cc
1 /*
2     Copyright (C) 2006 Paul Davis 
3         Written by Taybin Rutkin
4
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18
19 */
20
21 #include <ardour/insert.h>
22 #include <ardour/audio_unit.h>
23
24 #include "plugin_ui.h"
25
26 #include "i18n.h"
27
28 using namespace ARDOUR;
29 using namespace PBD;
30
31 AUPluginUI::AUPluginUI (boost::shared_ptr<PluginInsert> ap)
32 {
33         if ((au = boost::dynamic_pointer_cast<AUPlugin> (ap->plugin())) == 0) {
34                 error << _("unknown type of editor-supplying plugin (note: no AudioUnit support in this version of ardour)") << endmsg;
35                 throw failed_constructor ();
36         }
37
38 #if 0
39         set_position (Gtk::WIN_POS_MOUSE);
40         set_name ("PluginEditor");
41         add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
42
43         signal_delete_event().connect (bind (sigc::ptr_fun (just_hide_it), reinterpret_cast<Window*> (this)));
44         insert->GoingAway.connect (mem_fun(*this, &PluginUIWindow::plugin_going_away));
45
46         if (scrollable) {
47                 gint h = _pluginui->get_preferred_height ();
48                 if (h > 600) h = 600;
49                 set_default_size (450, h); 
50         }
51 #endif
52         info << "AUPluginUI created" << endmsg;
53 }
54
55 AUPluginUI::~AUPluginUI ()
56 {
57         // nothing to do here - plugin destructor destroys the GUI
58 }