Configuration File

The libmmplaylist configuration file lists the playlist plugins (PLPs) that the library can use to manage playlists as well as the configuration settings for those plugins.

The libmmplaylist library is shipped with a default configuration file. You can modify this included file or create your own. When calling mmplaylist_init() to initialize the library, your client must supply either the full path of another configuration file or a path of NULL to use the default file. In this second case, the library first searches the path given in the MM_PLAYLIST_CONFIG environment variable or if this variable isn't defined, the library searches the hardcoded default path of /etc/mm/mm-playlist.conf.

Note: Redefining MM_PLAYLIST_CONFIG lets you use a different configuration file as the default. This is useful when launching applications such as mm-renderer that use libmmplaylist but don't allow you to set the configuration path.

In any configuration file, each section defines settings for an individual PLP and must begin with a line like this:

[plugin]

The PLP settings are listed on the lines that follow, one per line. A dll setting is required in every section to name the library file that implements the PLP. A setting is specified by stating a field name, followed by an equal sign (=), followed by the field value. For example, the following lines name the library file and assign a rating of 20 for the iTunes plugin:

[plugin]
dll=mm-plp-itunes.so
rating=20

You can also place comments in the configuration file by starting lines with the number sign (#).

Default configuration file

The contents of the default configuration file look like this:

# libmmplaylist config file

[plugin]
dll=mm-plp-qdb.so

[plugin]
dll=mm-plp-m3u.so

[plugin]
dll=mm-plp-asx.so

[plugin]
dll=mm-plp-itunes.so

[plugin]
dll=mm-plp-pls.so

[plugin]
dll=mm-plp-rmp.so

[plugin]
dll=mm-plp-wpl.so

[plugin]
dll=mm-plp-xspf.so

[plugin]
dll=mm-plp-b4s.so

[plugin]
dll=mm-plp-mediafsdir.so

[plugin]
dll=mm-plp-filelist.so
# The filelist delimiter can be changed here noting that
# characters starting with '\' will be converted to
# their escaped equivalent if they exist.  If \xZZ is
# used, the ASCII value for the two hexadecimal digits
# following the 'x' character will be used. Because PPS
# treats newlines as a special character, \n will not
# be escaped. Examples:
# 
# delimiter=\x1e	-- Hex character 0x1e (default).
# delimiter=\t\t	-- Two tabs