Muggle-plugin
Inhaltsverzeichnis |
Beschreibung
Autoren: Andi Kellner, Lars von Wedel, Ralf Klueber, Wolfgang Rohdewald
Das Plugin bietet eine Datenbankverbindung für den VDR, so dass die Medienauswahl flexibler wird. Es stehen verschiedene Datenbanken zur Verfügung. Welche verwendet wird, muss man beim Kompilieren festlegen. Es gibt Backends für MySql Server, MySql Embedded, Postgresql und sqlite3. Details siehe README.mysql, README.postgresql, README.sqlite.
Bilder
Softwareanforderungen
- mySQL oder sqlite oder postgresql
- libid3tag
- libmad
- taglib
- libvorbis >= libogg (optional)
- flac >= libogg >= nasm (optional)
- wenn auch das radio - Plugin verwendet wird, bitte die neueste Version verwenden (kenne die Versionsnummer noch nicht). Bis vorgestern (22.12.2008) erzeugte das radio - Plugin Fehlermeldungen in der Art ERROR: x.mp3/001.vdr: Ist kein Verzeichnis
Installation
Optionen beim Kompilieren
HAVE_VORBISFILE=1 | verwende libvorbis und libvorbisfile für die Wiedergabe von OGG Vorbis Dateien |
HAVE_FLAC=1 | verwende libFLAC++ für die Wiedergabe von FLAC Dateien |
HAVE_SNDFILE=1 | verwende libsndfile für die Wiedergabe von .wav Dateien |
HAVE_ONLY_SERVER=1 | Macht nur für MySql Sinn: Keine Unterstützung für MySql Embedded. |
HAVE_SQLITE=1 | Als Datenbank wird SQLite 3 verwendet. |
HAVE_MYSQL=1 | Als Datenbank wird MySql verwendet. |
HAVE_PG=1 | Als Datenbank wird PostGresql verwendet. |
MUSICDIR=/mnt/music | Dies ist die Vorgabe für Option -t - dies gilt also, wenn man -t nicht übergibt. |
Source
- libID3Tag
cd $SOURCEDIR tar xvzf libid3tag-<VERSION>.tar.gz cd libid3tag-<VERSION> ./configure --prefix=/usr/local make make install
- libMAD
cd $SOURCEDIR tar xvzf libmad-<VERSION>.tar.gz cd libmad-<VERSION> ./configure --prefix=/usr/local make make install
- libOGG
cd $SOURCEDIR tar xvzf libogg-<VERSION>.tar.gz cd libogg-<VERSION> ./configure --prefix=/usr/local make make install
- libVorbis
cd $SOURCEDIR tar xvzf libvorbis-<VERSION>.tar.gz cd libvorbis-<VERSION> ./configure --prefix=/usr/local \ --with-ogg-libraries=/usr/local/lib make make install
- Flac
cd $SOURCEDIR tar xvzf flac-<VERSION>.tar.gz ./configure --prefix=/usr/local \ --with-ogg-libraries=/usr/local/lib make make install
- Taglib
cd $SOURCEDIR tar xvzf taglib-<VERSION>.tar.gz cd taglib-<VERSION> ./configure --prefix=/usr/local make make install
Sofern wir den Server nicht Binär installieren konnten, installieren wir als nächstes mysql.
- MySQL
cd $SOURCEDIR tar xvzf mysql-<VERSION>.tar.gz cd mysql-<VERSION> ./configure --prefix=/usr/local \ --libexecdir=/usr/local/bin \ --without-extra-tools \ --without-bench make make install
Nach der erfolgten Installation von mysql folgen noch ein paar weitere für muggle wichtige Installationsschritte.
cd /usr/local/lib ln -s mysql/libmysqlclient.so* . groupadd mysql useradd -g mysql mysql cd .. chown -R mysql var ldconfig mysql_install_db --user=mysql &
Die Installation des Plugins erfolgt an der allbekannten Stelle $SOURCEDIR/VDR/PLUGINS/src vor:
cd $SOURCEDIR/VDR/PLUGINS/src tar xvzf vdr-muggle-<VERSION>.tgz ln -s muggle-<VERSION> muggle
Ansonsten können wir nun das Plugin wie gewohnt übersetzen.
cd $SOURCEDIR/VDR make plugins
Kopieren von mugglei in den PATH.
cp $SOURCEDIR/VDR/PLUGINS/src/muggle/mugglei /usr/local/bin
mysql-Datenbank befüllen
Als erstes starten wir den mysql-Server mit.
mysqld_safe --user=mysql &
Nun können wir die Datenbank füttern. Dazu starten wir den vdr, gehen in den Setup vom muggle - Plugin und wählen den Befehl "Datenbank synchronisieren".
Normalerweise ist das aber nicht nötig - wenn muggle die Datenbank nicht findet, fragt er, ob er sie anlegen und automatisch füttern soll.
Übergabe für VDR.
vdr -P'muggle -t /mp3'
Für das automatische Starten des Mysql Daemons...
Unterhalb von ../support-files im Sourceverzeichnis, befinden sich Templates.
Ein Eintrag in der /etc/init.d/boot.local (falls vorhanden) sollte auch langen.
# starting mysqld daemon /usr/local/bin/mysqld_safe --user=mysql &
Arch-Linux
pacman -S libid3tag libmad flac taglib libvorbis libsndfile mysql
Crux
prt-get libid3tag libmad flac taglib libvorbis libsndfile mysql
Dannach...
sed -i "1i/usr/lib/mysql" /etc/ld.so.conf ldconfig
Debian
apt-get install libid3tag0-dev libmad0-dev libflac++-dev libtag1-dev libvorbis-dev libsndfile1-dev libwrap0-dev
Gentoo
emerge libid3tag libmad flac taglib libvorbis libsndfile mysql
SuSE
yast -i libid3tag-devel mad-devel flac-devel taglib-devel libvorbis-devel libsndfile-devel mysql-devel
Konfiguration
Parameter
Plugin
Parameter (kurz) | Parameter (lang) | Beschreibung |
---|---|---|
-h HHHH | --host=HHHH | specify database host (default is localhost) |
-s SSSS | --socket=PATH | specify database socket (default is TCP connection) |
-n NNNN | --name=NNNN | specify database name (overridden by -g) |
-p PPPP | --port=PPPP | specify port of database server (default is ) |
-u UUUU | --user=UUUU | specify database user (default is ) |
-w WWWW | --password=WWWW | specify database password (default is empty) |
-t TTTT | --toplevel=TTTT | specify toplevel directory for music (default is /mnt/music) |
-d DIRN | --datadir=DIRN | specify directory for embedded sql data (default is $HOME/.muggle) |
-v | --verbose | specify debug level. The higher the more (default is 1) |
Mugglei
Je nach dem, welche Datenbank verwendet wird, stehen manche Optionen nicht zur Verfügung.
Parameter | Lange Form | Beschreibung |
---|---|---|
-h <hostname> | --name=<hostname> | Rechnername vom Datanbankserver (Vorgabe 'localhost') |
-p <port> | --port=<port> | Port vom Datenbankserver (Vorgabe datanbankspezifisch) |
-s <socket> | --socket=<socket> | Socket zur Datenbank (Vorgabe datenbankspezifisch, bei MySql ist es TCP) |
-n <database> | --name=<database> | Name der Datenbank (Vorgabe 'GiantDisc') |
-u <username> | --user=<username> | Benutzername für Datenbank (Vorgabe: leer) |
-w <password> | --password=<password> | Passwort für Datenbank (Vorgabe: leer) |
-t <topleveldir> | --toplevel=<topleveldir> | Name des Musikverzeichnisses (Vorgabe ist /mnt/music respektive der beim Kompilieren angegebene Wert) |
-z | --delete | lösche alle Einträge in der Datenbank, deren Musikdateien fehlen |
-c | --create | lösche die ganze Datenbank und generiere sie neu |
-v | --verbose | Gesprächigkeit, je höher, desto mehr. Default ist 1. |
-d <dirname> | --datadir=<dirname> | Hier wird die Datenbank angelegt, wenn eine "embedded" Datenbank verwendet wird (sqlite3 oder je nach Konfiguration MySql) (Vorgabe: "$HOME/.muggle") |
Snapshot
cd $VDRSOURCEDIR/PLUGINS/src svn co https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin/ muggle
Oder
git clone git://projects.vdr-developer.org/vdr-plugin-muggle.git muggle