This is a suggestion that came out of a discussion under another topic: Usability: Show all colour-related filters when switching to Colour mode - #8 by Birdchaser
Before I get into the details, I’d like to mention that this particular suggestion might be a nice BA project for a CS student (IMHO, it’s not challenging enough for a MA degree). It would also be an invitation for someone who wants to learn how to work with Qt and UI design (esp. with usability in mind) in general and Shotcut in particular, without having to take a deep dive into the high-level depths and details of FFmpeg.
The task:
As of now, users can create their own UI layouts and filter sets, which is great. However, it would be even better if users could easily export and import both. In addition, there should be a platform available, where users can share both types of configuration files. Hence the following requirements (and I’m writing this with a CS BA project in mind):
-
Create an Export/Import UI entry (and the underlying functionality) for UI layouts and Filter sets (XML) (easy)
-
Store the version number of the Shotcut version in the XML files (easy)
-
Check the compatiblity of the layout/set with the current version. There are at least two ways to do this:
-
Simply check the version number (that’s the easy way)
-
Parse the XML file to detect incompatibilities with the current version (a bit harder, but would also help to avoid crashes if the XML file has been corrupted)
-
-
Modify the UI, so as to allow for customised UI layouts (including related filter sets) to be added permanently (in addition to the current default layouts like Edit, Colour, Audio etc.)
-
Use the existing platform ( Resources - Shotcut Forum ) as a source for custom layouts/filter sets or create a useful download mechanism from within Shotcut (which would require the Shotcut team to set up an online repository for these). The task description for the latter would require:
- Check the uploaded and downloaded files for integrity (during upload and internal Shotcut download)
- Demand a useful description of the UI layout/file set before it’s being added/accepted to the repository.
Other usability/safety issues may turn up during implementation, but these are my preliminary thoughts on this issue, and of course I may be totally misguided …