| About | News | Download |
|---|

These processes are started when the user activates one of the menu items
from the Playlist | Generators
menu. This menu itself is created by reading all files in
/usr/share/applications/kmplayer/generators/ and the
generators/ sub-directory of the user's kmplayer settings
directory (which defaults to /home/user/.kmplayer/generators/).
<generator name="My Generator">
<process>
<program>
myscript.sh
</program>
<argument>
some-argument
</argument>
</process>
</generator>
In order for KMPlayer to find the program (myscript.sh in the
above example), it is either in the PATH environment variable,
it is specified as full path or can be prepended by
<predefined key="data"/>
The predefined tag is substituted by the user data directory
(which defaults to /home/user/.kmplayer/). A
key set to sysdata is always
/usr/share/applications/kmplayer/.The program should write a valid KMPlayer's native playlist format to stdout. This is read by KMPlayer and finally shown as the active list.
Because generators may want to read from a network stream, eg. reading
a remote XML file, a
Finally in the generator XML file, parts of the literal text can be
composed using user input using the
See the generators files shipped with KMPlayer for some examples and some
more supported tags.
process tag can be preceded by an
<generator name="My Generator">
<input>
<uri>
some-url
</uri>
</input>
<process>
...
</process>
</generator>
KMPlayer will open the uri and write the contents to the process' stdin.ask tag, eg.
<ask key="mygenerator-keywords" default="abc">
<title>
Search terms
</title>
<description>
Please enter search terms
</description>
</ask>
and will prompt the user to enter some text.
The key tag can be used to store previously entered text
in the gconf database.The default tag can be used to
give the user a sane default, which in case also key is
set, will only be shown on the first invocation of this generator.
The ask tag can have an attribute type, which
can be either dir or file to show a
directory or file dialog resp. Eg
<ask type="dir" key="mygenerator-dir"/>
will prompt the user for a directory.
Note, since their is no limitation what kind of program is started,
a program itself can present the user dialog for options.