Next Previous Contents

4. Attribute lists

As described in Processing pipeline, sp65 consists of lots of different modules that may be combined in different ways, to convert an input bitmap to some output.

Many of the processors and converters have options to change the way, they're working. To avoid having lots of command line options that must be parsed on high level and passed down to the relevant parts of the program, sp65 features something called "attribute lists". Attribute lists are lists of attribute/value pairs. These lists are parsed by the main program module without any knowledge about their meaning. Lower level parts just grab the attributes they need.

In general, attribute lists look like this:


Instead of the comma, colons may also be used (even mixed).

To simplify things and to make the most common options look "normal", some mandatory attributes may be given without an attribute name. If the attribute name is missing, the default name is determined by the position. For example, the option --read does always need a file name. The attribute name for the file name is "name". To avoid having to type

        sp65 --read name=ball.pcx ...

the first attribute gets the default name "name" assigned. So if the first attribute doesn't have a name, it is assumed that it is the file name. This means that instead of the line above, one can also use

        sp65 --read ball.pcx ...

The second attribute for --read is the format of the input file. So when using

        sp65 --read ball.pic:pcx ...

a PCX file named "ball.pic" is read. The long form would be

        sp65 --read name=ball.pic:format=pcx ...

Changing the order of the attributes is possible only when explicitly specifying the names of the attributes. Using

        sp65 --read pcx:ball.pic ...

will make sp65 complain, because it tries to read a file named "pcx" with an (unknown) format of "ball.pic". The following however will work:

        sp65 --read format=pcx:name=ball.pic ...

The attributes that are valid for each processor or converter are listed below.

Next Previous Contents