Installing and using MythTV: MythMusic.

Next Previous Contents

## 17. MythMusic.

MythMusic has a number of prerequisites that must be satisfied before it is operational. Depending on your distribution, some of these prerequisites can be satisfied through the various package managers. If your distribution doesn't offer pre-compiled versions of the software below, then follow the generic instructions for manually compiling and installing the software.

The prerequisites for MythMusic are:

- MAD
- taglib
- libogg and libvorbis
- FLAC
- libcdaudio
- CDParanoia

## 17.1 Manual installation of prerequisites

These instructions are for distributions which don't have pre-compiled versions of the software necessary to run MythTV.

Download MAD from http://www.underbit.com/products/mad and install:

> `

>     $ tar -xzf mad-0.15.1b.tar.gz
>     $ cd mad-0.15.1b
>     $ ./configure
>     $ make
>     $ su
>     # make install
>     # exit

> `

Download TagLib from http://developer.kde.org/~wheeler/taglib.html and install:

> `

>     $ tar -xzf taglib-1.4.tar.gz
>     $ cd taglib-1.4
>     $ ./configure
>     $ make
>     $ su
>     # make install
>     # exit

> `

Download libogg and libvorbis from http://www.xiph.org/downloads and install in a similar manner to the above packages.

Download FLAC from http://flac.sourceforge.net and install:

> `

>     $ tar -xzf flac-1.1.2.tar.gz
>     $ cd flac-1.1.2
>     $ ./configure
>     $ make
>     $ su
>     # make install
>     # exit
>     $

> `

Download libcdaudio from http://libcdaudio.sourceforge.net and install:

> `

>     $ tar -xzf libcdaudio-0.99.12p2.tar.gz
>     $ cd libcdaudio-0.99.12p2
>     $ ./configure
>     $ make
>     $ su
>     # make install
>     # exit
>     $

> `

Download cdparanoia from http://www.xiph.org/paranoia/down.html.

> `

>     $ tar -xzf cdparanoia-III-alpha9.8.src.tgz
>     $ cd cdparanoia-III-alpha9.8
>     $ ./configure
>     $ make
>     $ su
>     # make install
>     # cd /usr/lib
>     # ln -sf libcdda_interface.so.0.9.8 libcdda_interface.so
>     # ln -sf libcdda_paranoia.so.0.9.8 libcdda_paranoia.so
>     # exit
>     $

> `

## 17.2 Mandriva

Mandriva has a number of the prerequisites available on the installation CD. Some of the software you're going to need will have to be obtained from the "contrib" or "cooker" development repositories. Applications downloaded from "cooker" come from the development branch, so there may be issues with some software. It isn't recommended that you mix cooker and release-level software.

urpmi is the simplest tool for installation of packages from the command line. The difficult part is the configuration, but this has been made easier at the following website: http://addmedia.linuxfornewbies.org/ The website will allow you to choose a mirror site and then present the command-line configuration text for that mirror. You will most likely need to add a "Contrib" mirror to your setup. Once you have done that, you can proceed. If urpmi prompts you about other modules that need to be installed to satisfy dependencies, say "Yes".

> `

>     # urpmi libmad0 libmad0-devel libflac4 libflac4-devel libcdaudio1 cdparanoia
>     # urpmi libcdda0 libcdda0-devel libvorbis0 libvorbis0-devel
>     # urpmi libcdaudio1-devel libid3tag0 libid3tag0-devel

> `

### Additional options with MythMusic

Additional visualizations have been added to MythMusic. If you wish to use these, there are some prerequisites you must install prior to compiling.

- fftw
- OpenGL
- SDL

`fftw` may be obtained from http://www.fftw.org/. In Mandriva it may be installed by typing:

> `

>     # urpmi libfftw2 libfftw2-devel

> `

`OpenGL` should be installed on practically all distributions. However, you will need the devel module. In Mandriva it may be installed by typing:

> `

>     # urpmi libMesaGLU1-devel

> `

`SDL` may be obtained from http://www.libsdl.org. In Mandriva it may be installed by typing:

> `

>     # urpmi libSDL1.2 libSDL1.2-devel

> `

## 17.3 Red Hat Linux 9

Red Hat provides packages for several of the prerequisites, making installation very simple. Of the prerequisites, Red Hat provides packages for Vorbis, cdparanoia, SDL, and OpenGL (which you probably already have installed). To install these all at once, simply type (all on the same line):

> `

>     $ up2date --solvedeps libvorbis libvorbis-devel vorbis-tools cdparanoia-devel cdparanoia-libs cdparanoia SDL-devel SDL

> `

If you get the following message: "None of the packages you requested were found, or they are already updated" it probably means you already have all of those packages installed.

You must install the remaining packages, (MAD, FLAC, libcdaudio and optionally fftw) manually following the installation directions above. When installing fftw do not use the rpm package offered on the website because it will cause an error, so use the source package instead.

NOTE: you can use the instructions given at the automated installation section to install all of MythMusic in one step.

