void PluginDisplay::load() { int a = combobox_mono_stereo->get_model()->get_path(combobox_mono_stereo->get_active())[0]; bool s = selected_only->get_active(); bool c = changed_only->get_active(); bool d = ladspa_only->get_active(); bool e = lv2_only->get_active(); plugin_liststore->clear(); for (std::vector<PluginDesc*>::iterator v = pluginlist.begin(); v != pluginlist.end(); ++v) { if (s && !(*v)->active) { continue; } else if (c && !(*v)->has_settings) { continue; } else if (d && (*v)->is_lv2) { continue; } else if (e && !(*v)->is_lv2) { continue; } if ((a == 1 && (*v)->tp != 0) || (a == 2 && (*v)->tp != 1)) { continue; } Gtk::TreeIter it = plugin_liststore->append(); it->set_value(plugin_liststore->col.name, ustring((*v)->Name)); it->set_value(plugin_liststore->col.active, (*v)->active); it->set_value(plugin_liststore->col.pdesc, *v); } }
SilenceGtk (const char* plugin_uri) { /* Required before creating widgets */ Gtk::Main::init_gtkmm_internals(); /* Create the container with @c new because we don't know if the host is using Gtkmm or not */ p_hbox = new Gtk::HBox(); if (p_hbox) { Button *btn = manage (new Button(ustring("Silence"))); btn->signal_pressed().connect( mem_fun(*this, &SilenceGtk::send_note_on)); btn->signal_released().connect( mem_fun(*this, &SilenceGtk::send_note_off)); p_hbox->pack_start (*btn); } else { p_hbox = 0; } }
void PluginDisplay::selection_changed() { Gtk::TreeIter it = treeview1->get_selection()->get_selected(); PluginDesc *p = 0; if (it) { p = it->get_value(plugin_liststore->col.pdesc); if (current_plugin == p) { return; } } save_current(); on_reordered_conn.block(); port_liststore->clear(); on_reordered_conn.unblock(); ladspa_category->set_text(""); ladspa_maker->set_text(""); ladspa_uniqueid->set_text(""); plugin_name->set_text(""); plugin_category->set_active(-1); plugin_quirks->set_active(-1); if (!p) { return; } set_old_state(p); if (p->shortname != p->Name) { plugin_name->modify_text(Gtk::STATE_NORMAL, Gdk::Color("red")); } else { plugin_name->unset_text(Gtk::STATE_NORMAL); } plugin_name->set_text(p->shortname); Gtk::TreeNodeChildren ch = plugin_category->get_model()->children(); int i = 0; for (it = ch.begin(); it != ch.end(); ++it, ++i) { ustring cat; it->get_value(1, cat); if (cat == p->category) { plugin_category->set_active(i); break; } } ch = plugin_quirks->get_model()->children(); for (i = 0, it = ch.begin(); it != ch.end(); ++it, ++i) { int quirks; it->get_value(1, quirks); if (quirks == p->quirks) { plugin_quirks->set_active(i); break; } } Glib::RefPtr<Gtk::ListStore> ls_master = Glib::RefPtr<Gtk::ListStore>::cast_dynamic(master_slider_idx->get_model()); ls_master->clear(); it = ls_master->append(); i = -1; it->set_value(0, i); ustring ml(""); for (unsigned int i = 0; i < p->ctrl_ports.size(); ++i) { it = ls_master->append(); it->set_value(0, int(i)); if (p->ctrl_ports[i]->pos == p->MasterIdx) { ml = p->ctrl_ports[i]->factory.get_name(); } } master_slider_idx->set_active(p->MasterIdx+1); master_slider_name->unset_text(Gtk::STATE_NORMAL); if (!p->MasterLabel.empty()) { master_slider_name->set_text(p->MasterLabel); if (p->MasterLabel != ml) { master_slider_name->modify_text(Gtk::STATE_NORMAL, Gdk::Color("red")); } } dry_wet_button->set_active(current_plugin->add_wet_dry); ladspa_category->set_text(p->ladspa_category); ladspa_maker->set_text(p->Maker); if (p->is_lv2) { ladspa_uniqueid->set_text(ustring::compose("LV2: %1", p->path)); } else { ladspa_uniqueid->set_text(ustring::compose("%1: %2[%3]", p->UniqueID, p->path, p->index)); } for (unsigned int i = 0; i < p->ctrl_ports.size(); ++i) { PortDesc *q = p->ctrl_ports[i]; Glib::RefPtr<Gtk::ListStore> tls; if (q->is_output) { tls = output_type_list; } else if (q->has_sr) { tls = display_type_list_sr; } else { tls = display_type_list; } float dflt = q->get_dflt(); float low = q->get_low(); float up = q->get_up(); if (q->has_sr && !q->use_sr) { if (q->factory.is_set(ChangeableValues::dflt_set)) { dflt *= q->SR; } if (q->factory.is_set(ChangeableValues::low_set)) { low *= q->SR; } if (q->factory.is_set(ChangeableValues::up_set)) { up *= q->SR; } } it = port_liststore->append(); it->set_value(port_liststore->col.pos, q->pos); it->set_value(port_liststore->col.name, q->get_name()); it->set_value(port_liststore->col.dflt, ustring::format(dflt)); it->set_value(port_liststore->col.low, ustring::format(low)); it->set_value(port_liststore->col.up, ustring::format(up)); it->set_value(port_liststore->col.step, ustring(step_type_names[q->step])); it->set_value(port_liststore->col.display, ustring(display_type_names[q->get_tp()])); it->set_value(port_liststore->col.display_types, tls); it->set_value(port_liststore->col.port, q); it->set_value(port_liststore->col.newrow, q->get_newrow()); it->set_value(port_liststore->col.use_sr, q->has_sr && !q->use_sr); it->set_value(port_liststore->col.has_caption, q->has_caption); } }
inline ustring sqlite3_column_ustring(sqlite3_stmt * stmt, unsigned int colnum) { return ustring( (char *) sqlite3_column_text(stmt, colnum) ); }