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.
Bilder
Softwareanforderungen
- mySQL
- libid3tag
- libmad
- taglib
- libvorbis >= libogg (optional)
- flac >= libogg >= nasm (optional)
Installation
Source
cd $SOURCEDIR
tar xvzf libid3tag-<VERSION>.tar.gz
cd libid3tag-<VERSION>
./configure --prefix=/usr/local
make
make install
cd -
tar xvzf libmad-<VERSION>.tar.gz
cd libmad-<VERSION>
./configure --prefix=/usr/local
make
make install
cd -
tar xvzf libogg-<VERSION>.tar.gz
cd libogg-<VERSION>
./configure --prefix=/usr/local
make
make install
cd -
tar xvzf libvorbis-<VERSION>.tar.gz
cd libvorbis-<VERSION>
./configure --prefix=/usr/local \
--with-ogg-libraries=/usr/local/lib
make
make install
cd -
tar xvzf flac-<VERSION>.tar.gz
./configure --prefix=/usr/local \
--with-ogg-libraries=/usr/local/lib
make
make install
cd -
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.
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 depinst mysql libmad taglib libvorbis libsndfile flac
Dannach...
sed -i "1i/usr/lib/mysql" /etc/ld.so.conf ldconfig
Debian
apt-get install libtag1-dev libmad0-dev libvorbis-dev libflac++-dev libsndfile1-dev
Gentoo
emerge libmad taglib libvorbis flac libsndfile mysql
SuSE
yast -i libid3tag-devel mad-devel flac-devel taglib-devel libvorbis-devel mysql-devel libsndfile-devel
Optionen
| HAVE_VORBISFILE=1 | optionally libvorbis and libvorbisfile to replay OGG Vorbis files |
| HAVE_FLAC=1 | optionally libFLAC++ to replay FLAC files |
| HAVE_SNDFILE=1 | |
| HAVE_ONLY_SERVER=1 | if you do not want to compile in code for embedded mysql |
| HAVE_SQLITE=1 | define what database you want to use. Default is mysql. |
| HAVE_MYSQL=1 | define what database you want to use. Default is mysql. |
Patches
- vdr >= 1.3.38
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
| Parameter | Beschreibung |
|---|---|
| -h <hostname> | specify host of mySql database server (default is 'localhost') |
| -s <socket> | specify a socket for mySQL communication (default is TCP) |
| -n <database> | specify database name (default is 'GiantDisc') |
| -u <username> | specify user of mySql database (default is empty) |
| -p <password> | specify password of user (default is empty password) |
| -t <topleveldir> | name of music top level directory |
| -z | scan all database entries and delete entries for files not found (is not yet implemented) |
| -c | delete the entire database and recreate a new empty one |
| -v | the wanted log level, the higher the more. Default is 1 |