2 Copyright (C) 2006 Paul Davis
3 Written by Taybin Rutkin
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.
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.
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.
21 #include <ardour/insert.h>
22 #include <ardour/audio_unit.h>
24 #include "plugin_ui.h"
28 using namespace ARDOUR;
31 AUPluginUI::AUPluginUI (boost::shared_ptr<PluginInsert> ap)
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 ();
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);
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));
47 gint h = _pluginui->get_preferred_height ();
49 set_default_size (450, h);
52 info << "AUPluginUI created" << endmsg;
55 AUPluginUI::~AUPluginUI ()
57 // nothing to do here - plugin destructor destroys the GUI