KSLIMP3 - A SLIMP3 emulator for KDE
KSLIMP3 is an emulator of the SLIMP3 Networked Music Player from Slim
KSliMP3 plays music served by Slim Device's SlimServer. SlimServer
wonderful open source product that is being constantly improved on. It
can be obtained from http://www.slimdevices.com/.
NOTE: KSLIMP3 relies on SlimServer. Without having a SlimServer
in your network it is not useful at all.
SLIMP3 is a registered trademark of Slim Devices, Inc. and is used
Please obtain the source code to KSLIMP3 from the project web site at
Requirements and Recommendations
libmad is used for decoding the received MP3 stream.
libao provides sound output.
Note that KSLIMP3 has currently only been tested on an i386 platform.
There may be "endian-ness" problems on other platforms. Please let me
know if you have managed to get KSLIMP3 working on a non-i386 platform
and how (patches will be highly appreciated).
Build and Installation
For more details please refer to the INSTALL file in the KSLIMP3
su -c 'make install'
Make sure you have a SlimServer running in your network.
Start KSLIMP3 and it should detect your server and be ready to play
You can control KSLIMP3 either via SlimServer using your web-browser
(refer to the SlimServer documentation) or use the keyboard to control
The following list gives an overview of the keyboard keys used and how
they correspond to the remote control buttons of a SLIMP3 remote
Keyboard key SLIMP3 remote control button
up (arrow key) up
+ Fwd (forward, next song)
- Rew (rewind, previous song)
n Now playing
PageUp Volume up
PageDown Volume down
There are many more shortcuts available, please refer to "Configure
Shortcuts" in the "Settings" menu. You are also able to reconfigure the
shortcuts in this dialog according to your liking.
Right-clicking on the VFD display brings up a context menu that allows
you to show/hide the menu bar and access configuration dialogs.
The look of the simulated VFD display can be customized in the
"Configure KSLIMP3" menu.
In the configuration menu you can also change various network settings.
address" entry in this dialog is actually more a "unique ID" that
SlimServer uses to identify
your player (in case of a hardware player the MAC address of that
player is used). If you intend to run KSLIMP3 on more than one computer
in your network then you should configure each of those KSLIMP3 with a
different "MAC address".
Q: How do I play MP3 files stored on
A: KSLIMP3 can not play MP3
files directly, it requires SlimServer. I see the main usage of KSLIMP3
for people who own already a SLIMP3 or Squeezebox from Slim Devices. If
you are just looking for a MP3 player then other offerings may be
better for you.
Q: How do I add <user interface
feature X> to KSLIMP3?
A: Well, you don't! The whole
user interface is provided by SlimServer! A SLIMP3 device is basically
a thin-client that provides MP3 playback capability, sends remote
control codes to the SlimServer and shows display messages received
from SlimServer. SlimServer is easily extenable with plugins and in
general very hackable. Have a look in the developers section of the
Slim Devices website for more information!
Q: When I start KSLIMP3 I get the
message "Can not connect to a SLIMP3 server."
A: When KSLIMP3 starts it uses
a network broadcast to find a SlimServer in your network. If it does
not get a reply within 5 seconds it shows the above error message. Make
sure SlimServer is successfully running. You may also specify the IP
address of the computer running SlimServer in the "Configure KSLIMP3"
dialog. Note that KSLIMP3 has to be restarted for the new settings to
Q: When I start SlimServer I get an
error message that there is already another instance of SlimServer
running on my computer?!?
Which port does KSLIMP3 use?
A: Both SlimServer and hardware
SLIMP3 player use port 3483. I have programmed KSLIMP3 in such a way
that it uses port 3483 by default and if that port is not free (e.g.
because a SlimServer is already running on the same computer) it tries
to find a free port in the range of 50000 to 59999. If you intend to
run SlimServer and KSLIMP3 on the same computer you need to start
SlimServer first and then KSLIMP3. Please let me know if you find this
inconvenient and I will reconsider a different strategy for future
Q: Can I synchronize KSLIMP3 to my
hardware SLIMP3 or Squeezebox?
A: While I own two SLIMP3, I
have not tried that yet. It should work but there may be latency issues
due to the MAD decoder and the audio output driver. Anyway, checking
synchronisation is on the to-do list of future KSLIMP3 revisions.
Q: I seem to be unable to start
A: Correct, by design KSLIMP3
can only run in one instance on a computer. (Changing that would
require quite a lot of configuration changes: supporting several unique
IDs, sound cards, etc.?!? I am also unsure whether SlimServer is able
to distinguish several devices on one IP address. What would be your
usage of more than one instance running at the same time?)
Q: Sometimes KSLIMP3 audio playback
A: Most of the time the hangs
can be recovered by pausing and unpausing playback (shortcut key 'u').
The libmad and libao usage within KSLIMP3 is not very robust at this
moment. I've seen these "hangs" in case the MP3 file contained errors
or when the audio output device was temporarily used by some other
program during song changes. Improvements in this area are planned for
Q: Which SLIMP3 remote are you
simulating? The JVC codes or the Slim Devices'?
A: Whenever available, the
codes of the Slim Devices remote control are used. A few buttons such
as "Stop", which are not available on the Slim Devices remote use the
respective "JVC" code. Also many of the "codes for programmable remote
controls" as defined in the jvc_dvd.ir file of SlimServer are
implemented. For details please have a look at the infrared.c source
file of KSLIMP3.
Q: How do I configure KSLIMP3
to use ALSA/OSS/ESD/..
A: KSLIMP3 uses the "default
driver" that libao detects. As of now there is no way to configure the
sound interface KSLIMP3 should use. Useful patches in this area will be
This project kindly hosted by:
(C) 2004 Werner Lane <wl-opensource at gmx.net>