Core program
1 Start Program (Sanity Check)
2 Load Program Defaults
3 Accept Program Input, or notice to shutdown.
While accepting input
1a Accept 'Raw Text' or 'File Name'
1b Accpet 'Key Change' or 'Settings Change'
2 Check to see if file or text is under 64k
3 Proceed to code message
Message coding
1a Write to Header
-- Program Version, Cryptography Version
-- Checksum Version, Hashsum Version
-- Packet Version, Frame Version
1b Encode Filename
-- If applicable write UTF-16 filename (and coding method) in z-base-32 observing a 120 char limit for the filename (including the filename's extension, if any).
-- The filename encoding version, filename and CRC32 of the filename must be encoded in standard header codegroups.
See
1 : http://en.wikipedia.org/wiki/Base32
2 : http://philzimmermann.com/docs/human-oriented-base-32-encoding.txt
2a Proceed to encode the file or text contents
2b If writing to audio file as well
-- Do sanity check on audio file encoder.
-- Proceed to code audio file : encode the original text 1st, then audio file 2nd.
-- Shut down audio file filter when done.
-- Resume normal user interface.
2D BARCODE ENCODING STEPS TO BE ADDED LATER ...