I'm currently writing a set of modules to drive Rimage CD burners. The API is horrid, it's driven thru binary files with inconsistent field formatting :
- some digital fields are bytes, while some other are strings of ASCII numbers;
- all text fields are space-padded including filenames (what the hack may happen if the last character of a filename is a space?),
- there is an incredible number of fields with meaningless names and ever more meaningless values :
- for instance the field CONTROL 1 can have the values 0, 1, 2, M or P (there is of course a CONTROL 2 field; apparently these carry all functions that no other field was made for.)
This file format is some sort of digital salad...