A GUI utility to copy over selected albums from a collection stored on a PC hard-drive over to a mp3 player. This is handy with mp3 player with small disk sizes and limited player features. As these won't have the functionality of selecting by genre/artist, this will be done via mp3cp and will be compensated by the fact that you will transferring mp3 files over more.
mp3cp came into being because some mp3 players do not play the tracks of an album in the proper order. The only way to get around this is to name the album tracks in the format tracknumber-track title.mp3 ie 01-intro.mp3. The files are then copied in order of track name.
This works on Linux and should work on any *nix system. It should also works on MS Windows although I have not tested it on that platform.
Python (obviously)
mutagen python libraty
PYGTK library
pysqlite library
GNU Licence but you can rip off any of the code if you want.
The program mp3cp has good examples of pyGTK and it as well as transcode has examples of amending id3 tags.
The program is very much complete but I have recently come across Unix Philosophy and I am in the process of using those principles by rewrting parts of mp3cp. While these programs are not designed for the basics of Unix Philosophy, I am using these programs as a way to try and understand the principles. The other motivation is rewrite the code to make it a better design so that I am able to debug and add features more efficiently.
mp3cp uses the pyGTK toolkit. The program is organised in classes to separate the pyGTK and the other code. It shouldn't be too hard to rewrite the program with code from a toolkit other than pyGTK.
Music tag format
The album tree display use the album, artist, disc number and genre id3 tags for display. Another tag which is used is score. This is not an id3 tag but one created by mp3cp and is a tally of the number of times an album has been copied to mp3 player.
For multi-artist compilation albums, enter Various in comments field so that when the path tree style is displayed, the artist for album appears as Various rather than all the individual artists on compilation. For instance if a compilation album had the tags
ALBUM TRACK TITLE ARTIST Comments
Best of 80's 1 xxx artist_1
Best of 80's 2 xxx artist_2
Best of 80's 3 xxx artist_3
Best of 80's 4 xxx artist_4
Best of 80's 5 xxx artist_5
In the path tree, it will be displayed as
artist-1
Best of 80's
artist-2
Best of 80's
artist-3
Best of 80's
artist-4
Best of 80's
artist-5
Best of 80's
To get round this, set the comments for each track as Various
ALBUM TRACK TITLE ARTIST Comments
Best of 80's 1 xxx artist_1 Various
Best of 80's 2 xxx artist_2 Various
Best of 80's 3 xxx artist_3 Various
Best of 80's 4 xxx artist_4 Various
Best of 80's 5 xxx artist_5 Various
In the pathtree the album will be displayed
Various
Best of 80's
Various tagging programs are available to do this quickly, a good one is easytag.