On Freshmeat

CDXA

Version 0.5

This suite of tools demonstrates the capability to play Playstation CDROM XA Audio tracks in Linux. It was started based on some dos code from the hitmen. There are three versions of the player:

Version 1: Located in the subdir named "old". This is the original iso9660 and cdxa work, plus a player that work in text mode. works well except you may have to figure out what options are needed to select a cdrom device, filename, and channel number to play. There's really no use for this version except to play with the peices of the playing process, as there is also an XA file ripper, XA to WAV converter, and a simple stdio WAV player for streaming output. There are scripts to link the peices together in a pipe and play stuff. Still fun to look at. You don't need to mount the CDROM!
This directory is not very useful to the average user ;)
Version 2: Currently located in the main directory. Requires zlib (tested with libz.so.1.1.3).
This is the most complete version, but file selection in the GUI is quite raw. Still it has the most features right now. It includes XA File mapping and compressed storage routines for the maps, it also has an ossilliscope (but it's ahead of the actual buffer being played!) The map is fully interactive with the mouse. The Frequency buttons do nothing now, though, since I've found there's information in every frame of audio that tells me the desired playback frequency. Also the colors in the XAMap are as follows:

Blue Audio (played!)
Magenta Audio and Video (Audio is played!)
Red Video
Yellow Index mark (usually indicates the end of a song)
Black Channel not present
Grey Null
Light Grey Not Mapped Yet (Hit the Map button on top!)

The reason for the color blending is that multiple frames fit in one pixel width at times...so Red And Blue make Magenta.
The Save buttons are not functional.
To change CDROMs exit the application...otherwise nothing may happen if you press eject!
If you do Eject and insert a new CDROM, hit Load CDROM again for the disk change to take effect. No mounting is used nor needed by this program.
To open a file press Load CDROM, then you can hit Open File anytime after that.
Sometimes you can get out of the fileselector by trying to close the window!
/dev/cdrom is the device used, and is not changable without changing the C Code and compiling right now.
The Name buttons do nothing.
If CPU Time is your concern, turn off the ossilliscope!
The '<' and '>' around the Map will find index marks for you, but they don't skip over them when playing and trying to go backwards!

Version 3: NOT INCLUDED ANY MORE AS THIS WAS A PAIN TO KEEP UP WITH CHANGES IN GTK
Located in the 'gtk' directory. Requires gtk 1.2 (tested with libgtk-1.2.so.0.2.1)
This is the future direction I'm taking. This player will incorporate all the features from Version 2 plus more things like sync'd visualization and buffered reading/decoding. It supports the following right now:
  • Channel selection (although to get access to more channels press play first for now!)
  • Moving around in the file (using a scroll bar)
  • Files selection using a custom built file selector, you should like it I think! It has a dir tree and file list with file sizes (HINT: larger files tend to have XA Audio tracks in them!). The reason for this custom selector is that I had to get the ISO9660 file system myself due to the fact that there's no way to get the raw frame address for the beginning of a file using the filesystem mounted through the kernel. In this fashion, you as a user will require read access to you cdrom device.
  • command line selection of alternate cdrom devices (it's the only commandline argument used by the player, after gtk options) It defaults to /dev/cdrom otherwise. This will be configurable in the GUI next time.
  • CDROM Information window. It list the raw disc name and other stuff.
  • MUCH MORE TO COME! THE BIG GUI ONE IS THE ONLY VERSION I AM ACTIVELY WORKING ON.

    This is a pretty stable development version, but report all bugs!

    Current Archives

  • cdxa.0.5.tar.gz 40KB

    All files, old and new


    Contact Me:
      Jonathan Atkins