Plugin ratings

When the user opens a session on a playlist, libmmplaylist queries all available PLPs for their ratings on managing the specified playlist. The "available" PLPs are those that were successfully loaded during library initialization. Their ratings measure their individual abilities to manage the playlist that the user is opening. PLP ratings range from 0, which means the plugin doesn't support the playlist, to 100, which means the plugin is a perfect choice for managing it.

Typically, a plugin examines the playlist extension and if that extension indicates a format that it supports, the plugin returns its preset, nonzero rating to indicate that it can parse the playlist. If the extension indicates an unsupported format, the plugin returns a rating of 0.

When libmmplaylist has obtained all the PLP ratings, it sorts the PLPs from highest- to lowest-rated, discarding references to PLPs with a rating of 0. The library then goes through the sorted list and tries to open a session with each plugin in turn. This way, libmmplaylist picks the highest-rated plugin to handle all operations on that same playlist.

The libmmplaylist library assigns default ratings for all PLPs but you can overwrite these settings in the configuration file.