KSLIMP3 - A SLIMP3 emulator for KDE

KSLIMP3 is an emulator of the SLIMP3 Networked Music Player from Slim Devices.

Screenshot of KSliMP3

KSliMP3 plays music served by Slim Device's SlimServer. SlimServer is a 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 running in your network it is not useful at all.

SLIMP3 is a registered trademark of Slim Devices, Inc. and is used with permission.


Please obtain the source code to KSLIMP3 from the project web site at sourceforge:

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

    su -c 'make install'
For more details please refer to the INSTALL file in the KSLIMP3 distribution. 


Make sure you have a SlimServer running in your network.
Start KSLIMP3 and it should detect your server and be ready to play music.

You can control KSLIMP3 either via SlimServer using your web-browser (refer to the SlimServer documentation) or use the keyboard to control KSLIMP3 locally.

The following list gives an overview of the keyboard keys used and how they correspond to the remote control buttons of a SLIMP3 remote control:

    Keyboard key      SLIMP3 remote control button
    --------------    ----------------------------
    up (arrow key)    up
    down              down
    left              left
    right             right
    p                 Play
    u                 Pause
    +                 Fwd (forward, next song)
    -                 Rew (rewind, previous song)
    a                 Add
    h                 Shuffle
    r                 Repeat
    n                 Now playing
    ?                 Search
    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.
Tiny font, customized colors

Normal font, default color

Large font, customized colors

Huge font, customized colors

In the configuration menu you can also change various network settings. The "MAC 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 my harddisk?

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 take effect.

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 releases.

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 KSLIMP3 twice

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 "hangs"

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 future revisions.

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 highly appreciated.

This project kindly hosted by:
SourceForge.net Logo

(C) 2004  Werner Lane <wl-opensource at gmx.net>