Muggle-plugin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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

Einstellungen

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, libMAD, libOGG, libVorbis, Flac, Taglib, MySQL

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

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

Links

  1. Homepage des Plugins
  2. mySQL
  3. MAD (M)PEG (A)udio (D)ecoder Homepage
  4. Ogg Vorbis CODEC Project
  5. Taglib - Audio Meta-Data Library
  6. Snd2usb für muggle zum Schreiben auf USB Stick
  7. Flac
In anderen Sprachen