I’m having a look at this now but I’m not sure exposing the registered
BuiltInTypes helps much. The only thing you can find from this is their
xmlTypeName which isn’t really useful for populating menus.
We simply do something like this in Waveform:
void addInternalPlugin (TreeViewItem& item, int& num, bool synth = false)
item.addSubItem (new FilterType (String (num++) + "_trkbuiltin",
FilterClass::xmlTypeName, synth, false));
addInternalPlugin<VolumeAndPanPlugin> (*this, num);
addInternalPlugin<LevelMeterPlugin> (*this, num);
addInternalPlugin<EqualiserPlugin> (*this, num);
I can’t really see how exposing the array would help with this. You’d still need to manually check all the built-in plugins for their
xmlTypeName member when iterating the
builtInTypes which is actually more work than accessing them directly.