[Original notes written ~1997, copied from handwritten A4] Protocols / Non visible changes =============================== Filetype auto conversion - On DataLoad of unknown type: SWI DataConvert_Convert => R0-> filename to convert R1-> List of types supported by preference -1 terminated R2 = Window handle R3 = Icon handle R4 = x position R5 = y position <= R0 = job handle or error if failed If error, ignore and return If window is closed / context vanishes, etc, call SWI DataConvert_Discard => R0 = job handle Jobs will be terminated on application quit. Alias$@ConvertType_XXX_XXX Should be set to the command to invoke the converter. Convert$Quality_XXX_XXX Should be set to a %age 'quality' the conversion uses, or the low quality followed by a space then the high quality (for example, JPEG->Sprite would probably have something like '60 100' to indicate that without dithering it's possible to lose a lot of data, but in high colour modes it's possible to get the image data to its most accurate degree. Message DataConvert_Convert +20 = flags: b0 delete source when done b1 convert in place +24 = filetype to convert to +28 = job handle +32...filename to convert "Can you convert this file please?" You should reply with DataConvert_Converting if you can. Message DataConvert_Converting +20 = flags: b0 conversion may take some time +24 = filetype +28 = job handle +32...filename "Ok, I'm working on it" Basically write the new flags field and reply with this. Message DataConvert_Complete +20 = Reason: 0 Done, filename supplied 1 Failed, error supplied +24 = job handle +28...filename or error message "I'm done now" Send this when you have completed the conversion.