## 17.4 Compiling MythMusic

Once all the prerequisites have been installed, you can proceed with compiling MythMusic.

> `

>     $ cd ~/mythplugins-0.22
>     $ ./configure --disable-all --enable-mythmusic --enable-fftw --enable-sdl --enable-aac
>     $ qmake mythplugins.pro
>     $ make
>     $ su
>     # make install
>     # exit

> `

## 17.5 Configuring MythMusic

Configuration of MythMusic occurs in two places. The main mythfrontend Setup is for global MythMusic configuration. Go to the Setup/MythMusic/General Setup screen and adjust it for your particular configuration.

The second configuration screen is within the MythMusic program and will allow you rescan your music library, etc.

Here's some explanation about the Ignore_ID3 and The NonID3FileNameFormat:

If Ignore_ID3 is set to TRUE, MythMusic will try to determine the Genre, Artist, Album, Track Number, and Title from the filename of the mp3 file. The NonID3FileNameFormat variable should be set to the directory/file format where the mp3 files are stored. For instance, I store mine in the above shown Genre/Artist/Album/Track format. MythMusic will then use this information to fill in the proper fields when it populates the musicmetadata table rather than searching for an ID3 tag in the mp3 file.

The files can be laid out in any format, such as:

Genre/Artist/Album/Title Artist/Genre/Album/Title Artist/Album/Title (with Genre left as Unknown)

The track number is optional but can be specified with the title by using the TRACK_TITLE keyword instead of TITLE. If TRACK_TITLE is used, then the filename can have a space, hyphen, or underscore separating the track number from the track title. Keywords are case insensitive, so if you specify GENRE it's the same as Genre in the format field.

The Ignore_ID3 option does not disable the code that determines the track length, just the portion that tries to read ID3 info.

## 17.6 Using MythMusic

MythMusic is fairly simple to use. It is recommended that you insert the CD before selecting "Import CD". You should also ensure that your system doesn't try to automount the CD and begin playing it automatically.

Here's some information on playlist management:

Q: How do I create a new playlist? A: Using the MythMusic "Select Music" menu option, setup the playlist as you normally would by adding songs or other playlists as needed. When you are ready to save the new playlist, highlight "Active Play Queue" at the bottom of the selection tree and hit the "i" key. This will pop up a menu allowing you to name and save the new playlist. You can also hit Enter to bring up the popup on the Active Play Queue. This does not work on the playlists above, as Enter is obviously bound to checking/unchecking the boxes. Any number (i.e. keypad on remote) will also bring up the menu in both cases.

Q: How do I enter the playlist name in the text field without a keyboard? A: Use the keypad number keys (bound to your remote) to select letters quasi-cell phone style. Keys 2-9 work pretty much like any cell phone text entry. 1 cycles through a few special characters, delete, and space. 0 is like a CAPS LOCK. Hard to describe, fairly easy to use. You will soon be able to specify the cycle timing in a Setup screen. You can type fairly quickly through a combination of jumping around the number keys AND hitting a non-number key (right arrow is particularly good for this) to force the current character.

Q: How do I edit a playlist? A: Highlight the playlist in the selection tree and hit the "i" key then select "Move to Active Play Queue" in the popup. You can now modify the "Active Play Queue" like normal, adding songs and playlists by selecting them from the song tree. When you are done, highlight the "Active Play Queue" in the selection tree and hit the "i" key then select "Save Back to Playlist Tree". And whatever you were editing as your Active Queue before you moved an existing playlist "on top" of Active reappears. Think of Active has having a push on, pop off capability, but with a depth of only 1.

Q: How do I delete an item from a playlist? A: Highlight the item in the selection tree and hit the "d" key.

Q: How do I rearrange the songs in my playlist? A: Highlight a song and hit the "space" bar, the song will now have pair of red arrows in front of it. Use the up and down arrow keys to move it around in the playlist. When you have it where you want it, hit the "space" bar again.

Q: How do I delete a playlist? A: Highlight the playlist in the selection tree and hit the "i" key then select "Delete this Playlist" from the popup.

## 17.7 Troubleshooting MythMusic

You may run into errors when running MythMusic.

### When I run MythMusic and try and look up a CD, I get an error message

The full text of the message will say:

databasebox.o: Couldn't find your CD. It may not be in the freedb database. More likely, however, is that you need to delete /.cddb and /.cdserverrc and restart mythmusic. Have a nice day.

If you get this message, you should go to the home directory of whatever user MythMusic is running as and type:

> `

>     rm .cdserverrc
>     rm -rf .cddb/

> `

These files aren't automatically deleted because of a conscious design decision by the author that programs that automatically delete things are bad.

The files are used to locally cache CD lookups. If you are re-inserting CDs, your machine will not actually have to go out to the Internet to determine what is on them. However, the URL used to access the freedb database has recently changed, so the stale information in the files from previous runs of MythMusic would cause the error above. Once the files have been deleted the stale information will be gone and your local database will be rebuilt as you use CDs.

Next Previous Contents