Suggestion: Improve the warning about opening a file that uses CPU effects incompatible with GPU effects

I’m playing with 23.06.14 (have been using 22.12.21 until now) and I find this warning less than helpful (and possibly even wrong in at least one case - I’ll put that at the bottom). Some suggestions, from simplest to most complex.

1: as far as I can tell, there is no list in either the documentation or the release notes (for the recent versions that include GPU effects again) saying which effects are incompatible. Maybe there should be. Or if there is one, perhaps it’s too hard to find.

2: in order to generate this warning, presumably Shotcut has checked which effects are used in that file and knows which one(s) are incompatible. So tell me what the problem is. That might, for instance, let me remove that effect, turn on GPU processing, and then add the GPU version of that effect back in, thereby making my file compatible.

3: in many cases, there are reasonably equivalent CPU and GPU effects (e.g. there are CPU and GPU versions of video fade out). If a CPU effect that’s incompatible with GPU processing has a GPU equivalent available, it would be helpful if Shotcut were to offer to convert it for me. I realize this is not possible in every case - e.g. if I use the rotation option in the CPU size, position, rotate filter since the GPU version does not have that option - but in many cases it should be, which would allow many CPU-effect files to be converted automatically so they’re compatible with GPU processing.

4: Ultimately, it would be kinda nice if the CPU and GPU versions of a given effect were to be treated as the same effect. That is, instead of having (say) a CPU video fade out filter and a GPU video fade out filter that are treated as two completely different filters despite doing exactly the same job, just have a video fade out filter that either automatically uses GPU or CPU depending on whether I have GPU processing enabled, or offers me a toggle within the filter to select which processing resource I want to use. Yes, I know, that would be a lot of work (including work to ensure that it doesn’t break the ability to load older projects) and there are surely a bazillion higher-priority items, but I think it’s at least worth considering putting on the wish list.

And for that example of the message seeming to be wrong: with Shotcut in non-GPU mode, I created a very simple project: one video track, with one video file in it. Nothing else - no in or out points, no filters, no transitions. Save, enable GPU effects, restart Shotcut, and it tells me it can’t open it because I used CPU effects that are incompatible with GPU processing. It would appear that the very act of creating a project with GPU processing disabled creates a project that is incompatible with GPU processing even if you have zero effects, transitions, etc., which doesn’t seem right.

Notice the word “effects” is more than filters. A video track has a non-visible blending effect - even on V1 where it is disabled. Therefore the warning dialog is sufficient since there is no conversion. There is not some things and not others to note about. I doubt there will ever be conversion of the filters because there is very little hope of getting the filters’ results to be the same. But I may add a project conversion that drops the filters.

Thanks - so even though the warning doesn’t come out and say it, it seems even the simplest of projects created in non-GPU mode cannot be opened in GPU mode.

That seems a bit, um, strict … perhaps this could be relaxed in future releases, so that at least some non-GPU projects could be opened in (or converted to) GPU mode without significant breakage if they don’t use any particularly problematic effects? Of course if I’ve loaded my project with a gazillion effects that don’t have direct GPU equivalents, that’s not going to be feasible, but to me, it would be better to have Shotcut say “We can convert this file to use GPU effects where possible but the results may not be identical; are you sure you want to do this?” than just to say “nope, not in this mode” (as it does now) or “We can convert this file but a bunch (or all) of your effects are gonna go missing” (as it sounds like it may in future).

And yes, to be clear, I fully understand that GPU effects are an experimental feature at this time and may remain so for potentially a long time, and it’s easy to avoid this problem by just continuing to keep GPU mode disabled.

Hello Shotcut,
I did some small tests with GPU effects, but most of them without integrating a GPU module, and as often it didn’t necessarily work as I wanted (maybe tracks in the wrong place as you pointed out) I have disabled GPU effect.
Since then, every time I open them, I obviously get the message that I have to activate GPU. Anyway, I wanted to see if it was possible to tinker with a REM the xml to deactivate the GPU effect and I couldn’t find anything, so your proposal for a conversion module suits me like a glove. Great.