Development release.

New development release.

2.4.0-beta1 released

2.4.0-beta1 has been just released. All features planed for 2.4.0 are implemented. Please test it.

New features:

  • Added m4a and aac to the list of extensions supported by ffmpeg.
  • Pressing n when nothing is played starts playing from the first item on the playlist.
  • A and --append can add files from playlists.
  • Selecting themes at runtime - T command (this does not change the config file).
  • Interface show the playlist after startup if something from the playlist is played (CanStartInPlaylist option).
  • Internet streams can be paused.
  • Reencoding id3 tags (mp3) using librcc. Initial patch by Alexey Gladkov.
  • Executing external commands, like 'cp %f /mnt/usb_drive' where %f is substituted with the path to the currently selected file.
  • Ogg plugin name was changed to vorbis.
  • Added RPM SPEC file. (Fredrik Rambris)

2.4.0-alpha2: WMA and UTF8

Here is another unstable release. The hardest change for me was the UTF8 support. Please comment if you have problems with it. WMA is also here, but seeking does not work. Tilo Stritzky helped me porting MOC to OpenBSD, so this release should compile under OpenBSD 3.8.

Full list of changes:

  • Support for WMA and RealAudio using FFmpeg (seeking does not work!).
  • Moving items up and down: u and j commands.
  • UTF-8 support.
  • MOC can now be compiled under OpenBSD. Thanks to Tilo Stritzky for pointing out the issues.
  • Added darkdot theme. (David Lazar )
  • Strip leading and trailing white characters from URLs entered by user.
  • Added FollowPlayedFile option: menu follows the currently played file so that it is scrolled if the file is outside the visible part (default to yes).
  • Tags cache saved to a file on exit and read at startup.
  • Added a command for adding a URL to the playlist using entry (CTRL-u).
  • Count speex time without scaning the whole file.
    Display the current time for internet streams.

Problems with custom keymap in the develpment version (2.4.0-alpha1)

If the development version of MOC fails to run with a message like:

FATAL_ERROR: Parse error in the keymap file line 39: unknown command

The problem is a change made in keymap commands.

To fix it, change toggle_playlist to toggle_menu in your keymap file. For example (with default keymap) change this:

toggle_playlist = l


toggle_menu = l

2.4.0-alpha1: Mainly interface improvements.

Here is 2.4.0-alpha1 release. I've spent most of the time on redesigning the interface code. The change is not really visible for a user, but it was necessary for further development, the old code couldn't be maintained any more. This caused also that despite of the long time between 2.3.0 and 2.4.0-alpha1, there are less changes than in previous alpha1 releases. What you can see just after compiling and running this version is the change in the interface layout as you can see on screenshots. This is first such a change from the beginning of MOC. Please comment this version on forum.

All changes are:

  • Layout of the main window can be changed using Layout[123] options.
    Switching between layouts is done using the 'l' key and now TAB is used to
    switch between the playlist and the directory menu. For example, you can
    configure the layout to see both the playlist and a directory content.
  • Redesign of the interface code. This is a big change in the code, but not
    really visible to the user. It was necessary to maintain and extend the
    interface in the future.
  • Tags are cached at the server side and read in a separate thread. The
    interface is not locked until the tags are read. Size of the cache can be
    adjusted using TagsCacheSize.
  • Numbering items in the playlist. Can be turned off using
  • MusicDir can be a playlist.
  • Commands: --append, --clear, --play work now as expected even if there is
    no client running.
  • Use full paths instead of just file names for displaying on the playlist.
  • Silent seeking can be configured using SilentSeekTime option.
  • After adding a file to the playlist, the cursor is moved down.
  • The help screen's position is kept when it's not displayed.
  • Some operations like deleting items from the playlist should now be
  • Added moca_theme. (Nicola Vitale)
  • Added red_theme. (yyz)

Debian package for MOC 2.3.0-beta2

Debian packages for MOC 2.3.0-beta2 are available, see the download section.



