XMMS mp3cue v0.9
by Brian Victor Fernandes
mp3cue v0.94 released. Click here.
Introduction
XMMS mp3cue is a plugin that allows you to use XMMS to conveniently
navigate through large (or small) audio files. mp3cue can store information
related to smaller tracks at specified locations within a single audio file and allows you to
select and play any of them conveniently.
XMMS mp3cue is a plugin for XMMS (X Multimedia System),
which runs on Linux. The original mp3cue plugin was conceived by John
Dee, written for Winamp. I have written XMMS
mp3cue from scratch; it is not a port. However, I did get
the idea from John and have tried to maintain as much
compatibility between the two as possible, so that you, (yes,
YOU) can switch between the two players without any
hassles. Many detailed (and perhaps boring for John) MSN
conversations went to this worthy cause ...
Having said that, XMMS
mp3cue is not complete as yet. But it does provide the primary
functionality, as stated above.
The Problem
If you wanted to rip / encode a mix CD or if you downloaded a
large song, you basically had 2 options.
In order for you to be
able to identify and seek to any particular song within the mix,
you would have to encode each song as a
separate MP3 file. So what's the
problem ? Well, if you are listening to the music using XMMS,
you'd probably get a pause between the MP3's, as XMMS switches
between them. Playlist ordering can also be an
issue.
Alternatively, we can rip the entire CD as a single MP3,
but then how do get to a particular track within the mix ? Not only would you have
to remember the location of the track, but the slider too is
hardly precise enough for large files. Needless to say, you don't
retain any information about the individual tracks, and you'd
probably have to manage this information outside XMMS.
The Solution ... and how to Use it
The solution is this plugin. (you were expecting maybe the Easter
Bunny ?)
- Load up the desired MP3 in XMMS. In the mp3cue playlist window,
right click and choose Add Track. Type in the details. The time
fields are programmed for minutes, seconds and frames
respectively. (There are 75 frames per second). Continue adding
songs until all the songs in the album are added (or you are fed
up... whichever comes first).
- Then just double click the song in
the mp3cue playlist to have XMMS seek to that position. What fun !
- The Period (.) and Comma (,) keys can be used to go to the next and previous song respectively.
- You can also set some attributes for the entire album itself by
right clicking and choosing Properties.
- You can now export this playlist to a cue file. Simply right click
and choose Export Cue Sheet. The file will be appropriately
named and stored (see details section below) so that mp3cue will
automatically find and load it up the next time.
- Import Cue
Sheet allows you to specify an alternate cue file to load as
the mp3cue playlist.
- If you want to Remove or Edit a song, just right
click the appropriate song and choose the appropriate
option.
- The current track playing is highlighted in Red. (this was
actually the toughest part of the plugin so far)
Right now, cue sheets created by the Winamp plugin can be read by
the XMMS plugin and vice versa. You can also create cue sheets
using external Cue Sheet Editors or by hand and the plugin should
handle them properly, as long as they follow standard cue sheet
conventions. Some Audio CD rippers such as Exact Audio Copy create
the cue sheet for you, but I haven't personally tried that out.
Even though the plugin is called mp3cue, it can be
used for all types of audio files, as long as XMMS is capable of
seeking within them.
To Do
I can think of many configurable options, will put them in.
mp3cue for Winamp allows you to encode the information usually
contained in a cue sheet within the MP3 itself, in the ID3v2
tag. I haven't got up to doing this yet, but I will get to it
soon. This is considerably more complex than the cue sheet and
compatibility testing will be a super pain in the super
arse. Needless to say, this can only be used for MP3 files.
It might also be convenient if mp3cue could split the mp3 into
several smaller mp3 files
according to the mp3cue playlist information, but I'll only do
that if this plugin receives good response... so you know what you
have to do. :)
If I have nothing better to do, I might try to use the XMMS
playlist skin to skin the mp3cue playlist too. But that's only
cosmetic, hardly important.
Download and Installation
Enough of the crap already... here's the binary.
XMMS-mp3cue-0.9-1-binary.tar.gz
(15 kB)
Place the libmp3cue.so file in the /usr/lib/xmms/General
directory
(this directory is mostly constant, but there is a small
chance that it just might be different on your machine) You can
locate it using "xmms-config --general-plugin-dir".
I have also created an RPM XMMS-mp3cue-0.9-1.i586.rpm
(18 kB)
, but I'm no RPM expert, so if it does not
work, use the tarball above.
Documentation is included in both versions.
After installation, restart XMMS. Right click
on XMMS and choose preferences, go to the General plugins tab and
enable the plugin.
I have no configurable options yet, but will
add some in the next release. If you try to close the mp3cue playlist, it
will only hide itself. So you can click the Configure button
(where you enabled the plugin)
to unhide it. There seems to be no other handle this behavior, but I'm
still looking.
Payment
XMMS mp3cue is freeware; probably soon to become open source. I've tried voluntary donations for my other plugins (Photoshop) but I received a very poor response (around 0.30% registrations).
If you would like to contribute, please consider registering either of my other "Dontation-Ware" plugins here. Thanks.
Details
What you see now, was almost complete a year ago. I simply lost
interest. I restarted the project only last week and am now back
on "Track". mp3cue is written mostly in C, and a little bit in
C++, using GTK for the front-end. Glade gives me nightmares ...
If your audio file has a 3 letter extension (.mp3, .ogg, .wav ...), then the cue
sheet for that file will have the same name, but the extension
will be changed to "cue".
e.g. Audio File: myfile.mp3 Cue Sheet: myfile.cue
In any other case, (more or less than 3
letters in the extension) the file will be given an additional
extension of cue.
e.g. Audio File: myfile.mpeg Cue Sheet: myfile.mpeg.cue
When exporting cue files from mp3cue, it will automatically supply
an appropriate name. If you stick to the supplied name, mp3cue
will find the cue sheet automatically when the file is next
loaded. Alternatively, you can specify any file you want when
importing a cue sheet for the current song, but then that would
have to be done everytime.
Feedback
I remember that I took a lot of pains to see that this plugin is bug
free. But then, that was a year ago :(. I doubt mp3cue would cause
XMMS to crash, but if XMMS does crash, disable the plugin and see
if XMMS still crashes (I've known XMMS to seg. fault a few
times). Then enable it and check. With such flexible input, it's
not too easy to test all scenarios.
Non standard cue sheets can cause the plugin to behave
"inappropriately"; I suggest creating a cue sheet using the
plugin or an editor. The "by hand" method is error prone, and using
the plugin is simple enough, isn't it ?
I would really really
appreciate any suggestions or bug reports from you. A few words of
appreciation would go a very long way too. If you want to
volunteer to test out new versions of the plugin, drop me a line.
The plugin will probably go open source after I finish the
ID3v2 integration. Perhaps you would like to contribute then...
Contact
Email: brianv@phreaker.net
MSN: infernalproteus@hotmail.com (no mail here please)
ICQ: 96722990
Thanks
First of all John Dee, for writing the original plugin and taking the
time to explain to me all the detials of his plugin, ID3 tags and
Trance in general. If I haven't been able to make you understand
what it is that mp3cue does, go read his page here.
I would also like to thank iso:crash and Tamas Pal the authors of the hello world
and Goodnight plugin respectively, whose source I studied to make
this one.
The guys on the XMMS forum very helpful, hope they continue to be.
Joshua McKinny reinkindeled my interest in the plugin. I actually thought nobody really wanted / needed it. Josh also found a few big bugs (which have been fixed :) ), so you have to thank him for pre-crashing the plugin for you.
Last modified: Wed Oct 22 23:01:38 India Standard Time 2003