Can one playback provider's translate_uri() route the request to another provider?

I was trying to get image display to work from Mopidy-SomaFM. Images can’t be displayed by Mopidy-SomaFM because the URIs it gives out are simply https .pls URLs, which are handled by Mopidy-Stream. So the Mopidy-SomaFM library get_images() doesn’t even get called for the URIs given out by that extension. Seems like that could be solved by instead giving out URIs which are specific to Mopidy-SomaFM and having a playback provider which handles them via translate_uri(). But, the result of translate_uri() needs to be an actual stream which can be played directly, not a playlist. When Mopidy-SomaFM gives out an https .pls URL, that gets translated by the StreamPlaybackProvider translate_uri().

So, I would need a way for translate_uri() to send the request to Mopidy-Stream. It ought to be the actual one instance of StreamPlaybackProvider in Mopidy-Stream, and not simply inheritance from StreamPlaybackProvider. This depends on Mopidy-Stream settings, and creating another instance of Mopidy-Stream certainly doesn’t seem right.

Otherwise, the playlist downloading and parsing from Mopidy-Stream would need to be re-implemented in Mopidy-SomaFM, which isn’t nice.

The bug I’m trying to fix:

I’ve followed up in with some options for solving this.