Virtual OS/2 International Consumer Education
VOICE Home Page: http://www.os2voice.org
March 2002

[Newsletter Index]
[Previous Page] [Next Page]
[Feature Index]

editor@os2voice.org


Keeping Up With the Gates Part 2- mp3 players under OS/2

By Don Eitner © March 2002

Last month I looked at some recent mp3 audio encoders for OS/2 and I hope you went and tried them out yourself. Now that we have our mp3 files, we need to be able to play them. OS/2 has been a benefactor of numerous ports of programs from the UNIX and Linux world. In the early days we had such popular mp3 players as mp123, mpg123, and mplay which were all rather bland command line programs, but nonetheless effective. Today we have a few more choices, including several graphical (PM and WPS) programs such as WarpMedia and the MMIOMP3 codec. We also have the incredible z! mp3 player which is technically a command window program but which responds to mouse clicks on the desktop -- that is, if you have z! open as an OS/2 Window and not as a full screen session, you can click its controls just like you would any fully graphical WPS program. z! also includes a pipe API which means you could write another program or REXX script to control z!'s behavior in the background; set up a series of WPS object icons for "stop", "play", "next" and so forth and with the ease of double clicking as if to open a file you can be interacting with z! without having to see the program itself.

I will focus on the latter three mp3 players this month as they appear to be the only remaining players in active development under OS/2. WarpMedia is the successor to SDG's WarpAMP player and aside from playing mp3 audio it can play several video formats including DivX 3 and MPEG 1. I will be speaking only of its mp3 audio capabilities. z! 2.5 was updated last on December 8, 2001. It has not undergone any considerable changes in the past year or so, but bug fixes and various small enhancements continue to be made. Finally, the MMIOMP3 codec is a WPS class which provides native support for mp3 audio files in any program which utilizes OS/2's built-in multimedia system, such as the Digital Audio object in your Multimedia folder.

WarpMedia tp8


WarpMedia is currently in a "technology preview" stage. I suppose this could be considered an alpha release where the developers know the program is not fully functional and that a great deal of work still needs to be done under the hood. However WarpMedia is an incredibly slick program with support for "skins" (both WinAMP skins and its own proprietary format). Skins change the look of a program by providing, for example, alternate designs for buttons, background images, and in the case of WarpMedia's proprietary skin format they can even change the size and shape of the program window. WinAMP skins are all fairly much the same because they must conform to a specific size and a specific layout of buttons. WarpMedia skins can be non-rectangular/shaped and the buttons may be placed anywhere. This of course is what the designer of the skin can do. The user cannot move interface widgets around but can enjoy the many interesting sizes, shapes and colors of the program.

WarpMedia has proven to be a solid mp3 player. It contains all the standard features you would expect, such as a playlist editor which shows the file name, size, bitrate, sample rate, and ID3 tag info if available in the mp3 file. ID3 tags often contain the track title, artist name, release year and so forth. Editing of the ID3 tag information can be performed in WarpMedia through the playlist editor just as you would edit the name of an icon on your OS/2 desktop -- hold ALT on your keyboard while clicking with the left mouse button over the specific tag data to be changed. WarpMedia can also randomize the order of your playlist or play in a constant loop so the music never stops!

WarpMedia has the further advantage of coming with an XCenter widget for those of us who use XWorkPlace as a desktop enhancer. XCenter is much like the WarpCenter in OS/2 Warp 4 and eComStation but more flexible. The XCenter widget for WarpMedia provides a minimal interface for controlling playback, pausing or stopping, skipping to previous and next tracks in the playlist, and so forth. It is similar to the pipe API found in z! except that in this case you actually get the "other program" which uses the pipes instead of only getting the knowledge of how to create such an "other program".

I have only two complaints with WarpMedia technology preview 8 in regards to mp3 audio playback. First it uses the standard OS/2 file open dialog, which is both good and bad. It's good because it's consistent with most other programs we use. But it seemed to be confused by a file whose name contained multiple periods in a row ("Berlin - Sex [I'm a...].mp3"). The file open window did not show this file even though it is not hidden and does show up in some other programs such as z! which uses its own text-mode file manager. My second complaint is that even at the highest volume setting the sound I heard under WarpMedia tp8 was quieter than under other players. It is still in development, of course, so this might not be an issue in future releases.

z! 2.5 dec08alpha


z! is one of the most interesting command window programs I have seen. It uses only ASCII characters for its interface, much like the old Norton Utilities for DOS for example, but when run in an OS/2 Window on the desktop you can interact with it with your mouse as if it was a full PM program. Of course since it is designed for an 80 character by 25 line display it does take up a lot of desktop space when open. Thankfully you can setup your play list and minimize the window, never needing to see it again until you shut down.