Here is 2.3.0-beta2: many bugs from the previous release were fixed and two more little features were added.

  • Added --playit option (play files given on the command line without
    modifing the playlist).
  • Added UseRealtimePriority (default no) option: set realtime priority for
    the output buffer thread.
  • Fixed using national characters in entry fields.
  • Titles in saved playlists are not converted by iconv().
  • Fixed crash on some systems when a file is precached.
  • Fixed operations on RB trees: this fixes using shuffle and some memory
  • Changed AlsaMixer2 from MASTER to Master (this is case sensitive and the
    old version didn't work).
  • Fixed getting the played file's name when we use shuffled playlist and we
    add a file.
  • Fixed crash when the search menu is empty and we press enter.
  • Fixed passing URL on command line.
  • Refuse to run if an ALSA mixer channel is wrong.
  • Fied adding items to the playlist when the server's playlist already has
    added files.
  • Fixed a memory leak in iconv_str() when iconv() is not available. (breg)


Call for testing: 2.3.0-beta1 released.

New features since 2.3.0-alpha2:

  • Added support for musepack (mpc).
  • Added support for PLS version 2 playlists.
  • Added mono to stereo conversion.
  • Added black_theme (by Arn).
  • Information about the state of prebuffering is displayed.
  • Two mixer channels can be set in the configuration file. They can be
    switched at run time by pressing x.
  • History for "go to a directory" and "enter URL" commands (using arrows).
  • CTRL-l like CTRL-r refreshes the screen.
  • MusicDir can be set to a playlist.
  • Separated iconv() conversion for file names and tags.
  • Improved performance a bit when operating on big playlists.
  • G command points to the currently played file - on the playlist if it's
    there, and selects it in the menu.
  • When going to a directory using the i command, TAB completes to the
    matching part of ambiguous directories.
  • Volume changes made by other programs are detected.
  • Added --recursively command line option (make a playlist from the content
    of a directory given at command line).
  • Show bitrate in the right time - the value corresponds to what you can
    hear, not the position that the decoder is at.
  • Added description about creating a decoder plugin.
  • Added introduction pages to Doxygen documentation.
  • Documented decoder plugins API.


MOC 2.3.0-alpha2 was released, the changes are:

  • Sample rate conversion using libsamplerate and some sound conversions like 16bit -> 24bit etc. With 24bit sound cards 24bit output is used with mp3. Jack can be used with any stereo files.
  • Support for mp3 internet streams.
  • Added support for speex format (without seeking).
  • Reading tags in internet streams from icy-metadata.
  • Colors can be redefined in themes using 'colordef COLOR = R G B' (works for terminal that can change the colors).
  • Print also the file name with --info.
  • Improved Jack support - less xruns, but a known bug is that played sound has clicks.
  • Support for 24bit flac files (not tested).
  • Added SeekTime option: how fast the seeking is. (Kamil Tarkowski)
  • Recognize internet stream format by MIME type.
  • Accept "ICY 200 OK" HTTP response for compatibility with IceCast.
  • A list of sound drivers can be used instead of only one driver in the configuration file. The first working driver will be used.
  • Alsa mixer has always 0-100 range despite the actual device range.
  • Added --toggle-pause command line option.
  • Added ResampleMethod and ForceSampleRate configuration options.
  • Don't block the audio device when paused. Based on a patch by hondza.
  • Don't try to use colors on black/white terminals.
  • Treat an option that is set in the config file more than once as an error.
  • Print descriptions for some errors in the config file.
  • Added HTTPProxy option.
  • Better error messages in the Ogg plugin.
  • Better detecting Ogg vorbis stream by content.
  • Decreased the time to wait for the pcm to become ready to get samples in alsa. This helps with underruns.
  • Show the bitrate and the sample rate with --info regardless of availability of other parameters.
  • Fixed protect attribute in themes.


Subscribe to RSS - Development release.