E.L.M.P software documentation v0.9b
====================================

** PLEASE NOTE: The 'b' stands for beta! Many important features are missing
and there are probably quite a few bugs that I don't know about also...


0) Changelog:
=============

v0.9b (990109) : First public release


1) Installing the software:
===========================

In the ZIP you downloaded is a file called ELMP.IMG, write this to an empty
floppy disk using the program RAWRITE or similar ('dd' under linux). If
everything worked out you should have a couple of files on the disk now:

ELMP.CFG       - The configuration file you should edit
ELMP.MSG       
INITRD.IMG     - The compressed file system
LDLINUX.SYS
SYSLINUX.CFG
VMLINUZ        - The compressed Linux kernel

2) Configuration:
=================

Open the configuration file in your favourite text editor (Notepad, EDIT,
Joe, vi, EMACS etc..). The format is like that of a Windows .INI file. There
are two sections enclosed in brackets (network and mounts). The order of
parameters doesn't matter as long as they stay in the right section.

2a) [network]

If you don't have a network card just set "enabled = 0" and skip to the next
section...   If you wan't to use TCP/IP network functions, read on!

ipaddr = aaa.bbb.ccc.ddd

The IP adress of the player in dotted quad format, private networks (without
official IPs) should use reserved IPs such as 192.168.x.y (where x is a number
between 0 and 255 and is the same for all your machines, and y is a number
between 1 and 254, one number per machine). If anyone give their player a
"real" IP number somewhere, tell me! That would be pretty cool...

netmask = aaa.bbb.ccc.ddd

This should usually be 255.255.255.0 (class C network). If you need something
else, you probably know all this already.

gateway = aaa.bbb.ccc.ddd (or gateway = 0)

If you need to connect to machines that are not on your local network, put the
IP of your gateway here...   I hardly think you need this so just put 0 to
disable this.

hostname = abcdefgh

Make up a nice name for your player and put it here, this will be the name
that the player uses to identify itself on a windows workgroup network also.

workgroup = abcdefgh

The windows workgroup you want the player to appear in...

smbuser = abcdefgh / smbpass = abcdefgh

A user name and password the player will use to connect to network shares,
this isn't needed in a typical home, win95 network but on a WinNT or Samba
server you might want to create a user account with minimal rights (just
enough to read those MP3 files!). DO NOT put your own user name and password
here as this is very insecure...

2b) [mounts]

The Linux/UNIX geeks (like myself) probably know what this is...
This is where you tell the player where it can find MP3 files, or rather what
filesystems to mount at bootup...  You can define up to five of these, so the
"X" in the examples below should always be replaced with a number between one
and five..   The ELMP.CFG on the distribution disk should have a sample mount
for a CDROM drive connected as primary master.

mntXname = abcde

This is currently unused, since the mount code in the player program isn't
finished..  There will be a menu where you can choose what mounts to include
when scanning for files, and this name will be displayed there...  Use max
five characters, and CAPITAL letters probably look best.

mntXtype = iso9660/vfat/ext2/smbfs

This is the type of filesystem to be mounted, the ones above are supported in
the kernel, but if you compile your own kernel (this is for linux geeks only)
you could use NFS, NTFS or any other filesystem that Linux supports.
For the normal user, a quick guide:

CDROM drives - iso9660
harddisks - vfat
network shares - smbfs

mntXpath = /dev/abc or //abcdef/ghijkl

This is the path to the device file or network share to mount, again a quick
guide for the not-so-linux-literate:

a Harddisk with one partition, connected as primary master - /dev/hda1
a CDROM connected as secondary slave - /dev/hdd
a share called MP3 on a server called KIRK - //kirk/mp3

The device names for IDE devices are as follows:

/dev/hdXY

where X is either a,b,c or d for pr. master, pr. slave, sec. master, sec slave
and Y is nothing at all for CDROMs and usually 1 for harddisks (as long as you
have only one partition on the drive). 

For network shares the format is nearly the same as in windows, just use slash
instead of backslash (\\server\share in windows is //server/share here...).

mntXhost = aaa.bbb.ccc.ddd

Currently, until I get some NetBIOS lookup code going, you will also need to
specify the IP adress of the server when you use network shares, there is no
need to specify this for harddisks or CDROMs, and in the future you won't need
to do this for network shares in most cases either.

You can have a look at the file EXAMPLE.CFG in the ZIP-file, it's my own
current configuration...

3) Using the player:
====================

OK, put the floppy in the player and boot 'er up! After a while (too long, I
know...) The message "ELMP controller software vx.y" should come up on the LCD
and soon after that something about building a new playlist, and finally it
should say "ready...". If your lucky enough to get this far, the player has
mounted the file systems you told it to and put all the MP3 files it could
find in a playlist...

3b) Display layout
                   
 Song title        ________________________________________
 (Scrolling) ---> |Depeche Mode - I Feel You   *** [51/178]| <-- Songnr/Total
 Status --------> |Playing...     [44Khz][128kbit/s][01:16]| <--.
                   ----------------------------------------     |
                                                                |
                                                        Sampling rate,
                                                        Bitrate,
                                                        Position (min:sec)


3c) Key functions

I said something about missing functions...   well, these are the only keys
that do anything usefull so far:

<PLAY>  - Press this to start/resume playing or to pause the music
<STOP>  - Stops the music, pressing play again will start from the beginning
<SKIP+> - Skip to the next song...
<SKIP-> - Go back to the previous song...

Pressing <SKIP+> when playing the last song will wrap to the first...

If you want to skip to song number 376, I recommend waiting for the next
version :-). I will try to include some good playlist and skipping/search
functions in v1.0. And also proper mount handling, so you can switch disks
in your CDROM without rebooting the whole thing at least... For now, I think
it should be usefull for background music. If you can't get it to work, try
the test disk, and if it doesn't help you can always mail me...

------------------------------------------------------------------------------
       http://www.algonet.se/~cyrano/elmp/   -   cyrano@algonet.se
------------------------------------------------------------------------------