Like WarpMedia, z! includes playlists, random order playback, and editing of ID3 tags, though in z! you need to type "i" without the quotes in the playing window in order to access the ID3 editor. z! also supports mp3 streaming from ShoutCast servers so if you are a fan of internet radio you will not be disappointed.

The 80x25 character interface of z! is well designed and provides all the information you could desire. On top you have the currently playing file name and information such as bitrate, sample rate, and mono/stereo notation. Below this is non-editable ID3 tag information for the current file, then the time display and volume controls and a sort of progress bar showing you how far through the song you are at any moment. Using your mouse you can skip ahead to any point or click the "<" or ">" buttons to skip 5 seconds in either direction. These features are available also from the keyboard so you do not need to be running PMShell in order to fully utilize z! At the bottom of the screen you have the filename of the previous song and of the next song in your playlist. You can easily skip in either direction, pause playback or stop and return to the file list window from here.

There are also two handy buttons for muting the audio and for enabling 3D audio mode -- a sort of false surround sound for standard two speaker stereo output. This feature can really bring out background sounds in some songs!

There is at least one known XCenter widget set for z! which uses the pipe API mentioned earlier. This is Chris' Widgets and can be downloaded from:

http://hobbes.nmsu.edu/pub/os2/util/system/cwdgts08.zip

In order to use Chris' Widgets, you need to also install Martin Lafaix' Rexx Button and Rexx Gauge widgets package from:

http://lafaix.online.fr/wpi/wgts-0-5-2.wpi

If the above link does not work properly for you, try right clicking on it with your mouse and selecting Save Link As. It is a WPI (WarpIn) install package so you will need the WarpIn 0.9.14 or higher installer, which itself can be downloaded from:

http://www.xworkplace.org/

MMIOMP3 codec

Possibly the last great development in mp3 audio support for OS/2 comes in the form of an IOProc (also known as a codec, for enCOder/DECoder). This provides seamless integration of mp3 support into the OS/2 multimedia system (MMOS/2). Once installed, you can directly edit mp3 audio files in the OS/2 Digital Audio editor which comes as part of OS/2. You are also supposed to be able to select "Convert to... mp3" from the WPS context menu of any WAV file, but I have not had any luck with this. The menu item simply does not appear on my system. You are also able to double click an mp3 file object in a desktop folder to start playback of that file through the multimedia system (no program interface shown, just playback the way system sounds are played). You stop this playback with another double click on the file object or it ends automatically when the song reaches its end.

There is absolutely nothing flashy about MMIOMP3 because it's all behind-the-scenes, but having this tight integration with the basic audio players and editors included with OS/2 and eComStation can be a real advantage. As I mentioned, you can open mp3 files in the Digital Audio editor, crop them, change their volume, reverse sections of audio, and so forth and save it still as an mp3 file. Granted, the standard Digital Audio editor is bulky and pales in comparison to some Windows programs (GoldWave comes to mind) but for general work it is fine.

With MMIOMP3 you also get an MMIOVORB IOProc for the Ogg Vorbis audio format which is in its infancy compared to mp3. However the support is there for OS/2 and you do not need to install it if you don't want to.

My main complaint with MMIOMP3 might be more of a complaint with the ancient IBM multimedia programs included with OS/2. The Digital Audio editor is not very efficient in its memory handling and, for instance, when I attempted to reverse the audio in a portion of an mp3 file I got an error message. This is on a system with an AMD Athlon 800MHz processor and 512MB of PC133 memory. Since I know of no other (non-IBM) programs which use MMOS/2 IOProcs, I cannot test my theory. It could just as easily be a problem with either the IOProc or the IBM audio editor. However double-click playback of mp3 files from a WPS folder did not encounter any problems; playback was smooth and at good volume.

Chris Wohlgemuth (author of Audio-CD-Creator among many other freeware programs) has also released a set of WPS classes which further integrate MMIOMP3 and MMIOVORB into the WPS. These classes provide specific WPS settings notebook pages for mp3 files where you can edit the ID3 tags. If you are going to try MMIOMP3, do yourself a favor and also download CWAudio.

Since my original tests with these programs, the scene has changed a bit. In late January, 2002 two new MMOS/2 enabled media players were released.

Normal Player

The first was Normal Player by Darwin O'Connor. This is a full multimedia player and claims to support "any file format supported by MMOS/2." This would include WAV audio, MIDI audio, some AVI and MPEG video formats, FLI and FLC video formats and more. It would also include the MMIOMP3 and MMIOVorbis audio formats if you install that package (developed by Russell O'Connor -- they're different people, or so I'm told). Normal Player can be downloaded from:

