handle multiple imports of the same file better (via better source naming); make...
[ardour2.git] / gtk2_ardour / port_insert_ui.h
blob297621beec2d433091b30a38df6e3e43c495d9b0
1 /*
2 Copyright (C) 2002-2010 Paul Davis
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 #ifndef __gtkardour_port_insert_ui_h__
21 #define __gtkardour_port_insert_ui_h__
23 #include "ardour_dialog.h"
24 #include "io_selector.h"
26 namespace ARDOUR {
27 class PortInsert;
30 class PortInsertUI : public Gtk::VBox
32 public:
33 PortInsertUI (Gtk::Window*, ARDOUR::Session *, boost::shared_ptr<ARDOUR::PortInsert>);
35 void redisplay ();
36 void finished (IOSelector::Result);
38 private:
39 boost::shared_ptr<ARDOUR::PortInsert> _pi;
41 Gtk::Notebook notebook;
42 Gtk::ToggleButton latency_button;
43 IOSelector input_selector;
44 IOSelector output_selector;
45 Gtk::Label latency_display;
46 Gtk::HBox latency_hbox;
47 sigc::connection latency_timeout;
49 bool check_latency_measurement ();
50 void latency_button_toggled ();
51 void update_latency_display ();
54 class PortInsertWindow : public ArdourDialog
56 public:
57 PortInsertWindow (ARDOUR::Session *, boost::shared_ptr<ARDOUR::PortInsert>);
59 protected:
60 void on_map ();
62 private:
63 PortInsertUI _portinsertui;
64 Gtk::VBox vbox;
66 void cancel ();
67 void accept ();
69 void plugin_going_away ();
70 PBD::ScopedConnection going_away_connection;
72 bool wm_delete (GdkEventAny*);
75 #endif /* __gtkardour_port_insert_ui_h__ */