Muggle-plugin

From VDR Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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