hans' patches for MIDI note resizing++
[ardour.git] / gtk2_ardour / plugin_selector.cc
index d893bc5695519e7c0f8a28180e2947581359581c..aa269be5775c05b476760a411eb88dfea7001c43 100644 (file)
@@ -71,8 +71,10 @@ PluginSelector::PluginSelector (PluginManager *mgr)
        plugin_display.append_column (_("Type"), plugin_columns.type_name);
        plugin_display.append_column (_("Category"), plugin_columns.category);
        plugin_display.append_column (_("Creator"), plugin_columns.creator);
-       plugin_display.append_column (_("# Inputs"),plugin_columns.ins);
-       plugin_display.append_column (_("# Outputs"), plugin_columns.outs);
+       plugin_display.append_column (_("# Audio In"),plugin_columns.audio_ins);
+       plugin_display.append_column (_("# Audio Out"), plugin_columns.audio_outs);
+       plugin_display.append_column (_("# MIDI In"),plugin_columns.midi_ins);
+       plugin_display.append_column (_("# MIDI Out"), plugin_columns.midi_outs);
        plugin_display.set_headers_visible (true);
        plugin_display.set_headers_clickable (true);
        plugin_display.set_reorderable (false);
@@ -86,7 +88,7 @@ PluginSelector::PluginSelector (PluginManager *mgr)
        added_list.set_headers_visible (true);
        added_list.set_reorderable (false);
 
-       for (int i = 0; i <=3; i++) {
+       for (int i = 0; i <=7; i++) {
                Gtk::TreeView::Column* column = plugin_display.get_column(i);
                column->set_sort_column(i);
        }
@@ -258,16 +260,22 @@ PluginSelector::refiller (const PluginInfoList& plugs, const::std::string& filte
                        newrow[plugin_columns.creator] = creator;
 
                        if ((*i)->n_inputs.n_total() < 0) {
-                               newrow[plugin_columns.ins] = "various";
+                               newrow[plugin_columns.audio_ins] = "various";
+                               newrow[plugin_columns.midi_ins] = "various";
                        } else {
-                               snprintf (buf, sizeof(buf), "%d", (*i)->n_inputs.n_total());
-                               newrow[plugin_columns.ins] = buf;
+                               snprintf (buf, sizeof(buf), "%d", (*i)->n_inputs.n_audio());
+                               newrow[plugin_columns.audio_ins] = buf;
+                               snprintf (buf, sizeof(buf), "%d", (*i)->n_inputs.n_midi());
+                               newrow[plugin_columns.midi_ins] = buf;
                        }
                        if ((*i)->n_outputs.n_total() < 0) {
-                               newrow[plugin_columns.outs] = "various";
+                               newrow[plugin_columns.audio_outs] = "various";
+                               newrow[plugin_columns.midi_outs] = "various";
                        } else {
-                               snprintf (buf, sizeof(buf), "%d", (*i)->n_outputs.n_total());           
-                               newrow[plugin_columns.outs] = buf;
+                               snprintf (buf, sizeof(buf), "%d", (*i)->n_outputs.n_audio());           
+                               newrow[plugin_columns.audio_outs] = buf;
+                               snprintf (buf, sizeof(buf), "%d", (*i)->n_outputs.n_midi());            
+                               newrow[plugin_columns.midi_outs] = buf;
                        }
 
                        newrow[plugin_columns.plugin] = *i;
@@ -427,3 +435,9 @@ PluginSelector::filter_mode_changed ()
        refill ();
 }
 
+void
+PluginSelector::on_show ()
+{
+       ArdourDialog::on_show ();
+       filter_entry.grab_focus ();
+}