mp3tofid will create a directory structure filled with symbolic links to your MP3's and FID playlists that reflect your directory structure. You can create additional playlists by just making symlinks inside your MP3 directory tree. These symlinks may be either target MP3's or directories containing MP3's. Make sure these symlinks stay inside this directory tree, or your FID playlists will be invalid. symlinks should not nest.
mp3tofid will calculate the target FID number based on the inode number of your MP3 file. So if you rename or move your MP3's, your MP3 will not need to be reuploaded, as its FID number remains the same. If you change ID3 tags, rsync will make sure only the differences between old and new files are transmitted.
But even if a file has to be transferred completely, rsync still is faster than emplode. And it is very stable; I uploaded 70 GB in one run. And if you can't wait for an upload, just interrupt it; rsync will pick up where it has left the previous run.
mp3tofid and rsync completely bypass emplode, now even for building the player database. mp3tofid will build it in seconds on a beefy Linux box, rather than in tens of minutes on your player.
You'll need rsync both on your player and on your PC. rsync is usually distributed with your operating system. For the player, you can find it here.
Here's how I use mp3tofid and rsync:
My MP3's live in /mp3.
My FID tree is in /home/pim/empegfids.
I convert my MP3 tree using
mp3tofid -Ii /mp3 /home/pim/empegfidsThe target directory must exist. The first run runs at about 75 GB per hour on my PC. Next runs take less than a minute, if nothing much has changed.
I use my Linux box as an rsync server, and my empeg as an rsync client. Here's how I set up my /etc/rsyncd.conf file:
[empegfids] path = /home/pim/empegfids read only = yes hosts allow = myempeg.mydomain.com use chroot = noOn my empeg, I run this script:
#!/bin/sh
rsyncserver=192.168.23.45
modulename=empegfids
set -x
swapon -a
rwm
rsync \
$@ \
--times \
--delete \
--verbose \
--recursive \
--copy-unsafe-links \
--exclude=config.ini \
--exclude=lost+found \
${rsyncserver}::${modulename}/drive? /
rom
swapoff -a
That's it. Restart the player by pressing CTRL-D.
Or just power cycle it.
debug options:
d: show directories being scanned
i: show inode database operations
m: show MP3's being scanned
M: show MP3's being skipped
r: show fids being removed
s: show stages of program
S: show statistics
libmad comes with Red Hat 7.3 as an RPM, which installed nicely on my RH 7.1 system. Since version 2.00, mp3tofid uses libid3tag instead of id3lib. libid3tag is written in C rather than C++ and is included with libmad.