PM123's Remote command reference - Plug-in control

plugin load <type> <plug-in>[?<param1>=<value1>[&<param2>=<value2> ...]]

Load the DLL <plug-in> into the player. The path should be full qualified or relative to the players executable.
If the plug-in implements more than one interface only the listed <type> are used. Plug-in types are decoder, filter, output and visual. More than one type can be specified separated by comma but without spaces. The keyword all is equivalent to all of the types mentioned.

Optionally the DLL name could be followed by ?param1=value1&param2=value2... to specify non-default parameters.

The command returns a comma separated list of interfaces that have been loaded. This might be less than requested. In case of an error the command returns an empty line.

Example:

plugin load decoder D:\PM123\mpg123.dll?enabled=false&filetypes=MP1;MP2;MP3

plugin unload <type> <plug-in>

Unload <plug-in> from the player. The module name (e.g. mpg123.dll) is sufficient. The execution may be delayed because of an active playback. Only the listed <type> are unloaded, so the plug-in might stay in memory with an interface not in the list.

The command returns a comma separated list of interfaces that have been unloaded. This might be less than requested. In case of an error the command returns an empty line.

Example

plugin unload all mpg123  

plugin params <type> <plug-in>[?<param1>=<value1>[&<param2>=<value2> ...]]

Query or set plug-in parameters of <plug-in>. The module name (e.g. mpg123.dll) is sufficient. The execution may be delayed until the playback is stopped the next time. <type> must be one of decoder, filter, output or visual. Only one type can be used by this command.

The command returns the previous plug-in parameters or an empty line on error.

If parameters are specified their values are changed as specified. Otherwise only the current parameter values are returned.

Known parameters

Parameter Description
enabled={true|false}
(all types but output)
Enable or disable a plug-in.
Enabling an output plug-in activates it and implicitly disables all other outputs.
filetypes=type1[;type2...]
(decoder only)
List of extended attribute types that the decoder plug-in can handle. The list my be empty.
tryothers={true|false}
(decoder only)
Try unsupported file types also if no other plug-in can handle the file (slow).
serializeinfo={true|false}
(decoder only)
Serialize access to decoder_fileinfo for level 1 plug-ins. This is a work-around for some old plug-ins that are not thread safe.

Example

plugin params filter realeq enabled=true

plugin list <type> [<new_list>]

Query or replace the currently loaded list of plug-ins of a certain type. <type> must be one of decoder, filter, output or visual.

<new_list> must be a tab separated list of plug-in DLL names. The path should be full qualified or relative to the players executable. Each DLL name can optionally be followed by ?param1=value1&param2=value2... to specify additional plug-in parameters. This command is the only way to change the sequence of the plug-ins by the remote interface.

The special string @default can be used as <new_list> to load the default configuration for the desired plug-in type.
The string @empty will clear all plug-ins of the specified type.

The returned list of plug-ins uses nearly the same syntax than <new_list>, but uses new lines as separators instead of tabs.

Example

plugin list filter realeq.dll	logvolum.dll?enabled=false

possibly returns (note the different sequence and parameters)

logvolum.dll?enabled=true
realeq.dll?enabled=true