Patchou, if you were female I'd kiss you
...or you could pass that honor to the official Plus! babe of course
Anyways, looking good! I must honestly say I haven't followed the progress that much, I prefer to look at the end product when it's out (thus increasing the "wow!" factor in the end). Allowing the user to choose which plugins to load is a great idea indeed...
I agree with parsing tags in the plugin result, or at least make it an option for the plugin to decide. I included emulation features in my Delphi plugin framework which parses some Plus! tags, but it doesn't solve it all...
It does raise another issue: infinite loops when the output contains a tag which calls the plugin again. I think a nice way to solve that is to flag a plugin once it's been used in a message, then allow all other tags to be parsed (including other plugins) but not the ones which have been flagged. This still allows a plugin to use another plugin's tag in it's output, yet neither the plugin nor the other plugin called can use the first anymore, preventing loops. Hope that explanation was clear, assuming you haven't built that in already as well
.
As for the extra functions, that might be nice. If they're gonna be implemented I would get rid of the SendMessage (as used in the toast) though, and instead provide a msgplusapi.dll or something like that... that'd make it easier for plugins, but of course requires some more work from Plus, so it might be good for later...