summaryrefslogtreecommitdiff
path: root/.moc/moc
diff options
context:
space:
mode:
Diffstat (limited to '.moc/moc')
-rw-r--r--.moc/moc/README340
-rw-r--r--.moc/moc/README_equalizer184
-rw-r--r--.moc/moc/THANKS264
3 files changed, 788 insertions, 0 deletions
diff --git a/.moc/moc/README b/.moc/moc/README
new file mode 100644
index 0000000..15469f5
--- /dev/null
+++ b/.moc/moc/README
@@ -0,0 +1,340 @@
+ MOC
+ m u s i c o n c o n s o l e
+
+ http://moc.daper.net/
+
+
+--------------------------------------------------------------------------------
+What Is It?
+--------------------------------------------------------------------------------
+
+MOC (music on console) is a console audio player for LINUX/UNIX designed to be
+powerful and easy to use.
+
+You just need to select a file from some directory using the menu similar to
+Midnight Commander, and MOC will start playing all files in this directory
+beginning from the chosen file. There is no need to create playlists as in
+other players.
+
+If you want to combine some files from one or more directories in one playlist,
+you can do this. The playlist will be remembered between runs or you can save
+it as an m3u file to load it whenever you want.
+
+Need the console where MOC is running for more important things? Need to close
+the X terminal emulator? You don't have to stop playing - just press q and the
+interface will be detached leaving the server running. You can attach it later,
+or you can attach one interface in the console, and another in the X terminal
+emulator, no need to switch just to play another file.
+
+MOC plays smoothly, regardless of system or I/O load because it uses the output
+buffer in a separate thread. The transition between files is gapless, because
+the next file to be played is precached while the current file is playing.
+
+Supported file formats are: MP3, Ogg Vorbis, FLAC, Musepack (mpc), Speex, Opus,
+WAVE, those supported by FFmpeg/LibAV (e.g., WMA, RealAudio, AAC, MP4), AIFF,
+AU, SVX, Sphere Nist WAV, IRCAM SF, Creative VOC, SID, wavpack, MIDI and
+modplug.
+
+Other features:
+
+ - Simple mixer
+ - Color themes
+ - Menu searching (playlist or directory) like M-s in Midnight Commander
+ - The way MOC creates titles from tags is configurable
+ - Optional character set conversion for file tags using iconv()
+ - OSS, ALSA, SNDIO and JACK output
+ - User defined keys
+ - Cache for files' tags
+
+--------------------------------------------------------------------------------
+Documentation and The MOC Forum
+--------------------------------------------------------------------------------
+
+This file is only a brief description of MOC, for more information is
+available on the home page (http://moc.daper.net/documentation).
+
+You can also find a discussion forum on the MOC home page.
+
+--------------------------------------------------------------------------------
+What Software Is Required To Build It?
+--------------------------------------------------------------------------------
+
+To build MOC from the distribution tarball you will need:
+
+ - UNIX system with POSIX threads (e.g., Linux or FreeBSD)
+ - ncurses (probably already installed in your system)
+ - C and C++ compilers (MOC is written in C, but libtool and some
+ decoder plugins require a C++ compiler)
+ - Berkeley DB (libdb) version 4 (unless configured with --disable-cache)
+
+If you are building from the SVN repository you will also need:
+
+ - Subversion (to checkout the source directory tree)
+ - Autoconf version 2.60 and the associated Automake and Libtool
+
+You should choose which of the following audio formats you wish to play and
+provide the libraries needed to support them:
+
+ - AAC - libfaad2 version 2.7 (http://www.audiocoding.com/), and
+ libid3tag (http://www.underbit.com/products/mad/)
+ - FLAC - libFLAC version 1.1 (http://flac.sourceforge.net/)
+ - MIDI - libtimidity version 0.1 (http://timidity.sourceforge.net/)
+ - modplug - libmodplug version 0.7 (http://modplug-xmms.sourceforge.net/)
+ - MP3 - libmad with libid3tag (ftp://ftp.mars.org/pub/mpeg/)
+ - Musepack (mpc) - libmpc (http://www.musepack.net/), and
+ - taglib version 1.3.1
+ (http://developer.kde.org/~wheeler/taglib.html)
+ - Ogg Vorbis - libvorbis, libogg and libvorbisfile (all version 1.0)
+ (http://www.xiph.org/ogg/), or
+ - libvorbisidec and libogg (both version 1.0)
+ (http://svn.xiph.org/trunk/Tremor)
+ - SID - libsidplay2 version 2.1.1 and libsidutils version 1.0.4
+ (http://sidplay2.sourceforge.net/)
+ - Speex - libspeex version 1.0 (http://www.speex.org/), and
+ - libogg version 1.0 (http://www.xiph.org/ogg/)
+ - WMA, RealAudio (.ra), MP4 - FFmpeg version 0.5 (http://www.ffmpeg.org/), or
+ - LibAV version 0.6.3 (http://www.libav.org/)
+ - WAVE, AU, AIFF, SVX, SPH, IRC, VOC - libsndfile version 1.0
+ (http://www.mega-nerd.com/libsndfile/)
+ - wavpack - libwavpack version 4.31 (http://www.wavpack.com/)
+
+For interfacing to the sound sub-system, you will need libraries for one or
+more of the following:
+
+ - ALSA - alsa-lib version 0.9 (http://www.alsa-project.org/)
+ - OSS - the OSS libraries (http://www.opensound.com/)
+ - BSD's SNDIO - SNDIO libraries
+ - JACK low-latency audio server - JACK version 0.4
+ (http://jackit.sourceforge.net/)
+
+For network streams:
+
+ - libcurl version 7.12.2 (http://curl.haxx.se/)
+
+For resampling (playing files with sample rate not supported by your
+hardware):
+
+ - libresamplerate version 0.1.2 (http://www.mega-nerd.com/SRC/)
+
+For librcc (fixes encoding in broken mp3 tags):
+
+ - http://rusxmms.sourceforge.net/
+
+Note that for Debian-based distributions, you will also require any '-dev'
+suffixed versions of the packages above if building from source.
+
+The versions given above are minimum versions and later versions should also
+work. However, MOC may not yet have caught up with the very latest changes
+to library interfaces and these may cause problems if they break backwards
+compatibility.
+
+--------------------------------------------------------------------------------
+On Which Systems Is MOC Running?
+--------------------------------------------------------------------------------
+
+MOC is developed and tested on GNU/Linux. Sometimes test runs are made on
+other operating systems, and it is known to compile and probably work on:
+
+ - FreeBSD
+ - NetBSD
+ - OpenBSD
+ - OpenWRT
+
+There is no intention to support MOC on MS-Windows (so please don't ask).
+
+--------------------------------------------------------------------------------
+How Do I Build and Install It?
+--------------------------------------------------------------------------------
+
+Generic installation instruction is included in the INSTALL file.
+
+In short, if you are building from an SVN checkout of MOC (but not if you
+are building from a downloaded tarball) then you will first need to run:
+
+ autoreconf -if
+
+and then proceed as shown below for a tarball. (If you are using the
+tarball but have applied additional patches then you may also need to run
+autoreconf.)
+
+To build MOC from a downloaded tarball just type:
+
+ ./configure
+ make
+
+And as root:
+
+ make install
+
+Under FreeBSD and NetBSD (and possibly other systems) it is necessary to
+run the configure script this way:
+
+ ./configure LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include
+
+Note that MOC and some of its supporting packages make use of GNU extensions
+to the C89 and C99 language standards. Therefore, do not set the '-std'
+option in CFLAGS to a non-GNU value; if you do, configure will fail
+unexpectedly.
+
+In addition to the standard configure options documented in the INSTALL
+file, there are some MOC-specific options:
+
+ --enable-cache=[yes|no]
+
+ Specifying 'no' will disable the tags cache support. If your
+ intent is to remove the Berkeley DB dependancy (rather than
+ simply removing the on-disk cache) then you should also either
+ build MOC without RCC support or use a librcc built with BDB
+ disabled.
+
+ --enable-debug=[yes|no|gdb]
+
+ Using 'gdb' will cause MOC to be built with options tailored to
+ use with GDB. (Note that after release 2.5 this option will be
+ split into separate debugging and logging options.)
+
+ --with-oss=[yes|no|DIR]
+
+ Where DIR is the location of the OSS include directory (and
+ defaults to '/usr/lib/oss').
+
+ --with-vorbis=[yes|no|tremor]
+
+ Using 'tremor' will cause MOC to build against the integer-only
+ implementation of the Vorbis library (libvorbisidec).
+
+You can install MOC into its own source directory tree and run it from there
+so you do not have to install it permanently on your system. If you're just
+wanting to try it out or test some patches, then this is something you may
+wish to do:
+
+ ./configure --prefix="$PWD" --without-timidity
+ make
+ make install
+ bin/mocp -M .moc
+
+--------------------------------------------------------------------------------
+How Do I Use It?
+--------------------------------------------------------------------------------
+
+Run program with the 'mocp' command. The usage is simple; if you need help,
+press 'h' and/or read mocp manpage. There is no complicated command line or
+cryptic commands. Using MOC is as easy as using basic functions of Midnight
+Commander.
+
+You can use a configuration file placed in ~/.moc/config, but it's not required.
+See config.example provided with MOC.
+
+--------------------------------------------------------------------------------
+Using Themes
+--------------------------------------------------------------------------------
+
+Yes, there are themes, because people wanted them. :)
+
+Themes can change all colors and only colors. An example theme file with a
+exhaustive description is included (themes/example_theme) and is the
+default MOC appearance.
+
+Theme files should be placed in ~/.moc/themes/ or $(datadir)/moc/themes/
+(e.g., /usr/local/share/moc/themes) directory, and can be selected with
+the Theme configuration options or the -T command line option (see the
+manpage and the example configuration file).
+
+Feel free to share the themes you have created.
+
+--------------------------------------------------------------------------------
+Defining Keys
+--------------------------------------------------------------------------------
+
+You can redefine standard keys. See the instructions in the keymap.example
+file.
+
+--------------------------------------------------------------------------------
+How Do I Report A Problem?
+--------------------------------------------------------------------------------
+
+Not every release is extensively tested on every system, so the particular
+configuration of software, libraries, versions and hardware on your system
+might expose a problem.
+
+If you find any problems then you should search the MOC Forum for a solution;
+your problem may not be unique. If you do find an existing topic which
+matches your problem but does not offer a solution, or the solution offered
+does not work for you and the topic appears still active, then please add your
+experience to it; it may be that additional information you can provide will
+contain the clue needed to resolve the problem.
+
+If you don't find an answer there and you installed MOC from your Linux
+distribution's repository then you should report it via your distribution's
+usual reporting channels in the first instance. If the problem is ultimately
+identified as actually being in MOC itself, it should then be reported to the
+MOC Maintainer (preferably by the distribution's MOC package maintainer).
+
+If you built MOC from source yourself or you get no resolution from your
+distribution then start a new topic on the MOC Forum for your problem or
+contact the MOC Maintainer.
+
+Before reporting a problem, you should first read this Forum post:
+
+ Linkname: How to Report Bugs Effectively
+ URL: http://moc.daper.net/node/1035
+
+and the essay it references:
+
+ Linkname: How to Report Bugs Effectively
+ URL: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
+
+There are two things you must do if at all possible:
+
+1. Make sure you are using the current stable MOC release or, even better,
+ can reproduce it on the latest development release or SVN HEAD, and
+2. Make sure you include the version and revision information (which you
+ can obtain by running 'mocp --version').
+
+If you do not do those two things (and don't offer a good explanation as to
+why you didn't) your problem report is likely to be ignored until such time
+as you do.
+
+--------------------------------------------------------------------------------
+Hacking
+--------------------------------------------------------------------------------
+
+Want to modify MOC? You're welcome to do so, and patch contributions are
+also welcome.
+
+MOC is written in C, so you must at least know this language to make simple
+changes. It is multi-threaded program, but there are places where you don't
+need to worry about that (the interface is only a single thread process). It
+uses autoconf, automake and libtool chain to generate configuration/compilation
+stuff, so you must know how to use it, for example, if you need to link to an
+additional library.
+
+The documentation for some parts of the internal API for creating decoder
+plugins (file format support) and sound output drivers can be generated using
+Doxygen (http://www.doxygen.org/). Just run the doxygen command from the MOC
+source directory.
+
+Before you change anything it is a good idea to check for the latest development
+version (check out from the Subversion repository is the best). Your changes
+might conflict with changes already made to the source or your feature might be
+already implemented. See also the TODO file as it is updated regularly and
+contains quite detailed information on future plans.
+
+If you need help, just contact MOC's Maintainer via e-mail. And if you are
+planning anything non-trivial it's a good idea to discuss your intentions
+with the MOC Maintainer once you've clarified your ideas but before spending
+too much time implementing them; it will be more productive if your work fits
+with MOC's future direction.
+
+--------------------------------------------------------------------------------
+Who Wrote It? Where Can I Send Bug Reports, Questions or Comments?
+--------------------------------------------------------------------------------
+
+ * Original author is Damian Pietras
+ * Current maintainer is John Fitzgerald
+ * For comments and questions see the official forum:
+ http://moc.daper.net/forum
+ * Need to report a bug? You can reach the maintainer(s) at:
+
+--------------------------------------------------------------------------------
diff --git a/.moc/moc/README_equalizer b/.moc/moc/README_equalizer
new file mode 100644
index 0000000..3c78cc8
--- /dev/null
+++ b/.moc/moc/README_equalizer
@@ -0,0 +1,184 @@
+Preamble
+---
+This document is meant to give you an overview on the idea of having a
+parametric equalizer for sound enhancement and how you can create your
+own presets. Also the interaction with the equalizer in MOC is described.
+
+I would like to improve this document to make it more usable; so if you
+have any comments and/or ideas feel free to contact me.
+
+- Hendrik Iben (hiben<at>tzi(dot)de)
+
+
+Content
+---
+0. Document History
+1. Motivation
+2. Usage
+3. Preset Format
+4. Creating Presets
+5. TODO
+6. References
+
+
+0. Document History
+---
+07.09.2008 - Initial version
+15.03.2011 - Reformatted
+
+
+1. Nuts and Bolts / Motivation for Implementing the Equalizer
+---
+The equalizer is an implementation of a biquadratic peaking equalizer
+filter looked up from the Audio EQ Cookbook[1].
+
+It happens to be a parametric equalizer and this means that, different
+from other equalizer implementations, the number of bands* is not fixed.
+When I started the idea of implementing the equalizer I looked around
+in the source of other audio playback software and found that a lot of
+them are recycling the code used by the famous XMMS[2] audio player.
+I also would have liked to recycle the code but I decided against it
+for two reasons:
+
+The first reason is that there is almost no documentation on the algorithm
+used. Maybe the signal processing folks have fun finding out what makes
+this thing work but I was totally lost. So I decided that I wanted to
+*know* what I am doing if I do it.
+
+As for the second reason, the code used by XMMS is totally optimized for
+integer arithmetic. There is no problem with this in general but I had
+the goal of implementing something that was as accurate as I could and
+I wanted to use floating point arithmetic.
+
+So I am no signals processing guy, but I have -- I think -- a solid
+understanding of the matter. I sat down and started to read about
+equalizing, audio processing and signal theory in general. After some
+time I found a mathematical description and a C implementation of
+biquadratic filters in the Audio Cookbook. I made an implementation of
+the XMMS equalizer and the biquadratic filter using Octave[3] to compare
+the outcome of both filters. I was a bit surprised how different filters
+can be but in the end succeeded (?) in finding a quite good biquadratic
+filter set that would produce results not unlike the XMMS equalizer.
+
+Although I did not use the XMMS-code I think that people will be more
+happy to accept this equalizer if they can use their presets with it.
+There is some conversion needed, but it's a straightforward process.
+I converted all presets provided by XMMS into presets for this mixer.
+They should be available at [4].
+
+* A band is a chosen center frequency where a filter has most impact.
+ If you look at WinAmp / XMMS / Beep Media Player you will find that
+ they settled on a common set of 10 bands.
+
+
+2. Using the Equalizer
+---
+The default keys for the equalizer are:
+
+'e' - Refresh equalizer
+'E' - Toggle equalizer (on/off)
+'k' - Select next preset
+'K' - Select previous preset
+
+Each of these actions results in a message displayed in the message area.
+This message will be overridden by the next action.
+
+
+3. Preset Format
+---
+Presets for the equalizer are to be placed in a directory called 'eqsets'
+in MOC's home directory (e.g., $HOME/.moc/eqsets). There is no convention
+for the filename, but it will serve as the name in the selection process.
+
+File format in pseudo EBNF:
+
+ EQSET
+ ((<CF> <BW> <AMP>)|(0 <PREAMP>))*
+
+ CF: Center frequency (sane values are from ~20 to ~20000).
+ BW: Bandwith in Octaves. This defines how fast the bands
+ influence vanishes over the frequencies.
+ AMP: Amplification factor (in dB) to apply to the band.
+ PREAMP: Specifies an amplification factor applied before equalizing.
+
+So a valid equalizer set would be:
+
+ # this is a comment
+ EQSET
+ # amplify audio by 1.4dB
+ 0 1.4
+ # damp frequencies at 100Hz by -4dB, filter bandwidth 1.5 octaves
+ 100 1.5 -4
+ # amplify frequencies at 4000Hz by 2dB, filter bandwidth 1.5 octaves
+ 4000 1.5 2
+
+There is no order to stick to when specifying frequencies.
+
+
+4. Creating Your Own Presets
+---
+For a start you should have a look at the converted presets[4]. The
+bandwidths used in the conversion have been extracted by taking a look
+at the filters signal response (implementation and analysis in Octave).
+I tried to do this as accurately as possible but I don't know if I made
+a mistake. They sound correct though... :-)
+
+You might note that there is never a positive amplification factor in
+the presets although there are in the original preset. The reason for
+this is that I used the maximum amplification in the preset as zero
+amplification and adjusted the other values accordingly.
+
+In general, when creating a preset get used to the following idea: Do not
+amplify the frequencies you want but damp those that are of no interest.
+This has the same effect but avoids clipping and this equalizer type seems
+to be very prone to clipping. Also be very careful with pre-amplifying
+the audio for the same reason.
+
+With that said, the next confusing thing is the bandwidth definition.
+Every band needs a defined bandwidth in octaves where the bandwidth
+defines where the filter's effect has been reduced by 3dB*. This means
+that if you define a band at 1000Hz with a bandwidth of 1.5 octaves and
+an amplification of -10dB, at 353.6Hz** and at 2828.4Hz the amplification
+will be reduced to -7dB.
+
+If unsure, stay in between 1.0 and 2.0. Just keep in mind that if two
+bands overlap you might get an undesired amplification.
+
+When designing presets, just save the preset and select it in MOC. After
+each change press the refresh key (default 'e'). This will re-create the
+equalizer reflecting your changes.
+
+If your preset is not found, have a look at the output of MOC's server
+thread. Parsing errors are emitted there.
+
+* 3dB is commonly used for bandwidth. -3dB equals about 70.7% of
+ original amplification.
+** 353.6 =~ 1000*(2^-1.5), 2828.4 =~ 1000*(2^1.5)
+
+
+5. TODO
+---
+- The equalizer is currently not optimized in any way.
+
+- It converts all sound data into floating point values to perform the
+ equalization and converts them back afterwards. A better approach
+ would be either to provide integer algorithms for equalization or to
+ leave the audio data in floating point format.
+
+- There is no sorting for the presets; their order is defined by reading
+ the directory content.
+
+- Maybe it would be nice to add a name to the preset different from the
+ filename.
+
+
+6. References
+---
+[1] Cookbook formulae for audio EQ biquad filter coefficients
+ http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt
+[2] X Multimedia System
+ http://www.xmms.org/
+[3] GNU Octave
+ http://www.gnu.org/software/octave/
+[4] Converted WinAmp / XMMS Equalizer sets
+ http://www.informatik.uni-bremen.de/~hiben/moc/eqsets.tar.gz
diff --git a/.moc/moc/THANKS b/.moc/moc/THANKS
new file mode 100644
index 0000000..c661625
--- /dev/null
+++ b/.moc/moc/THANKS
@@ -0,0 +1,264 @@
+Thanks to all people who have helped us make MOC better, suggesting
+changes or notifing about bugs:
+
+Alexis Ballier:
+ * Adapt to FFmpeg's changed include directory layout.
+
+Rastislav Barlik:
+ * Fixed segfault on deleted equalizer file.
+
+Daniel T. Borelli:
+ * Added support for key to switch on/off the display of percent played.
+ * Added a configuration option to set the initial percent played state.
+ * Fixed miscellaneous coding errors.
+ * Assisted with testing.
+ * Provided basis for fixing foreground mode unreaped children.
+
+Morten Grunnet Buhl:
+ * Provided Yellow/Red theme.
+
+Andreas Cadhalpun:
+ * Resolved the deprecated 'request_channels' puzzle.
+
+Nuno Cardoso:
+ * Options in a hash table.
+ * Added -j command line option to jump to a given position.
+
+Josh Coalson:
+ * Fixes for compilation with FLAC 1.1.3.
+
+Brent Cook:
+ * Various OpenBSD-related patches.
+
+Niels Aan de Brugh:
+ * Improved error detection for terminal height limits.
+
+Jonathan Derque:
+ * Support for GNU screen title.
+
+Joseph Dunn:
+ * Bug reports.
+ * He gave me access to his FreeBSD box that allowed me to fix a bug.
+
+Dennis Felsing:
+ * Fixed compilation of sidplay2.
+
+Filippo Giunchedi:
+ * Added directories to the 'a' command.
+
+Alexey Gladkov:
+ * Support for filenames and directory names recoding using librcc.
+
+Tomasz Golinski:
+ * Assisted greatly with testing and debugging.
+ * Headed the effort to port MOC to OpenWRT.
+ * Provided signficant information on DTS, AAC and other formats.
+ * Also contributed much time in the refinement of feature ideas.
+ * Provided 24-bit format conversion bug fixes.
+ * Fixed volume control problem.
+
+Juho Hämäläinen:
+ * Added -Q (--format) FORMAT_STRING option to display file information.
+
+Hendrik Iben:
+ * Added TiMidity decoder for MIDI.
+ * Added SidPlay2 decoder for SID.
+ * Added Modplug decoder.
+ * Added check for newer faad2-library (AAC).
+ * Added software mixer.
+ * Added parametric equalizer.
+ * Merged parametric equalizer and mono-mixing code.
+ * Fixed miscellaneous coding errors.
+ * Fixed logging of deleted filenames.
+ * Assisted with testing.
+
+Daniel Kalør:
+ * Provided spelling fixes.
+ * Fixed clearing chars when displaying file information.
+ * Fixed field overflow when fast-forwarding yields very large bit rates.
+ * Repositioned selected track to middle after scrolling off screen.
+ * Fixed the symbol for "kilo", use "k" (lowercase).
+ * Allowed seeking to beginning of a file in Vorbis/FLAC.
+
+Kari Karvonen:
+ * Suggested code for the AutoNext option.
+
+Hasan Keler:
+ * Assisted with testing.
+ * Also assisted by commenting on feature ideas.
+
+Max Klinger:
+ * Silenced compiler warnings on various platforms.
+ * Migrated AAC decoder to later FAAD2 API.
+ * Replaced GNU-specific getline() with read_line().
+ * Resolved JACK deprecation warnings.
+ * Prompted option to autostart JACK if the server isn't running.
+ * Assisted with testing.
+ * Also assisted by commenting on feature ideas.
+
+Adam Kowalski:
+ * Many bug reports (also tests).
+
+Florian Kriener:
+ * Provided title building code.
+ * Corrected many typos and fixed many bugs.
+
+Maciej Kubiak:
+ * Suggestions and bug reports.
+
+Géraud Le Falher:
+ * Fixed crash in lyrics code with overly long filenames.
+ * Display lyrics saved in files together with music.
+
+Jacek Lehmann:
+ * Provided Green theme and fixes for a few terminals.
+
+Tero Marttila:
+ * Changed minimum screen height to 7 lines.
+
+Gregory Maxwell:
+ * Provided patch for off_t in io_* functions.
+
+Alex Merenstein:
+ * Fixed theme menu cursor placement.
+ * Fixed new attributes application during theme switching.
+ * Assisted with debugging and testing.
+
+Marcin Michałowski:
+ * Added default and grey colours, and made first nice theme.
+
+Martin Milata:
+ * Resolved Clang Static Analyzer warnings.
+ * Dead code removal.
+ * Miscellaneous code fixes.
+ * Fix segfault when using -k command line option.
+ * Added -q option to queue files from command line.
+ * Provided play queue feature.
+ * Fixed race condition between two clients and playlist request servicing.
+
+Jack Miller:
+ * Added average bitrate field to the output of mocp -i.
+ * Provided command line option to toggle/on/off playback options.
+ * Provided command line option for setting the volume.
+ * Added OnSongChange option which runs a command when song is changed.
+
+Alex Norman:
+ * Added JACK output.
+ * Assisted with reported JACK issues.
+ * Added FastDir option.
+ * Other improvements.
+
+Sebastian Parborg:
+ * Silenced compiler warnings on various platforms.
+ * Fixed bug attempting to read from unopened OSS mixer.
+ * Assisted with testing.
+ * Also assisted by commenting on feature ideas.
+
+Ted Phelps:
+ * Fixed incorrect referencing of ALSA mixer channels.
+
+Petr Pisar:
+ * Provided patch upon which the initial locale support was based.
+
+Alexander Polakov:
+ * Fixed miscoloured frame when switching themes.
+ * Provided SNDIO sound driver for OpenBSD systems.
+ * Fixed call for bit rate after file open has failed.
+ * Assisted with testing.
+
+Elimar Riesebieter:
+ * Tested on PPC (made to work on big endian architectures).
+ * Builder of the official Debian package.
+ * Described --seek option in the manpage.
+ * Added JACK to '-R' option sound drivers on manpage.
+
+Alexandrov Sergey:
+ * Added Wavpack decoder.
+ * Fixed 8-, 24- and 32-bit decoding in Wavpack decoder.
+
+Aleks Sherikov:
+ * Added EnforceTagsEncoding, FileNamesIconv, and FileNamesIconv options.
+
+Joerg Sonnenberger:
+ * Fixed using ncurses on NetBSD.
+ * Fixed detecting curses if ncurses is not present.
+
+Wim Speekenbrink:
+ * Author of nightly_theme.
+
+Daniel Stenberg:
+ * Fixed CURL timeout so internet streaming errors don't hang MOC.
+
+Ondřej Svoboda:
+ * Fixed a fatal error when opening an MP3 file.
+ * Fixed a compilation warning in the FFmpeg plugin.
+ * Spelling fixes.
+ * Source files encoding fixes.
+
+Kamil Tarkowski:
+ * Provided 'back' command.
+ * Some fixes and small improvements.
+
+Reuben Thomas:
+ * Fixed typos in documentation.
+ * Fixed and simplify parameters substitution in --format command.
+ * Don't run the server if the user doesn't really want to do that when
+ using few commands from command line like --info.
+ * Reorganised code that parses command line options.
+ * Allowed the use of FormatString tags in --format arguments.
+
+Richard Toohey:
+ * Assisted with testing on OpenBSD.
+
+Antonio Trande:
+ * Assisted with testing.
+ * Also assisted by commenting on feature ideas.
+ * Fedora's MOC package builder.
+
+Marc Tschiesche:
+ * Provided highlighted playlist numbers and file times.
+
+Jenny Wong:
+ * Provided minor memory corruption patch.
+
+Marien Zwart:
+ * Assisted with testing.
+
+"cbass":
+ * Fixed segfault when trying to play a file using FFmpeg.
+ * Migrated to newer FFmpeg API.
+
+"firejox"
+ * Fixed screen upsets due to UTF-8 character handing.
+
+"fluxid":
+ * Fixed incorrect setting for themes red channel value.
+
+"GenghisKhan":
+ * Reported bugs and significantly helped debugging them.
+ * Greatly assisted with debugging the ALSA stutter bug.
+
+"meh":
+ * Provided code to prefer reading ID3 tags v2 over v1.
+
+"scorched":
+ * Assisted with testing.
+
+"thotypous":
+ * Provided code to allow use of the OSSv4 per-application mixer API.
+
+"tokapix":
+ * Provided additional proving of the ALSA stutter bug fix.
+
+"tyranix":
+ * Provided new command 'Y' to prune unreadable files from the playlist.
+
+"vectis":
+ * Assisted with debugging the ALSA stutter bug.
+
+"zaphod":
+ * Some strcpy() to strncpy() changes.
+
+There are many people who have contributed in various ways to the
+development of MOC. I hope I've listed all who deserve thanks, but if
+not then I apologise and you should remind me so I can include you.