PackCompiler
This weekend I took some time to rework the PackCompiler portion of the KomplexHub. The old one had some stability issues, was really sloppy code and would have potentially required the end-user to know where the qsb binary is, as it doesn’t get added to the system path with most installs.
- Reduced filesystem writes from ~7 to 3 per shader file.
Now that everything is handled in memory, the only filesystem writes are to extract the shader, save the compiled shader and delete the shader code. - Uses host-specific Vulkan and OpenGL version reporting for generating shaders
The old pack compiler used a generic list of commonly supported versions. This was a band-aid and created slightly larger files than needed. - Modernized macro pre-processing
Switch from C PreProcessor (cpp) to the more modern clang. I know this is a large dependency, but is likely to already be on the host system and allows the compiler to preprocess stdin instead of a file - Standards based exceptions
Switched from a fully custom exceptions class to have their base be the closest applicable in std. This makes failure handling in QFuture much more reliable
User Interface
There were quite a lot of little changes to the user interface, most of all was the addition of animation settings in the Komplex tab of the Settings Page.
What’s to come?
Well, most everything essential for the media hub is feature complete. All that’s left would be user accounts and the features related to that: media ratings, restricted content, etc

Leave a Reply