#include <map>
#include <list>
-#include <sigc++/signal_system.h>
-
-#include <gtk--.h>
-#include <gtk--/socket.h>
+#include <sigc++/signal.h>
+
+#include <gtkmm/button.h>
+#include <gtkmm/box.h>
+#include <gtkmm/table.h>
+#include <gtkmm/eventbox.h>
+#include <gtkmm/viewport.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/label.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/adjustment.h>
+#include <gtkmm/togglebutton.h>
+#include <gtkmm/socket.h>
+#include <gtkmm/comboboxtext.h>
+#include <gtkmm/socket.h>
#include <ardour_dialog.h>
#include <ardour/types.h>
class Redirect;
}
-namespace MIDI {
+namespace PBD {
class Controllable;
}
-namespace Gtkmmext {
+namespace Gtkmm2ext {
class HSliderController;
class BarController;
class ClickBox;
class PixmapButton;
}
-class PlugUIBase : public SigC::Object
+class PlugUIBase : public virtual sigc::trackable
{
public:
PlugUIBase (ARDOUR::PluginInsert&);
virtual ~PlugUIBase() {}
virtual gint get_preferred_height () = 0;
- virtual gint start_updating(GdkEventAny*) = 0;
- virtual gint stop_updating(GdkEventAny*) = 0;
+ virtual bool start_updating(GdkEventAny*) = 0;
+ virtual bool stop_updating(GdkEventAny*) = 0;
protected:
ARDOUR::PluginInsert& insert;
ARDOUR::Plugin& plugin;
- Gtk::Combo combo;
+ Gtk::ComboBoxText combo;
Gtk::Button save_button;
Gtk::ToggleButton bypass_button;
- gint setting_selected(GdkEventAny* ignored);
+ void setting_selected();
void save_plugin_setting (void);
void bypass_toggled();
};
gint get_preferred_height () { return prefheight; }
- gint start_updating(GdkEventAny*);
- gint stop_updating(GdkEventAny*);
+ bool start_updating(GdkEventAny*);
+ bool stop_updating(GdkEventAny*);
private:
ARDOUR::AudioEngine &engine;
Gtk::HBox settings_box;
Gtk::HBox hpacker;
- Gtk::VBox info_vbox;
- Gtk::EventBox name_ebox;
Gtk::Table button_table;
Gtk::Table output_table;
Gtk::ScrolledWindow scroller;
+ Gtk::Adjustment hAdjustment;
+ Gtk::Adjustment vAdjustment;
Gtk::Viewport scroller_view;
- Gtk::Label nameinfo_label;
- Gtk::Label paraminfo_label;
- Gtk::Label makerinfo_label;
Gtk::Menu* automation_menu;
- bool setting_name_status;
-
gint prefheight;
bool is_scrollable;
struct MeterInfo {
- Gtkmmext::FastMeter *meter;
+ Gtkmm2ext::FastMeter *meter;
float min;
float max;
static const int32_t initial_button_rows = 6;
static const int32_t initial_button_cols = 1;
- static const int32_t initial_output_rows = 8;
- static const int32_t initial_output_cols = 1;
+ static const int32_t initial_output_rows = 1;
+ static const int32_t initial_output_cols = 4;
struct ControlUI : public Gtk::HBox {
/* input */
Gtk::Adjustment* adjustment;
- Gtk::Combo* combo;
+ Gtk::ComboBoxText* combo;
std::map<string, float>* combo_map;
Gtk::ToggleButton* button;
- Gtkmmext::BarController* control;
- Gtkmmext::ClickBox* clickbox;
+ Gtkmm2ext::BarController* control;
+ Gtkmm2ext::ClickBox* clickbox;
Gtk::Label label;
bool logarithmic;
bool update_pending;
Gtk::EventBox *display;
Gtk::Label* display_label;
- Gtk::VBox * vbox;
+ Gtk::HBox * hbox;
+ Gtk::VBox * vbox;
MeterInfo * meterinfo;
ControlUI ();
};
std::vector<ControlUI*> output_controls;
- SigC::Connection screen_update_connection;
+ sigc::connection screen_update_connection;
void output_update();
void build (ARDOUR::AudioEngine &);
- ControlUI* build_control_ui (ARDOUR::AudioEngine &, guint32 port_index, MIDI::Controllable *);
- std::list<string> setup_scale_values(guint32 port_index, ControlUI* cui);
+ ControlUI* build_control_ui (ARDOUR::AudioEngine &, guint32 port_index, PBD::Controllable *);
+ std::vector<string> setup_scale_values(guint32 port_index, ControlUI* cui);
void control_adjustment_changed (ControlUI* cui);
void parameter_changed (uint32_t, float, ControlUI* cui);
void update_control_display (ControlUI* cui);
void control_port_toggled (ControlUI* cui);
- gint control_combo_changed (GdkEventAny* ignored, ControlUI* cui);
- gint entry_focus_event (GdkEventFocus* ev);
+ void control_combo_changed (ControlUI* cui);
void redirect_active_changed (ARDOUR::Redirect*, void*);
~VSTPluginUI ();
gint get_preferred_height ();
- gint start_updating(GdkEventAny*) { return 0; }
- gint stop_updating(GdkEventAny*) { return 0; }
+ bool start_updating(GdkEventAny*) {return false;}
+ bool stop_updating(GdkEventAny*) {return false;}
int package (Gtk::Window&);
Gtk::HBox preset_box;
Gtk::VBox vpacker;
- gboolean configure_handler (GdkEventConfigure*, GtkSocket*);
+ bool configure_handler (GdkEventConfigure*, Gtk::Socket*);
void save_plugin_setting ();
};
#endif