Export/Import perferences and keyboard shortcuts

I don’t think I’m the only one who changes the keyboard shortcuts. I also set fps to 24, the field size to 1280x720 pix, and so on.
It would be nice if you were able to export your preferences to a usb stick, a folder of your choice, or in the config folder with a special user name. Likewise you should be able to import it from the source you like, from your own name or the default preference file.

@davidlamhauge I think that would be great, and it would also work well to actually have an XML file to store those preset settings to play along with the idea I proposed here: https://github.com/pencil2d/pencil/issues/981

So we can have:

  1. working document units (right now we only have pixels, but considering the idea of having accurate camera work, pixels will be default but there might be the need to add more units in the future)
  2. camera frame size (Width x Height) & aspect ratio (inferred by dividing w / h)
  3. timeline frame length (inferred by calculating up to the last keyframe, like how the movie exporter does it when you use the relevant option)
  4. FPS
  5. Canvas Bakground Color (just so you know pencil2D has an actually transparent BG, but the editor representation for work can be either a solid color or a checkered “alpha” board, i’ve also proposed that we can load Textures here: https://github.com/pencil2d/pencil/issues/990

Now for the counter argument to my own ideas:

Most of these elements are already preserved in the main.xml file for each Pencil2D project, inside the PCLX you will see the “naked” main.xml, while using the PCL filetype will rename the extension from XML to PCL.

We could just store the additional elements there and when need to export, generate a plain XML, JSON or even a CSV file for convenience, my real interest is that we can also import this into other software (with the appropriate “reader” plugin of course). So for example, if If export the file and I use a custom made Pencil2D plugin for After Effects, or Premiere, I can configure my compositing or video editing project that will match the output from Pencil2D. Often times just importing the video will configure most of this information in either programs, but I can see that portability might also be an issue when carrying over a video from one place to another (unless you’re at a studio where it would be store in a main server)

However maybe even exporting the very same main.xml would suffice. I also mention this because I’m still thinking about ways to have an actual way to backup the projects that get corrupted lately. And so far the main problem 99% of the time is that the main.xml gets lost…maybe if we could export that separately and automatically it would improve the recovery % of a corrupted file, but this is just an after-thought.

I can see there is a overlap @JoseMoreno. Sometimes I get lost in where we had certain discussions. Was it here at the discuss forum, or was it on Discord, or maybe it was along with a PR.
As long as we get a better software in the end, I guess it doesn’t matter.