29,986 and counting…
I just finished a Red Bull fueled all-night coding session at RPI’s Facebook hackathon. During the 8+ hours I was coding, I added several fun new things, namely:
Better redirect support. The execution backend can now redirect the output of stdout or stderr to a string in the program, as well as a file. This requires a blocking execution, so that the string doesn’t get built until the program finishes.
Dynamic format support determination. It is now possible to set run-time determined format support in a converter’s XML file, by running a regular expression on the program’s output.
A new converter. I’m pleased to welcome Unoconv to the converters we have XML files written for. Unoconv uses OpenOffice to automatically convert documents, greatly strengthening our previously weak document support.
Together, by using the new dynamic format determination on ImageMagick and Unoconv, my build of unibatchconv reports 29,986 direct conversions. That figure includes all permutations of supported formats where a single stage conversion is possible, but doesn’t include conversions that require multiple steps. We do support those conversions, just my method for counting working conversions doesn’t. Some of these fun and exciting new features haven’t made it to our main development branch yet, and are still in xmldev. Notably, stderr redirection has no support under windows right now, and the xmldev branch won’t build because the windows execution backend doesn’t accept the stderr argument yet. The other reason they haven’t been pushed is that we have a new dependency, Boost::regex, for the regular expression support, and I want to give our other developers fair warning before I break their build environments.
Finally, if you’ve tried to download our 0.2 windows build, you may have noticed it doesn’t work. When I made it, I forgot to include the DLLs, and haven’t had time at that machine to fix it. It is a known issue, and will be fixed soon.