_pluginui = pu;
add (*pu);
- map_event.connect (mem_fun (*pu, &PluginUI::start_updating));
- unmap_event.connect (mem_fun (*pu, &PluginUI::stop_updating));
+ signal_map_event().connect (mem_fun (*pu, &PluginUI::start_updating));
+ signal_unmap_event().connect (mem_fun (*pu, &PluginUI::stop_updating));
}
set_position (Gtk::WIN_POS_MOUSE);
set_name ("PluginEditor");
add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
- delete_event.connect (bind (ptr_fun (just_hide_it), reinterpret_cast<Window*> (this)));
+ signal_delete_event().connect (bind (sigc::ptr_fun (just_hide_it), reinterpret_cast<Window*> (this)));
insert.GoingAway.connect (mem_fun(*this, &PluginUIWindow::plugin_going_away));
if (scrollable) {
engine(engine),
button_table (initial_button_rows, initial_button_cols),
output_table (initial_output_rows, initial_output_cols),
+ hAdjustment(0.0, 0.0, 0.0),
+ vAdjustment(0.0, 0.0, 0.0),
+ scroller_view(hAdjustment, vAdjustment),
automation_menu (0),
is_scrollable(scrollable)
{
}
if ((cui = build_control_ui (engine, i, plugin.get_nth_midi_control (i))) == 0) {
- error << compose(_("Plugin Editor: could not build control element for port %1"), i) << endmsg;
+ error << string_compose(_("Plugin Editor: could not build control element for port %1"), i) << endmsg;
continue;
}
}
button_table.attach (*cui, button_col, button_col + 1, button_row, button_row+1,
- Gtk::FILL|Gtk::EXPAND, 0);
+ FILL|EXPAND, FILL);
button_row++;
} else if (cui->display) {
}
output_table.attach (*cui, output_col, output_col + 1, output_row, output_row+1,
- Gtk::FILL|Gtk::EXPAND, 0);
+ FILL|EXPAND, FILL);
output_row++;
}
if (defaults && defaults->count > 0) {
- control_ui->combo = new Gtk::Combo;
- control_ui->combo->set_value_in_list(true, false);
- control_ui->combo->set_popdown_strings(setup_scale_values(port_index, control_ui));
- control_ui->combo->get_popwin()->unmap_event.connect(bind (mem_fun(*this, &PluginUI::control_combo_changed), control_ui));
- plugin.ParameterChanged.connect (bind (mem_fun(*this, &PluginUI::parameter_changed), control_ui));
+ control_ui->combo = new Gtk::ComboBoxText;
+ //control_ui->combo->set_value_in_list(true, false);
+ set_popdown_strings (*control_ui->combo, setup_scale_values(port_index, control_ui));
+ control_ui->combo->signal_unmap_event().connect (bind (mem_fun(*this, &PluginUI::control_combo_changed), control_ui));
+ plugin.ParameterChanged.connect (bind (mem_fun (*this, &PluginUI::parameter_changed), control_ui));
control_ui->pack_start(control_ui->label, true, true);
control_ui->pack_start(*control_ui->combo, false, true);
control_ui->pack_start (*control_ui->button, false, true);
control_ui->pack_start (control_ui->automate_button, false, false);
- control_ui->button-.signal_clicked().connect (bind (mem_fun(*this, &PluginUI::control_port_toggled), control_ui));
+ control_ui->button->signal_clicked().connect (bind (mem_fun(*this, &PluginUI::control_port_toggled), control_ui));
if(plugin.get_parameter (port_index) == 1){
control_ui->button->set_active(true);
}
control_ui->pack_start (control_ui->automate_button, false, false);
- control_ui->adjustment->value_changed.connect (bind (mem_fun(*this, &PluginUI::control_adjustment_changed), control_ui));
+control_ui->adjustment->signal_value_changed().connect (bind (mem_fun(*this, &PluginUI::control_adjustment_changed), control_ui));
control_ui->automate_button.signal_clicked().connect (bind (mem_fun(*this, &PluginUI::astate_clicked), control_ui, (uint32_t) port_index));
automation_state_changed (control_ui);
cui->ignore_change++;
if (cui->combo) {
- map<string,float>::iterator it;
+ std::map<string,float>::iterator it;
for (it = cui->combo_map->begin(); it != cui->combo_map->end(); ++it) {
if (it->second == val) {
- cui->combo->get_entry()->set_text(it->first);
+ cui->combo->set_active_text(it->first);
break;
}
}
}
}
-gint
+bool
PluginUI::control_combo_changed (GdkEventAny* ignored, ControlUI* cui)
{
if (!cui->ignore_change) {
- string value = cui->combo->get_entry()->get_text();
- map<string,float> mapping = *cui->combo_map;
+ string value = cui->combo->get_active_text();
+ std::map<string,float> mapping = *cui->combo_map;
insert.set_parameter (cui->port_index, mapping[value]);
}
{
ENSURE_GUI_THREAD(bind (mem_fun(*this, &PluginUIWindow::plugin_going_away), ignored));
- _pluginui->stop_updating(0);
+ _pluginui->stop_updating();
delete_when_idle (this);
}
bypass_button.set_active (!r->active());
}
-gint
-PluginUI::start_updating (GdkEventAny *ev)
+void
+PluginUI::start_updating ()
{
if (output_controls.size() > 0 ) {
screen_update_connection.disconnect();
screen_update_connection = ARDOUR_UI::instance()->RapidScreenUpdate.connect
(mem_fun(*this, &PluginUI::output_update));
}
- return FALSE;
}
-gint
-PluginUI::stop_updating (GdkEventAny *ev)
+void
+PluginUI::stop_updating ()
{
if (output_controls.size() > 0 ) {
screen_update_connection.disconnect();
}
- return FALSE;
}
void
}
}
-list<string>
+vector<string>
PluginUI::setup_scale_values(guint32 port_index, ControlUI* cui)
{
- list<string> enums;
+ vector<string> enums;
LadspaPlugin* lp = dynamic_cast<LadspaPlugin*> (&plugin);
- cui->combo_map = new map<string, float>;
+ cui->combo_map = new std::map<string, float>;
lrdf_defaults* defaults = lrdf_get_scale_values(lp->unique_id(), port_index);
if (defaults) {
for (uint32_t i = 0; i < defaults->count; ++i) {
save_button(_("save")),
bypass_button (_("bypass"))
{
- combo.set_value_in_list(true,true);
- combo.set_use_arrows(true);
- combo.set_use_arrows_always(true);
- combo.set_popdown_strings(plugin.get_presets());
- combo.get_entry()->set_text("");
- combo.get_popwin()->unmap_event.connect(mem_fun(*this, &PlugUIBase::setting_selected));
+ //combo.set_use_arrows_always(true);
+ set_popdown_strings (combo, plugin.get_presets());
+ combo.set_active_text ("");
+ combo.signal_unmap_event().connect(mem_fun(*this, &PlugUIBase::setting_selected));
save_button.set_name ("PluginSaveButton");
- save_button.clicked.connect(mem_fun(*this, &PlugUIBase::save_plugin_setting));
+ save_button.signal_clicked().connect(mem_fun(*this, &PlugUIBase::save_plugin_setting));
bypass_button.set_name ("PluginBypassButton");
- bypass_button.toggled.connect (mem_fun(*this, &PlugUIBase::bypass_toggled));
+ bypass_button.signal_toggled().connect (mem_fun(*this, &PlugUIBase::bypass_toggled));
}
gint
PlugUIBase::setting_selected(GdkEventAny* ignored)
{
- Entry* entry = combo.get_entry();
- if (entry->get_text().length() > 0) {
- if (!plugin.load_preset(entry->get_text())) {
- warning << compose(_("Plugin preset %1 not found"), entry->get_text()) << endmsg;
+ if (combo.get_active_text().length() > 0) {
+ if (!plugin.load_preset(combo.get_active_text())) {
+ warning << string_compose(_("Plugin preset %1 not found"), combo.get_active_text()) << endmsg;
}
}
prompter.set_prompt(_("Name for plugin settings:"));
prompter.show_all();
- prompter.done.connect(Main::quit.slot());
- Main::run();
+ switch (prompter.run ()) {
+ case GTK_RESPONSE_ACCEPT:
- if (prompter.status == Gtkmm2ext::Prompter::entered) {
string name;
prompter.get_result(name);
if (name.length()) {
if(plugin.save_preset(name)){
- combo.set_popdown_strings(plugin.get_presets());
- combo.get_entry()->set_text(name);
+ set_popdown_strings (combo, plugin.get_presets());
+ combo.set_active_text (name);
}
}
+ break;
}
}