FXD files are special XML files that Freevo uses to define links to "external" media and to define the appearance of directories and files. An external source can be elsewhere in your filesystem, on cdrom, or even a DVD or (S)VCD. You can even use FXD files to run external programs. FXD files are a very powerful tool to customize freevo.
A DTD is provided in the Freevo installation in "Docs/freevo_XML_data.dtd," but at the time of this writing, the DTD file was outdated and no longer valid. Waiting for this doc to be updated, you can have a look at fxd_files.txt in CVS. (PleaseUpdate)
The root element in FXD files is <freevo>. PleaseUpdate: A few more words about the general structure of such a file
A disc-set contains a set of related discs--for example, all CD-ROMs containing files of a given TV show.
PleaseUpdate: This needs to be researched and documented more, also a example would be useful.
Directory as a playitem
The whole directory can be handled as a single playitem. This is useful when directory contains only one movie but several files (e.g. cd1.mpg, cd2.mpg, movie.nfo, movie.jpg, movie.sub). Placing fxd file in the directory with the same name as a directory (movie_name/movie_name.fxd) makes freevo to handle directory as a playitem and not as a directory.
As an example, suppose that we have two video files in a directory called simpsons then we create a simpsons.fxd file in the directory with the following information.
<?xml version="1.0" ?> <freevo> <movie title="Die Simpsons"> <video> <file id="f1">20070604_1400_Die_Simpsons.mpeg</file> <file id="f2">20070604_1830_Die_Simpsons.mpeg</file> </video> <info> <rating></rating> <plot>The satiric adventures of a working class family in the misfit city of Springfield</plot> <tagline>On Your Marks, Get Set, D'Oh!</tagline> <year>1989</year> <genre>Animation / Comedy</genre> </info> </movie> </freevo>
No instead of freevo showing [Simpsons] it will show Die Simpsons
FXD files can be used to override the appearance of an individual directory. Please see Skins for details.
PleaseUpdate: add a small example here