I've created a pnd containing:
- the music player daemon (mpd).
- "mpc", a command-line-player for mpd
- "ncmpc", a console-player (text-mode) for mpd
- "ncmpcpp", a fork of "ncmpc" with some additional features.
- hopefully all libraries needed to run the above.
- a small bash-menu
In addition you might need to have the codec-pack installed as well as the timidiy-midi-installer for mid-file-playback. I'm not sure about that though.
For changes in 0.4.0 look -> here.
Known issues:
- Adding a directory containing many NSFs (Nintendo Sound Files) can easily make your System freeze. This might also refer to other formats supported by libgme. I experienced the same problem on my desktop-PC. Disabling the scanning of tags in mpd.conf (metadata_to_use "none") seems to improve the situation a little bit, but still I can not recommend to add many of such files.
- mid-support is broken for some reason when running mpd from within the PND for some reason. I didn't manage to track the problem down. All I can say is that it works when I run MPD before PNDing it. You should be able to get mid-support going if you unpack the content of the pnd into some directory on your SD-card and run "./run.sh" from there.
- MPD does support browsing through ZIP-files, but I noticed that modules (tracked music played through modplug) are not being played. You can add them to the playlist, but the songlength won't be shown and they won't play. You need to unpack them if you want to play them.
- in ncmpcpp unicode does not work which results in strange looking character-sequences for characters like "ä" "ö" "ß". This is due to the configuration of the PandoraOS. Unicode in MPD does work as I tested by remotely logging with a client from another PC.
The current mpd-configuration is:
########### MPD CONFIGURATION ############
Archive support:
(+bzip2) (-ISO9660) (+ZIP)
Client support:
(+IPv6) (+TCP) (+UNIX Domain Sockets)
File format support:
(+AAC) (+C64 SID) (-FFMPEG) (+FLAC) (-FluidSynth) (+GME) (-libsndfile)
(-MikMod) (+MODPLUG) (+MAD) (-MPG123) (+MP4) (+Musepack)
(-OggTremor) (+OggVorbis) (+WAVE) (-WavPack) (+WildMidi)
Other features:
(+libsamplerate) (+inotify) (-SQLite)
Metadata support:
(+ID3)
Playback support:
(+ALSA) (-FFADO) (+FIFO) (+File Recorder) (+HTTP Daemon) (-JACK)
(-libao) (-Media MVP) (+OSS) (-OpenAL) (-OS X) (-Pipeline)
(-PulseAudio) (-ROAR) (-SHOUTcast) (-Solaris) (-WinMM)
Streaming encoder support:
(+FLAC) (+LAME) (+Ogg Vorbis) (+TwoLAME) (+WAVE)
Streaming support:
(-CDIO_PARANOIA) (+CURL) (-Despotify) (+Last.FM) (+Soundcloud)
(+MMS) (+SOUP)
##########################################
I decided to leave out the following support:
- iso9660 as it's unlikely that someone wants to browse through iso-files on the Pandora
- ffmpeg as i didn't know what additional benefits this would bring (maybe it does though)
- fluidsynth as I am currently not sure if both - wildmidi AND fluidsynth - is needed or which one is better. fluidsynth is also probably more complicated to be ported.
- libsndfile: Is there a need for this?
- mikmod as I decided to use modplug instead. Any reason to use mikmod instead or as well?
- despotify as i had no time to think about it so far.
Either use the bash-menu or from within the integerated terminal you can run the wrapper-scripts manually:
./mpd.sh
./mpc.sh
./ncmpc.sh
./ncmpcpp.sh
This is the only way to use "mpc" and might be useful if you want to specify parameters to the other three programs.
"./mpd.sh" should start mpd and on the first run create a "./.mpd/mpd.conf" with modified absolute paths to some other config-files. If you decide to move the whole mpd-directory to some other place you need to delete that config-file. This is a workaround as i can not enter relative paths in the config-file and changing the HOME-environment-variable does not seem to help. mpd seems to have it's own mechanism of expanding the "~".
To start you need to create soft-symlinks in ./.mpd/music/ pointing to directories containing your music-files. Something like:
"ln -s /path/to/your/mp3-collection/ ./.mpd/music/mp3s"
This will not work on fat-filesystems. See the implemented documentation or further down in this thread for a solution. Once you did that, you should be ready to update the mpd-database. For example by running:
"./mpc.sh update"
Next try to run ncmpcpp If ncmpcpp starts, then try buttons 1 to 3. Button 1 will show you the help and get you started. Try pressing "3". If setting the symlinks worked, then you should see at least one entry in the window. You can press "Space" to add all songs of that directory to the playlist. Now press "2", choose some song and press enter to start playing a song. I hope you can now enjoy listening to your music while learning more about ncmpcpp from it's help-section (button "1"). You can also quit ncmpcpp by pressing "q". Your music will continue to play as the daemon is still running.
More help by typing in the terminal:
./mpd.sh --help
./mpc.sh help (without --)
./ncmpc.sh --help
Use your favorite editor to edit "./.mpd/mpd.conf". There are some useful options and most of them are explained decently.
Download-link: http://repo.openpand...app=mpd-package
- the music player daemon (mpd).
- "mpc", a command-line-player for mpd
- "ncmpc", a console-player (text-mode) for mpd
- "ncmpcpp", a fork of "ncmpc" with some additional features.
- hopefully all libraries needed to run the above.
- a small bash-menu
In addition you might need to have the codec-pack installed as well as the timidiy-midi-installer for mid-file-playback. I'm not sure about that though.
For changes in 0.4.0 look -> here.
Known issues:
- Adding a directory containing many NSFs (Nintendo Sound Files) can easily make your System freeze. This might also refer to other formats supported by libgme. I experienced the same problem on my desktop-PC. Disabling the scanning of tags in mpd.conf (metadata_to_use "none") seems to improve the situation a little bit, but still I can not recommend to add many of such files.
- mid-support is broken for some reason when running mpd from within the PND for some reason. I didn't manage to track the problem down. All I can say is that it works when I run MPD before PNDing it. You should be able to get mid-support going if you unpack the content of the pnd into some directory on your SD-card and run "./run.sh" from there.
- MPD does support browsing through ZIP-files, but I noticed that modules (tracked music played through modplug) are not being played. You can add them to the playlist, but the songlength won't be shown and they won't play. You need to unpack them if you want to play them.
- in ncmpcpp unicode does not work which results in strange looking character-sequences for characters like "ä" "ö" "ß". This is due to the configuration of the PandoraOS. Unicode in MPD does work as I tested by remotely logging with a client from another PC.
The current mpd-configuration is:
########### MPD CONFIGURATION ############
Archive support:
(+bzip2) (-ISO9660) (+ZIP)
Client support:
(+IPv6) (+TCP) (+UNIX Domain Sockets)
File format support:
(+AAC) (+C64 SID) (-FFMPEG) (+FLAC) (-FluidSynth) (+GME) (-libsndfile)
(-MikMod) (+MODPLUG) (+MAD) (-MPG123) (+MP4) (+Musepack)
(-OggTremor) (+OggVorbis) (+WAVE) (-WavPack) (+WildMidi)
Other features:
(+libsamplerate) (+inotify) (-SQLite)
Metadata support:
(+ID3)
Playback support:
(+ALSA) (-FFADO) (+FIFO) (+File Recorder) (+HTTP Daemon) (-JACK)
(-libao) (-Media MVP) (+OSS) (-OpenAL) (-OS X) (-Pipeline)
(-PulseAudio) (-ROAR) (-SHOUTcast) (-Solaris) (-WinMM)
Streaming encoder support:
(+FLAC) (+LAME) (+Ogg Vorbis) (+TwoLAME) (+WAVE)
Streaming support:
(-CDIO_PARANOIA) (+CURL) (-Despotify) (+Last.FM) (+Soundcloud)
(+MMS) (+SOUP)
##########################################
I decided to leave out the following support:
- iso9660 as it's unlikely that someone wants to browse through iso-files on the Pandora
- ffmpeg as i didn't know what additional benefits this would bring (maybe it does though)
- fluidsynth as I am currently not sure if both - wildmidi AND fluidsynth - is needed or which one is better. fluidsynth is also probably more complicated to be ported.
- libsndfile: Is there a need for this?
- mikmod as I decided to use modplug instead. Any reason to use mikmod instead or as well?
- despotify as i had no time to think about it so far.
Either use the bash-menu or from within the integerated terminal you can run the wrapper-scripts manually:
./mpd.sh
./mpc.sh
./ncmpc.sh
./ncmpcpp.sh
This is the only way to use "mpc" and might be useful if you want to specify parameters to the other three programs.
"./mpd.sh" should start mpd and on the first run create a "./.mpd/mpd.conf" with modified absolute paths to some other config-files. If you decide to move the whole mpd-directory to some other place you need to delete that config-file. This is a workaround as i can not enter relative paths in the config-file and changing the HOME-environment-variable does not seem to help. mpd seems to have it's own mechanism of expanding the "~".
To start you need to create soft-symlinks in ./.mpd/music/ pointing to directories containing your music-files. Something like:
"ln -s /path/to/your/mp3-collection/ ./.mpd/music/mp3s"
This will not work on fat-filesystems. See the implemented documentation or further down in this thread for a solution. Once you did that, you should be ready to update the mpd-database. For example by running:
"./mpc.sh update"
Next try to run ncmpcpp If ncmpcpp starts, then try buttons 1 to 3. Button 1 will show you the help and get you started. Try pressing "3". If setting the symlinks worked, then you should see at least one entry in the window. You can press "Space" to add all songs of that directory to the playlist. Now press "2", choose some song and press enter to start playing a song. I hope you can now enjoy listening to your music while learning more about ncmpcpp from it's help-section (button "1"). You can also quit ncmpcpp by pressing "q". Your music will continue to play as the daemon is still running.
More help by typing in the terminal:
./mpd.sh --help
./mpc.sh help (without --)
./ncmpc.sh --help
Use your favorite editor to edit "./.mpd/mpd.conf". There are some useful options and most of them are explained decently.
Download-link: http://repo.openpand...app=mpd-package
Last edited by a moderator: