(2018-03-09, 5:02)Travis Cobbs Wrote: Some notes about my implementation:
- I changed BEGIN to START to be consistent with !TEXMAP.
- I only support START/END, not NEXT.
- I'm only officially supporting !DATA in MPD files (since that's the whole point).
- Only one !DATA entry is allowed per 0 FILE entry in the MPD.
- When parsing the BASE64 text, I ignore any characters that aren't in the BASE64 character set, so a space after the 0 !: shouldn't break my parser.
Looks simply enough, makes me want to implement it in LDCad too.
Ignoring characters might be a problem for some parser implementations as they are usually hidden from the programmer. So I think we should state in the spec the !DATA content should be trimmed while reading but must be all base64 in the middle.
We also might need to force a multiple of 3 characters per line as base64 is grouped by 24 bits (hence the 1 or 2 trailing '=' chars)