http://www.reamined.on.ca/doconnor/nplay/

At the time of this writing, this is an early release and while functional is not flashy to look at. It is, however, a fully native program with a fully native look and feel. It does not support "skins" but it is a WPS program with pushbuttons, slider bars and all, unlike z! for example which is a text-mode program.

Media Folder

Then came word that Chris Wohlgemuth (author of Audio/Data-CD-Creator and the CW-Audio WPS classes I mentioned earlier) had released a new WPS folder class which he calls Media Folder. This comes as part of his CW-MM 0.2.0 package which also includes updated versions of the CW-Audio classes I looked at earlier. CW-MM can be downloaded from:

http://www.os2world.com/cdwriting/

Because the OS/2 WPS is object-oriented, parts of it (objects) can be either replaced or extended, usually without breaking any compatibility with existing programs. Chris' new folder class is both a folder like you would find in the Drives object and a full audio player for WAV, MIDI, MP3 and OGG Vorbis files. As with Normal Player, it will play any audio format known to MMOS2.

Because it is a WPS folder class, it supports the creation of shadows so that you can, in one place, maintain a playlist of hundreds of audio files which are on dozens of individual drives without having to move those files into the same physical location -- the WPS shadows act as a pointer to each file's unique location. The top area of this new folder class consists of pushbuttons for play, stop, pause, fast forward and rewind, etc and a volume slider bar as well as a track position display.

So in one WPS object you can now have a fully WPS aware playlist containing shadow pointers to files on multiple drives and the buttons and widgets for playing those files like an audio CD. You cannot move files into this folder, it will always create WPS shadows to the existing files. This makes Media Folder a perfect WPS desktop object because it can be moved without the need to move all the media files with it. Also if you move the media files using the Drives object, the shadows automatically point to each file's new location. Try that with Windows shortcuts which have to go scanning your drives to re-locate the files after a move.

Media Folder only supports audio files at this time, so if you need a general purpose multimedia player you would want to investigate either Darwin O'Connor's Normal Player or SDG's WarpMedia.

Both Normal Player and CW-MM are freeware and distributed under the open-source GPL (General Public License) as with Linux. These are two excellent and modern OS/2 media players which were desperately needed. It is encouraging to see this sort of development continuing in the OS/2 community.

Conclusion

My original choice for a winner in this review was z! because it was the most mature and complete of the three audio players. But with the two new players which both use MMOS/2 to play any audio format known to the system, I have changed my choice.

Together, MMIOMP3 and Media Folder make a perfect team. The tight integration and flexibility is an excellent example of what OS/2's WorkPlace Shell can do and will not be seen in any other operating system for a very long time to come. It has been ten years since the WPS was first introduced and still the rest of the computing world has not caught up to its power. Media Folder does not force you to move your audio files into a single directory like some other players do, and MMIOMP3 provides seamless conversion from mp3 to WAV and back again. The standard WPS settings notebook interface for editing mp3 files' ID3 tag information is another example of the great work done here to create a very uniquely OS/2 product.

For anyone who uses OS/2 at the command prompt or anyone who uses XFree86-OS/2 (an alternative to OS/2's built-in PMShell and WPS) z! is the only one of these audio players that can be used. It still has many features not available in other players but it has been unseated from its throne by Chris Wohlgemuth's Media Folder backed with Russel O'Connor's MMIOMP3.

WarpMedia has an incredible user interface and if the developers ever release a tutorial on how to create WarpMedia skins we as OS/2 users would really be able to impress our Windows/WinAMP using friends. You just try using a huge non-rectangular cutout of the characters from Futurama where their eyes, spread all around the interface, are the player controls, as a skin under WinAMP. It can't be done. However as a player, WarpMedia needs a few tweaks, especially to the audio output volume.

References:

Don Eitner's The 13th Floor website: http://freiheit.syntheticdimension.net
Download WarpMedia technology preview from: ftp://sdg.os2.nu/pub/warpmedia/testcase/
Download z! 2.5 dec08alpha from: http://dink.org/
Dwnload MMIOMP3 and MMIOVORB from: http://www.math.berkeley.edu/~roconnor/
Download CWAudio from: http://www.os2world.com/cdwriting
Download CW-MM 0.2.0 from: http://www.os2world.com/cdwriting
Download Normal Player from: http://www.reamined.on.ca/doconnor/nplay/


[Feature Index]
editor@os2voice.org
[Previous Page] [Newsletter Index] [Next Page]
VOICE Home Page: http://www.os2voice.org