".amc" Catalogs files format
Notes
All types are Pascal types, since the program is made with Delphi.
"Integer" corresponds to 4 bytes, signed, little endian.
Each field typed as "string" is preceded by an Integer that gives the size of the vector (size = 0 if no vector, i.e. empty string). So strings are chars vectors (1 char = 1 byte, unsigned) without ending delimiter.
"Boolean" is 1 byte; 0 is False, other value is True.
The date is stored using Borland's TDateTime: number of days since 30/12/1899.
The "Picture" field is an array of bytes, containing the picture file in its original format (PNG/JPEG/GIF).
Its type is given by the "PictureName" field that precedes.
If picture's size > 0, then PictureName contains the original extension of the file ('.png', .'.jpg' or '.gif'). If picture's size = 0 then PictureName contains a link to the picture (absolute or relative), or nothing if there isn't any picture associated with the current movie.The file starts with a 65-bytes fixed-length text (called "strFileHeader35" below), with a space in front and at end of it (so first byte of the file is a space). The there is one block with few strings containing catalog owner information, then directly movies.
Version 3.5
Header:
strFileHeader35 = ' AMC_3.5 Ant Movie Catalog 3.5.x www.buypin.com www.antp.be '; OwnerName: string; OwnerSite: string; OwnerMail: string; OwnerDescription: string;Movie structure, repeated for each movie:
Number: Integer; Date: Integer; Rating: Integer; Year: Integer; Length: Integer; VideoBitrate: Integer; AudioBitrate: Integer; Disks: Integer; Checked: Boolean; Media: string; MediaType: string; Source: string; Borrower string; OriginalTitle string; TranslatedTitle string; Director string; Producer string; Country string; Category string; Actors string; URL string; Description string; Comments string; VideoFormat string; AudioFormat string; Resolution string; Framerate string; Languages string; Subtitles string; Size string; PictureName: string; PictureSize: Integer; Picture array of Byte;
The only changes since version 3.3 is that the ICQ field of the header has been removed, and the Rating is stored as a 0-100 integer rather than 0-10 (the last digit is used as decimal part). The version 3.4 was using the same file format than version 3.3.