nathan@0: nathan@0: This is a dual-plugin for VDR. nathan@0: The "MP3-Plugin" allows playback of MP3 and other audio files. nathan@0: The "MPlayer-Plugin" is used to call MPlayer for playback of video nathan@0: files (e.g. DivX) nathan@0: nathan@0: Written by: Stefan Hülswitt nathan@0: Project's homepage: http://www.muempf.de/ nathan@0: Latest version available at: http://www.muempf.de/down/ nathan@0: nathan@0: See the file COPYING for license information. nathan@0: nathan@0: ---------------------------------------------------------------------- nathan@0: nathan@0: For the user manual see the MANUAL file. nathan@0: nathan@0: nathan@0: Installing: nathan@0: ----------- nathan@0: nathan@0: By default the Makefile builds both plugins. If you want to use only one of nathan@0: them, you can add one of "WITHOUT_MP3=1" or "WITHOUT_MPLAYER=1" to your nathan@0: Make.config. nathan@0: nathan@0: In the past month the plugins only have been tested with VDR 1.4.x and 1.5.x. nathan@0: While the plugins probably can be compiled with VDR down to version 1.1.29, this nathan@0: is not tested nor supported. nathan@0: nathan@0: By default any mentioned plugin config file should be located in the "plugins" nathan@0: subdirectory of your VDR config directory (see commandline option -S to specify nathan@0: an plugin specific subdirectory). For a complete description of the config nathan@0: files, see the MANUAL file. nathan@0: nathan@0: The MP3 plugin needs some external libraries (some optionally): nathan@0: nathan@0: You must have installed libmad and libid3tag from nathan@0: for decoding MP3 and ID3 support. nathan@0: Recommended version is 0.15.1b. To compile and install I suggest the following nathan@0: sequence from the source directory (libmad and libid3tag are installed nathan@0: separately, so you must execute this once for each directory): nathan@0: nathan@0: > configure nathan@0: > make nathan@0: > make install nathan@0: > ldconfig nathan@0: nathan@0: For playback of WAV and other sound files you must have installed libsndfile nathan@0: on your system. Recommended version is nathan@0: 1.0.11 or newer. The old 0.0.x series doesn't work due to some API changes. To nathan@0: compile and install libsndfile I suggest the following sequence from the nathan@0: libsndfile source directory: nathan@0: nathan@0: > configure nathan@0: > make nathan@0: > make install nathan@0: > ldconfig nathan@0: nathan@0: If you don't want to install libsndfile, you must add "WITHOUT_LIBSNDFILE=1" to nathan@0: your Make.config. nathan@0: nathan@0: If you want to listen to CD audio, you can use cdfs nathan@0: (version 0.5c suggested). I suggest nathan@0: that you create a new entry in /etc/fstab and mp3sources.conf for cdfs. The nathan@0: /etc/fstab entry could look like: nathan@0: /dev/hdc /mnt/cdfs cdfs ro,noauto,user 0 0 nathan@0: The entry for mp3sources.conf could look like: nathan@0: /mnt/cdfs;CD-Audio;1 nathan@0: Or if you want only WAV files to be displayed: nathan@0: /mnt/cdfs;CD-Audio;1;*.wav nathan@0: If you don't like cdfs, you could use any other filesystems which allows to nathan@0: access the CD audio data as WAV files. nathan@0: nathan@0: For playback of OGG files you must have installed libvorbis and libvorbisfile nathan@0: on your system. Most Linux distributions nathan@0: include packages for this. nathan@0: If you don't want to install the vorbis libraries, you must add nathan@0: "WITHOUT_LIBVORBISFILE=1" to your Make.config. nathan@0: nathan@0: The MP3 plugin can output the sound to an OSS soundcard. To compile this nathan@0: support add "WITH_OSS_OUTPUT=1" to your Make.config. The output device defaults nathan@0: to "/dev/dsp" (see commandline option -D too). Don't forget to enable OSS nathan@0: output in the plugin setup menu. nathan@0: nathan@0: Before compiling the plugin, you could have a look at "mp3-config.h". This file nathan@0: includes a number of defines to set options and values at compile time. You nathan@0: should only change defines, if you have understand the source code parts which nathan@0: deal with the define. Improper settings can make the MP3 plugin to fail or to nathan@0: operate unsmoothly. So you should know what you are doing. nathan@0: nathan@0: To build the plugin(s) type: nathan@0: "make plugins" nathan@0: from the VDR source directory. nathan@0: nathan@0: To make the progressbar work with the MPlayer plugin and slave mode you need to nathan@0: apply a small patch to mplayer. Select an appropriate patch file for your nathan@0: MPlayer version from the patches subdirectory. Apply the patch and recompile nathan@0: MPlayer. nathan@0: nathan@0: Early 0.90rc versions of MPlayer need a patch to enabled HEAD driver support nathan@0: too. You will find one for 0.90rc1 in the patches subdirectory. Probably you'll nathan@0: have to point configure to the new DVB include files with nathan@0: --with-extraincdir=/usr/local/src/DVB/include or where ever you have stored the nathan@0: files. MPlayer versions later as 0.90rc5 allow to select HEAD support with a nathan@0: configure option or even detect this automatically. nathan@0: nathan@0: Commandline options: nathan@0: -------------------- nathan@0: nathan@0: For both plugins it's possible to give an additional configuration subdirectory nathan@0: with commandline option -S/--sources, i.e. the given directory name is appended nathan@0: to the default plugin config directory path. nathan@0: nathan@0: Both plugins have a commandline option -m/--mount to define the name and nathan@0: location of the mount script. The default mount script is "mount.sh". This nathan@0: script is called from the plugin with 2 options on the commandline. The first nathan@0: is one of mount/unmount/eject/status and gives the action to perform. The nathan@0: second one is the base directory as defined in "mp3sources.conf" or nathan@0: "mplayersources.conf". The script must return the exit code 0 if the action was nathan@0: successful and 1 if the action failed (see the comments in the example nathan@0: "mount.sh" script which comes with the archive). nathan@0: nathan@0: The MP3 plugin maintains a cache for information scanned from song files (e.g. nathan@0: ID3 tags). This information is saved to the id3info.cache file by default nathan@0: located in the video directory. You can use commandline option -C/--cache to nathan@0: specify a different directory for this file. nathan@0: nathan@0: If you are using cdfs, the MP3 plugin is able to query a CDDB database for the nathan@0: song information (like title, artist). Local CDDB lookups can be enable from nathan@0: the setup menu and you must give the path to your local CDDB files with nathan@0: commandline option -B/--cddb. The database layout follows the xmcd standard nathan@0: (one subdirectory level for the categories, individual files for every disc). nathan@0: The settings for remote CDDB lookups can be found in the setup menu, too. Any nathan@0: information retrieved from a remote host is stored to your local CDDB database, nathan@0: so the user running VDR needs write access to this directory. nathan@0: nathan@0: If you are using any of the networking capabilities and you have a dial-up nathan@0: network, you can use the commandline option -n/--network to give a script name. nathan@0: This script is called before and after any network access and receives one nathan@0: option on commandline. This can either be "up" or "down", depending on if it's nathan@0: before or after the network access. In the "up" case the script should not nathan@0: return before the network is connected and useable. By default the plugin nathan@0: assumes that network access can be done at any time without prior action. nathan@0: nathan@0: If you want to use the OSS output capability but your soundcard device is not nathan@0: "/dev/dsp" (which is the default) you can use the commandline option -D/--dsp nathan@0: to give an alternative soundcard device. nathan@0: nathan@0: If you want to use the cover image display, you have to provide an image nathan@0: converting script. Usually your covers are in a common image format like e.g. nathan@0: JPEG or PNG, but the MP3 plugin can only display MPEG (still) frames. The nathan@0: conversion is done by the script, which takes two arguments: first the filename nathan@0: of the image file and second the filename or the resulting MPEG file. The nathan@0: script also has to take care that any needed subdirectories in the cache are nathan@0: created e.g. mkdir -p. You will find an example script in the examples nathan@0: subdirectory. By default the script is called "image_convert.sh", but you can nathan@0: use the commandline option -i/--iconv to change the name and location of the nathan@0: script. nathan@0: To speed up consecutive accesses to the same image, the converted frames are nathan@0: cached on disk. The default cache directory is "/var/cache/images/mp3". You can nathan@0: change this location with the commandline option -c/--icache. nathan@0: Don't forget to enable the image display in the plugin setup menu. nathan@0: The search order for images is: nathan@0: - An image in the same directory as the song, named like the song but with the nathan@0: song extension replaced with the image format extension nathan@0: e.g. test.mp3 -> test.jpg nathan@0: - An image named "cover" with the image format extension in the same directory nathan@0: as the song (album cover). nathan@0: e.g. cover.gif nathan@0: - An image named "artist" with the image format extension in the parent nathan@0: directory of the song (artist image). nathan@0: e.g. artist.png nathan@0: - An image named "background" with the image format extension in the base nathan@0: directory of the MP3 source. nathan@0: For all locations the extensions "jpg", "png" & "gif" are checked (in that nathan@0: order). If no image can be found, a full screen black image is displayed (this nathan@0: is included statically in the plugin). nathan@0: nathan@0: MPlayer is called through a script called "mplayer.sh" with the filename to nathan@0: play as first argument and the phrase SLAVE as second argument if slave mode is nathan@0: enabled. You can use the commandline option -M/--mplayer to change the name and nathan@0: location of the mplayer script. The script has to call MPlayer with all the nathan@0: necessary options. nathan@0: nathan@0: The script should parse the SLAVE keyword too and give appropriate options to nathan@0: MPlayer. To enable slave mode you must give at least the "-slave" option, while nathan@0: I suggest "-slave -nolirc -quiet". nathan@0: nathan@0: You can use the mplayer.sh.example file, which comes with the archive, as a nathan@0: starting point. Juri Haberland maintains a full featured mplayer.sh file which nathan@0: is available at . nathan@0: nathan@0: For the MPlayer plugin you can give a location for the global resume file with nathan@0: commandline option -R/--resume. nathan@0: nathan@0: nathan@0: Summary of commandline options: nathan@0: ------------------------------- nathan@0: nathan@0: MP3 Plugin: nathan@0: -m CMD, --mount=CMD use CMD to mount/unmount/eject mp3 sources nathan@0: -n CMD, --network=CMD execute CMD before & after network access nathan@0: -B DIR, --cddb=DIR search CDDB files in DIR nathan@0: -C DIR, --cache=DIR store ID3 cache file in DIR nathan@0: -D DIR, --dsp=DIR device for OSS output nathan@0: -i CMD, --iconv=CMD use CMD to convert background images nathan@0: -c DIR, --icache=DIR cache converted images in DIR nathan@0: -S SUB, --sources=SUB search sources config in SUB subdirectory nathan@0: nathan@0: MPlayer plugin: nathan@0: -m CMD, --mount=CMD use CMD to mount/unmount/eject mplayer sources nathan@0: -M CMD, --mplayer=CMD use CMD when calling MPlayer nathan@0: -S SUB, --sources=SUB search sources config in SUB subdirectory nathan@0: -R DIR, --resume=DIR store global resume file in DIR