FenPhoenix/AngelLoader

Option to add "Play FM with AngelLoader" or similar to Explorer context menu

FenPhoenix opened this issue · 1 comments

Someone asked for this. Optional of course, so we don't clutter up the menus if the user doesn't want us to.

So it looks like this is way harder than it sounds. It's true we can easily add an item like "Play in AngelLoader" to the context menu through simple registry additions, but:

  • If n files are selected at once and the option is clicked, it simply starts the associated app n times, passing one file for each app instance. There's no way to have it bundle them all up and send them all at once to one instance (with the simple registry-based extension association method).
  • If we want to handle multiple files then we need to write a shell extension, and then it's not recommended to use managed code so we would want to write it in native C++. And it looks hellish to do.
  • If we did write a shell extension we would have to make sure it doesn't contribute towards making the context menu take literal seconds to load as it does on my system (I need to trial-and-error to see what exactly is being so rude as to cause that...)
  • In any case, we would need to pass the received filenames to the first instance of the app in case we're already running. We can't do it with our current minimalistic "PostMessage with HWND_BROADCAST and a couple of IntPtrs" approach. We'd need to use pipes, or the new VB-like single-instance event-based communication thing that new .NETs have. We changed this over a while ago so this point, at least, is now a non-issue.