".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.