Muggle-plugin

From VDR Wiki
Jump to navigation Jump to search

Description

Setup

The muggle plugin is similar to the mplayer-plugin as it plays MP3 and OGG audio files. But it provides a database backend. One can search and sort his sound archiv in different ways.

Hardware requirements

Software requirements

  • mySQL
  • libmad
  • taglib
  • libvorbis
  • libvorbisfile (optional)

Installation

To install libmad

cd $SOURCEDIR
tar xvzf libmad-<VERSION>.tar.gz
cd libmad-<VERSION>
./configure --prefix=/usr/local
make
make install
ldconfig

libogg

cd $SOURCEDIR
tar xvzf libogg-<VERSION>.tar.gz
cd libogg-<VERSION>
./configure --prefix=/usr/local
make
make install
ldconfig

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

taglib

cd $SOURCEDIR
tar xvzf taglib-<VERSION>.tar.gz
cd taglib-<VERSION>
./configure --prefix=/usr/local
make
make install
ldconfig

and mySQL

cd $SOURCEDIR
tar xvzf mysql-<VERSION>.tar.gz
./configure --prefix=/usr/local
            --libexecdir=/usr/local/bin \
            --without-extra-tools \
            --without-bench
make
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

See plugin installation.

Configuration

Start mySQL with

mysqld_safe --user=mysql &

Now the database can be filled with information (we assume your MP3 archive is under /mp3)

cd $SOURCEDIR/VDR/PLUGINS/src/muggle
make mugglei
cp mugglei /usr/local/bin
cd scripts
sh make-empty-db
cd /mp3
find * -path 'Assorted' -prune -o -type f -exec mugglei -z -h localhost -n GiantDisc -f \{} \;

To update later via the command menu of VDR add the following to /etc/vdr/commands.conf

Update DB : echo "cd /mp3 ; \
            find * -path 'Assorted' -prune -o -type f \ 
            -exec /usr/local/bin/mugglei -z -h localhost \
            -n GiantDisc -f '{}' ';'"|at now

Parameter

Plugin

Parameter (short) Parameter (long) Description
-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)
-g --giantdisc enable full Giantdisc compatibility mode

Mugglei

Parameter Description
-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)
-f <filename> name of music file to import or update
-a import track as if it was on an assorted album
-z scan all database entries and delete entries for files not found

Problems

  • under SuSE one has to compile mySQL from source as the binary is inadequate. The binaries from http://www.mysql.com are also fine.

Links

[1] http://www.htpc-tech.de/htpc/muggle.htm Plugin homepage
[2] http://www.mysql.org mySQL homepage
[3] http://www.underbit.com/products/mad Libmad homepage
[4] http://www.xiph.org/ogg/vorbis Ogg Vorbis CODEC project homepage
[5] http://developer.kde.org/~wheeler/taglib.html Taglib - Audio Meta-Data library homepage
[6] http://vdrportal.de/board/thread.php?postid=206688 snd2usb for muggle to write to USB sticks