contact sheet maker(the cli tool ‘mkcs’) was created out of a necessity of mine to have contact sheets(or contact prints) from some of my videos and images, often times i found tools that did this but they were all lacking something, for example, i don’t remember ever finding one that covered both videos and images, even thou the output is (almost) the exact same regardeless of the input, they were all more focused on videos, which is understandable given the fact that even a simple 10-ish line script can be enough to get an acceptable contact sheet from a directory full of images.
talking about scripts, by far the most amount of tools that i found that did this job were scripts, which unfortunately brings me to the second thing i noticed that was lacking: performance! i remember once testing one of these tools(it was one written in python if i’m not mistaken) that my cpu was stuck at 99% usage for almost 8 minutes, i had to interrupt the script and i never tried that same one again because i feared i could cook my cpu before getting the simple contact sheet i wanted (in case you’re curious as of the reason i let the script run for so long before interrupting it, that is the point, it wasn’t uncommon with the tools i tested for it to take a decent amount of time to finish processing a simple contact sheet). ofc this was an edge case since there was most likely a bug in that code, but still, the overall performance just wasn’t there unfortunately.
after months of trying to find the perfect solution to my necessity, i got to a conclusion, that maybe some (if not all) of the problems that i encoutered during my saga to find a suitable tool have to do with the third thing that i found was lacking, that is maintenance! unfortunately there’s a huge amount of abandoned nice tools out there, a huge amount of the ones i tested for this purpose had no updates for many years, which imo is understandable since this a small project and not to mention it helps in a very niche necessity that few people have, so then the idea of ‘mkcs’ was born, aiming on being a small, fast, and well maintained cli tool(not a script!).
you can check some sample outputs below that took just a few seconds to process, in fact, during my tests even with the biggest of video files or huge amount of images with different formats the performance stays good, also it has quite a few options to customize the output including custom header colors, custom fonts and etc. check it out if you’re curious!