README file for OggPlay ======================= Licence: GNU Public Licence 2, (c) 2003-2006 by Klaus Rotter I wrote this tool in the years 2003-2006 to hear audio books and music encoded in Ogg Vorbis format. Sharp's music player with the ogg plugin wasn't able to skip forward and backward with Ogg files. OpiePlayer could not handle Ogg files with 22 KHz sampling rate and/or mono files (I can't remember). I encode audio books in 16-20 kbit/s mono with 22 kHz sampling rate. This sounds o.k. with Ogg Vorbis, but really bad with MP3. It still misses some features like a real playlist and MP3 decoding (does anyone really needs this?). Note: I have only tested this on my Zaurus 5500 with a modified Sharp ROM, but I got some success stories with other models like 860. Other reports are welcome. Features: * Fast and small! * Decodes all kind of ogg files, even mono and very low bit- and samplerates (oggplugin for Sharps media player doesn't do that). * Keys are fully configurable. * Turn LCD and backlight on/off with a single key stroke. * Displays a lot of info messages about the ogg files. * Handles files with umlauts (öäüÖÄÜ...) right. * Ogg Vorbis decoder library is included! * Supports Qtopia 1.5 based systems with Qt-embedded 2.3.x. * It scrolls the filename if it doesn't fit on the screen. * Files with the same name and the same songlenght are not displayed twice. * It looks for ogg files recursivly in the dirs /mnt/card (SD-Card) /mnt/cf (Compactflash card) /home/zaurus (Users home dir) * You can edit the scan path (please press the "Update" butten after that) and also start manually a scan for Ogg-files by pressing the button "Rescan". A playlist is build so that if you have a large number of ogg files a future start is much faster. Scan stops with the 10th subdir level. This is to prevent symlink loops. * If no ogg files are found during scan, the scan path is reseted to the default dirs "/home/zarus;/mnt/card/mnt/cf". Missing featurs: * Only decodes ogg - mp3 and MIDI is still missing! I have very low plans to add MP3 support (I simply don't use it, ogg is so much better on handhelds), but maybe I will add MIDI in the future with the libtimidity. * Very limited Playlist support. I do not recommend editing the playlistfile /home/zaurus/.oggplaylst, since the parser is very limited and might break if you create an error. * No equalizer or some kind of level indicator. If someone points me to a fast algorithm (integer based) to manipulate bass and treble, maybe I will add it. Bugs: * Some ogg files won't be decoded right, the sound as if they are played too slow (the voices are deeper). There are some very low bitrate/mono files of a speech. IMHO the bug must be inside the ogg-tremor-libs. * If one suspends the Zaurus, OggPlay got killed on resume. This is a bug of all Zaurus 5500 based on a Sharp ROM. * Internaly OggPlay uses the Latin1 charset, so you might get problems if you need unicode characters. * The ipkg package contains symlinks. Some old ipkg programs (aka Sharp ROM 2.38) might break. I recommend use at least a 3.x Sharp ROM. Note: There seems a request for a program like OggPlay for the Nokia 770. But the 770 is maemo/gtk based and has a complete different API in contrast to Qt based Zauri. I would really like to play Ogg Files comfortably on the 770, but it seems a lot of work to port OggPlay to 770. Further, all sound decoding on the 770 is done via the gstreamer architecture and uses the DSP built into the OMAP CPU used in the 770. There are rumours, that Nokia has a ogg-plugin for gstreamer and I really hope that they will release it to the public. Compiling: There are two makefiles, either Makfile.zaurus and Makefile.desktop. Don't run tmake, as I edited the makefiles by hand! It assumes that you have a complete development eviroment in /opt/Qtopia and /opt/embedix, as described in http://www.oesf.org/index.php?title=Compiler_Setup. You also need the ipkg-build.sh script descriped in http://www.oesf.org/index.php?title=IPKG_Howto. When you want to compile and test OggPlay for x86 run "source dev-x86-qpe.sh" from your home directory. Conversely, run "source dev-arm-qpe.sh" when you want to cross compile to run on the Zaurus. Then do (creating a Zaurus binary and an IPKG): > make clean > ln -s -f Makefile Makefile.zaurus > source dev-arm-qpe.sh > make > make ipkg Create a x86 bin, launch the QT framebuffer simulator qvfb and start OggPlay. Please remeber to put some ogg files somewhere in /mnt/cf, /mnt/card or /home/zaurus or create a symlink that OggPlay finds some files to play. I have a symlink /home/zaurus to /home/klaus/arc/ogg for example. > make clean > ln -s -f Makefile Makefile.desktop > source dev-x86-qpe.sh > make > qvfb & > ./oggplay -qws All trademarks (eg. Sharp, Nokia, Zaurus, Qt, Qtopia,...) are the property of their respective owners. Klaus Rotter , Jan 11, 2006