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