Muggle-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Plugin)
(Status)
 
(35 dazwischenliegende Versionen von 18 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
 
'''Autoren:''' Andi Kellner, Lars von Wedel, Ralf Klueber, Wolfgang Rohdewald
 
'''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.
+
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==
 
==Bilder==
[[Bild:muggle-plugin.jpg|thumb|none|''Setup'']]
+
[[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
 
* libid3tag
 
* libmad
 
* libmad
Zeile 17: Zeile 20:
  
 
==Installation==
 
==Installation==
<pre>
+
===Optionen beim Kompilieren ===
cd $SOURCEDIR
+
{| class="wikitable"
tar xvzf libid3tag-<VERSION>.tar.gz
+
|-
cd libid3tag-<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
cd -
+
| verwende libFLAC++ für die Wiedergabe von FLAC Dateien
 
+
|-
tar xvzf libmad-<VERSION>.tar.gz
+
| bgcolor=#efefef | HAVE_SNDFILE=1
cd libmad-<VERSION>
+
| verwende libsndfile für die Wiedergabe von .wav Dateien
./configure --prefix=/usr/local
+
|-
make
+
| bgcolor=#efefef | HAVE_ONLY_SERVER=1
make install
+
| Macht nur für MySql Sinn: Keine Unterstützung für MySql Embedded.
cd -
+
|-
 
+
| bgcolor=#efefef | HAVE_SQLITE=1
tar xvzf libogg-<VERSION>.tar.gz
+
| Als Datenbank wird SQLite 3 verwendet.
cd libogg-<VERSION>
+
|-
./configure --prefix=/usr/local
+
| bgcolor=#efefef | HAVE_MYSQL=1
make
+
| Als Datenbank wird MySql verwendet.
make install
+
|-
cd -
+
| bgcolor=#efefef | HAVE_PG=1
 
+
| Als Datenbank wird PostGresql verwendet.
tar xvzf libvorbis-<VERSION>.tar.gz
+
|-
cd libvorbis-<VERSION>
+
| bgcolor=#efefef | MUSICDIR=/mnt/music
./configure --prefix=/usr/local \
+
| Dies ist die Vorgabe für Option -t - dies gilt also, wenn man -t nicht übergibt.
            --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
+
</pre>
+
 
+
Sofern wir den Server nicht ''Binär'' installieren konnten, installieren wir als nächstes '''mysql'''.
+
 
+
<pre>
+
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
+
</pre>
+
  
 +
===Source===
 
Nach der erfolgten Installation von mysql folgen noch ein paar weitere für ''muggle'' wichtige Installationsschritte.
 
Nach der erfolgten Installation von mysql folgen noch ein paar weitere für ''muggle'' wichtige Installationsschritte.
  
Zeile 92: Zeile 65:
 
  tar xvzf vdr-muggle-<VERSION>.tgz
 
  tar xvzf vdr-muggle-<VERSION>.tgz
 
  ln -s muggle-<VERSION> muggle
 
  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'''.
 
Kopieren von mugglei in den '''PATH'''.
Zeile 102: Zeile 70:
 
  cp $SOURCEDIR/VDR/PLUGINS/src/muggle/mugglei /usr/local/bin
 
  cp $SOURCEDIR/VDR/PLUGINS/src/muggle/mugglei /usr/local/bin
  
==mysql-Datenbank befüllen==
+
===mysql-Datenbank befüllen===
 
Als erstes starten wir den mysql-Server mit.
 
Als erstes starten wir den mysql-Server mit.
  
Zeile 110: Zeile 78:
  
 
Normalerweise ist das aber nicht nötig - wenn muggle die Datenbank nicht findet, fragt er, ob er sie anlegen und automatisch füttern soll.
 
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.
 
Übergabe für VDR.
Zeile 125: Zeile 92:
 
  /usr/local/bin/mysqld_safe --user=mysql &
 
  /usr/local/bin/mysqld_safe --user=mysql &
  
==Probleme==
+
==Konfiguration==
 
+
===Parameter===
 
+
====Plugin====
==Optionen==
+
{| class="wikitable"
{| border=1 cellpadding=2 cellspacing=0
+
 
|-
 
|-
| bgcolor=#efefef|HAVE_VORBISFILE=1
 
| optionally libvorbis and libvorbisfile to replay OGG Vorbis files
 
|-
 
| bgcolor=#efefef|HAVE_FLAC=1
 
| optionally libFLAC++ to replay FLAC files
 
|-
 
| bgcolor=#efefef|HAVE_ONLY_SERVER=1
 
| if you do not want to compile in code for embedded sql
 
|}
 
 
===Plugin===
 
{| border=1 cellpadding=2 cellspacing=0
 
|- bgcolor=#efefef
 
 
!Parameter (kurz)
 
!Parameter (kurz)
 
!Parameter (lang)
 
!Parameter (lang)
Zeile 167: Zeile 120:
 
|}
 
|}
  
===Mugglei===
+
====Mugglei====
{| border=1 cellpadding=2 cellspacing=0
+
Je nach dem, welche Datenbank verwendet wird, stehen manche Optionen nicht zur Verfügung.
|- bgcolor=#efefef
+
 
 +
{| class="wikitable"
 +
|-
 
!Parameter
 
!Parameter
 +
!Lange Form
 
!Beschreibung
 
!Beschreibung
 
|-
 
|-
| -h <hostname> || specify host of mySql database server (default is 'localhost')
+
| -h <hostname> || --name=<hostname> || Rechnername vom Datanbankserver (Vorgabe 'localhost')
 
|-
 
|-
| -s <socket>   || specify a socket for mySQL communication (default is TCP)
+
| -p <port> || --port=<port> || Port vom Datenbankserver (Vorgabe datanbankspezifisch)
 
|-
 
|-
| -n <database> || specify database name (default is 'GiantDisc')
+
| -s <socket>   || --socket=<socket> || Socket zur Datenbank (Vorgabe datenbankspezifisch, bei MySql ist es TCP)
 
|-
 
|-
| -u <username> || specify user of mySql database (default is empty)
+
| -n <database> || --name=<database> || Name der Datenbank (Vorgabe 'GiantDisc')
 
|-
 
|-
| -p <password> || specify password of user (default is empty password)
+
| -u <username> || --user=<username> || Benutzername für Datenbank (Vorgabe: leer)
 
|-
 
|-
| -t <topleveldir> || name of music top level directory
+
| -w <password> || --password=<password> || Passwort für Datenbank (Vorgabe: leer)
 
|-
 
|-
| -z            || scan all database entries and delete entries for files not found (is not yet implemented)
+
| -t <topleveldir> || --toplevel=<topleveldir> || Name des Musikverzeichnisses (Vorgabe ist /mnt/music respektive der beim Kompilieren angegebene Wert)
 
|-
 
|-
| -c           || delete the entire database and recreate a new empty one
+
| -z           || --delete || lösche alle Einträge in der Datenbank, deren Musikdateien fehlen
 
|-
 
|-
| -v            || the wanted log level, the higher the more. Default is 1
+
| -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")
 
|}
 
|}
  
==Bedienung==
+
==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==
 
==Links==
{|
+
# [http://projects.vdr-developer.org/projects/show/plg-muggle Homepage des Plugins]
| [1]
+
 
| http://www.mysql.com
+
[[Kategorie:Plugins]]
| mySQL
+
{{i18n|muggle-plugin}}
|-
+
| [2]
+
| http://www.underbit.com/products/mad
+
| (M)PEG (A)udio (D)ecoder Homepage
+
|-
+
| [3]
+
| http://www.xiph.org/ogg/vorbis
+
| Ogg Vorbis CODEC Project
+
|-
+
| [4]
+
| http://developer.kde.org/~wheeler/taglib.html
+
| Taglib - Audio Meta-Data Library
+
|-
+
| [5]
+
| http://vdrportal.de/board/thread.php?postid=206688
+
| snd2usb für muggle zum Schreiben auf USB Stick
+
|-
+
| [6]
+
| http://flac.sourceforge.net
+
| flac
+
|-
+
| [7]
+
| http://www.htpc-tech.de/htpc/muggle.htm
+
| Homepage des Plugins
+
|}[[Kategorie:Plugins]]
+

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