Muggle-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Status)
 
(98 dazwischenliegende Versionen von 48 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Beschreibung==
 
==Beschreibung==
Das Plugin bietet eine Datenbankverbindung für den VDR so dass die Medienauswahl flexibler wird.
+
'''Autoren:''' Andi Kellner, Lars von Wedel, Ralf Klueber, Wolfgang Rohdewald
[[Bild:muggle-plugin.jpg|thumb|none|''Setup'']]
+
 
 +
Das Plugin bietet eine Datenbankverbindung für den VDR, so dass die Medienauswahl flexibler wird. Es stehen verschiedene Datenbanken zur Verfügung.
 +
 
 +
===Status===
 +
Letztes Update 01/2009
 +
 
 +
==Bilder==
 +
[[Bild:muggle-plugin.jpg|thumb|none|''Einstellungen'']]
  
==Hardwareanforderungen==
 
 
==Softwareanforderungen==
 
==Softwareanforderungen==
* mySQL
+
Welche Datenbank 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.
 +
* mySQL oder sqlite oder postgresql
 +
* libid3tag
 
* libmad
 
* libmad
 
* taglib
 
* taglib
* libvorbis und libvorbisfile (optional)
+
* libvorbis >= libogg (optional)
 +
* flac >= libogg >= nasm (optional)
 +
 
 
==Installation==
 
==Installation==
<pre>
+
===Optionen beim Kompilieren ===
cd $SOURCEDIR
+
{| class="wikitable"
tar xvzf libmad-<VERSION>.tar.gz
+
|-
cd libmad-<VERSION>
+
| bgcolor=#efefef | HAVE_VORBISFILE=1
./configure --prefix=/usr/local
+
| verwende libvorbis und libvorbisfile für die Wiedergabe von OGG Vorbis Dateien
make
+
|-
make install
+
| bgcolor=#efefef | HAVE_FLAC=1
ldconfig
+
| verwende libFLAC++ für die Wiedergabe von FLAC Dateien
cd -
+
|-
 +
| bgcolor=#efefef | HAVE_SNDFILE=1
 +
| verwende libsndfile für die Wiedergabe von .wav Dateien
 +
|-
 +
| bgcolor=#efefef | HAVE_ONLY_SERVER=1
 +
| Macht nur für MySql Sinn: Keine Unterstützung für MySql Embedded.
 +
|-
 +
| bgcolor=#efefef | HAVE_SQLITE=1
 +
| Als Datenbank wird SQLite 3 verwendet.
 +
|-
 +
| bgcolor=#efefef | HAVE_MYSQL=1
 +
| Als Datenbank wird MySql verwendet.
 +
|-
 +
| bgcolor=#efefef | HAVE_PG=1
 +
| Als Datenbank wird PostGresql verwendet.
 +
|-
 +
| bgcolor=#efefef | MUSICDIR=/mnt/music
 +
| Dies ist die Vorgabe für Option -t - dies gilt also, wenn man -t nicht übergibt.
 +
|}
  
tar xvzf libogg-<VERSION>.tar.gz
+
===Source===
cd libogg-<VERSION>
+
Nach der erfolgten Installation von mysql folgen noch ein paar weitere für ''muggle'' wichtige Installationsschritte.
./configure --prefix=/usr/local
+
make
+
make install
+
ldconfig
+
cd -
+
  
tar xvzf libvorbis-<VERSION>.tar.gz
+
cd /usr/local/lib
cd libvorbis-<VERSION>
+
ln -s mysql/libmysqlclient.so* .
./configure --prefix=/usr/local \
+
groupadd mysql
                  --with-ogg-libraries=/usr/local/lib
+
useradd -g mysql mysql
make
+
cd ..
make install
+
chown -R mysql var
cd -
+
ldconfig
 +
mysql_install_db --user=mysql &
  
tar xvzf taglib-<VERSION>.tar.gz
+
Die Installation des Plugins erfolgt an der allbekannten Stelle '''$SOURCEDIR/VDR/PLUGINS/src''' vor:
cd taglib-<VERSION>
+
./configure --prefix=/usr/local
+
make
+
make install
+
ldconfig
+
cd -
+
  
tar xvzf mysql-<VERSION>.tar.gz
+
cd $SOURCEDIR/VDR/PLUGINS/src
./configure --prefix=/usr/local
+
tar xvzf vdr-muggle-<VERSION>.tgz
make
+
ln -s muggle-<VERSION> muggle
make install
+
find . -name my-medium.cnf -exec cp --backup=t \{} /etc/my.cnf \;
+
cd /usr/local/lib
+
ln -s mysql/* .
+
groupadd mysql
+
useradd -g mysql mysql
+
chown -R mysql var
+
mysql_install_db --user=mysql &
+
ldconfig
+
</pre>
+
==Konfiguration==
+
Da ich auf meinen PC sämmtliche Software mit '''--prefix=/usr/local''' übersetze, müssen wir das Makefile des Plugins anpassen.
+
<pre>
+
-      -I/usr/include/mysql/ -I/usr/include/taglib
+
+      -I/usr/local/include/mysql/ -I/usr/local/include/taglib
+
  
- MIFLAGS += -I/usr/include/taglib -lmysqlclient
+
Kopieren von mugglei in den '''PATH'''.
+ MIFLAGS += -I/usr/local/include/taglib -lmysqlclient
+
 
</pre>
+
cp $SOURCEDIR/VDR/PLUGINS/src/muggle/mugglei /usr/local/bin
Starten des Servers mit.
+
 
<pre>
+
===mysql-Datenbank befüllen===
mysqld_safe --user=mysql &
+
Als erstes starten wir den mysql-Server mit.
</pre>
+
 
Nun können wir die Datenbank füttern, vorrausgesetzt die Mp3 Sammlung befindet sich in '''/mp3'''
+
mysqld_safe --user=mysql &
<pre>
+
 
cd $SOURCEDIR/VDR/PLUGINS/src/muggle
+
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".
make mugglei
+
 
cd scripts
+
Normalerweise ist das aber nicht nötig - wenn muggle die Datenbank nicht findet, fragt er, ob er sie anlegen und automatisch füttern soll.
sh make-empty-db
+
 
cd -
+
Übergabe für VDR.
find /mp3 -name '*.mp3' -type f -exec ./mugglei -a -f \{} \;
+
 
</pre>
+
vdr -P'muggle -t /mp3'
Später via [[commands.conf]], mit folgenden Eintrag:
+
 
<pre>
+
Für das automatische Starten des Mysql Daemons...
Update DB mugglei  : echo "find /mp3 -name '*.mp3' -type f -exec $SOURCEDIR/VDR/PLUGINS/src/muggle/mugglei -a -f '{}' ';'" | at now
+
 
</pre>
+
Unterhalb von '''../support-files''' im Sourceverzeichnis, befinden sich Templates.
==Probleme==
+
 
Bei [[SuSE]] wurde mySQL so compiliert, dass import lokaler files nicht unterstuetzt wird. Einfach Sourcen nach der Anleitung oben übersetzen, oder z.B. rpms direkt von www.mysql.org installieren. Die [[SuSE]] eigenen Packete sollte man falls installiert entfernen, folgender Einzeiler erledigt dies:
+
Ein Eintrag in der '''/etc/init.d/boot.local''' (falls vorhanden) sollte auch langen.
<pre>
+
 
rpm -qa|grep mysql|xargs rpm -e --nodeps
+
# starting mysqld daemon
</pre>
+
/usr/local/bin/mysqld_safe --user=mysql &
==Parameter==
+
 
{| border=1 cellpadding=2 cellspacing=0
+
==Konfiguration==
|- bgcolor=#efefef
+
===Parameter===
 +
====Plugin====
 +
{| class="wikitable"
 +
|-
 
!Parameter (kurz)
 
!Parameter (kurz)
 
!Parameter (lang)
 
!Parameter (lang)
Zeile 109: Zeile 115:
 
| -t TTTT || --toplevel=TTTT || specify toplevel directory for music (default is /mnt/music)
 
| -t TTTT || --toplevel=TTTT || specify toplevel directory for music (default is /mnt/music)
 
|-
 
|-
| -g     || --giantdisc    || enable full Giantdisc compatibility mode
+
| -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)
 
|}
 
|}
==Links==
+
 
{|
+
====Mugglei====
| [1]
+
Je nach dem, welche Datenbank verwendet wird, stehen manche Optionen nicht zur Verfügung.
| http://www.mysql.org
+
 
| mySQL
+
{| class="wikitable"
 
|-
 
|-
| [2]
+
!Parameter
| http://www.underbit.com/products/mad
+
!Lange Form
| (M)PEG (A)udio (D)ecoder Homepage
+
!Beschreibung
 
|-
 
|-
| [3]
+
| -h <hostname> || --name=<hostname> || Rechnername vom Datanbankserver (Vorgabe 'localhost')
| http://www.xiph.org/ogg/vorbis
+
| Ogg Vorbis CODEC Project
+
 
|-
 
|-
| [4]
+
| -p <port> || --port=<port> || Port vom Datenbankserver (Vorgabe datanbankspezifisch)
| http://developer.kde.org/~wheeler/taglib.html
+
| Taglib - Audio Meta-Data Library
+
 
|-
 
|-
| [5]
+
| -s <socket>  || --socket=<socket> || Socket zur Datenbank (Vorgabe datenbankspezifisch, bei MySql ist es TCP)
| http://www.htpc-tech.de/htpc/muggle.htm
+
| Homepage des Plugins
+
 
|-
 
|-
| [6]
+
| -n <database> || --name=<database> || Name der Datenbank (Vorgabe 'GiantDisc')
| http://vdrportal.de/board/thread.php?postid=206688
+
|-
| snd2usb für muggle zum Schreiben auf USB Stick
+
| -u <username> || --user=<username> || Benutzername für Datenbank (Vorgabe: leer)
|}[[Kategorie:Plugins]]
+
|-
 +
| -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")
 +
|}
 +
 
 +
==Entwicklerversion==
 +
git clone git://projects.vdr-developer.org/vdr-plugin-muggle.git
 +
 
 +
==Aktuelle Version==
 +
[http://projects.vdr-developer.org/attachments/download/53/vdr-muggle-0.2.3.tgz 0.2.3]
 +
 
 +
==Links==
 +
# [http://projects.vdr-developer.org/projects/show/plg-muggle Homepage des Plugins]
 +
 
 +
[[Kategorie:Plugins]]
 +
{{i18n|muggle-plugin}}

Aktuelle Version vom 18. August 2013, 12:36 Uhr

Inhaltsverzeichnis

[Bearbeiten] 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.

[Bearbeiten] Status

Letztes Update 01/2009

[Bearbeiten] Bilder

Einstellungen

[Bearbeiten] Softwareanforderungen

Welche Datenbank 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.

  • mySQL oder sqlite oder postgresql
  • libid3tag
  • libmad
  • taglib
  • libvorbis >= libogg (optional)
  • flac >= libogg >= nasm (optional)

[Bearbeiten] Installation

[Bearbeiten] 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.

[Bearbeiten] Source

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

[Bearbeiten] 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 &

[Bearbeiten] Konfiguration

[Bearbeiten] Parameter

[Bearbeiten] 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)

[Bearbeiten] 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")

[Bearbeiten] Entwicklerversion

git clone git://projects.vdr-developer.org/vdr-plugin-muggle.git

[Bearbeiten] Aktuelle Version

0.2.3

[Bearbeiten] Links

  1. Homepage des Plugins
In anderen Sprachen