Introduction

The Python Toolkit for MP3 Management and Interaction (PTOMMI) project started out as a simple desire to just play some songs from a collection of MP3 music files stored on a single server. From those early wishes have evolved a set of CGI applications for online access and management of MP3 collections, along with a fairly useful set of Python components for building such applications. In partial thanks to all the developers in the Python community who have contributed to making Python such a great tool to work with, I'm making everything available to anyone who might find it the least bit beneficial.

1.1 Who Might Find This Interesting?

People who have a few computers scattered around that are connected together through a LAN or private network, and who would like to have remote access to repositories of MP3 song files, might find this project useful. One reason I wrote these applications was because I often have several machines that at any given time can be running either Linux or Windows. Applying a client/server approach, and implementing it with a platform-neutral language such as Python, enabled me to provide access to my music no matter which machine I was on, or which operating system I was using at the time.

Python developers who are interested in building CGI-based applications in general might also find it interesting to check out what is included here. Various modules for solving some of the everyday issues faced by CGI developers have either been adapted from available sources or specifically created, and they are presented here in the context of being integrated into working applications. User authentication, maintaining persistent user data, portable file locking, HTML templates, forms processing, XML input and output, and ID3 tag reading and writing are just a few of the areas covered by components of this project.

1.2 What's Included?

The applications packaged with PTOMMI include a general playlist manager and an ID3 tag editor.

Some features of the playlist manager application are:

Some features of the ID3 tag editor application are:

1.3 Minimum Requirements

The applications are written as Python CGI scripts, and therefore require a web server on which Python has been installed and which supports serving HTML, Python CGI, and MP3 music files. I personally run Apache web servers on my machines, and therefore have only thoroughly tested the applications with that package. Other web servers should work as well.

The client side requires only a fairly modern web browser that has been correctly set up to pass .m3u (Winamp-style playlist) files to an MP3 player that understands them. I've successfully used Mozilla as the browser and xmms as the player on Linux, and Internet Explorer as the browser and WinAmp as the player on Windows.

1.4 Building From Here

PTOMMI is still a work in progress. There are a lot of things that could be done to make it better. I'm certainly open to suggestions as to what should be done, and even more open to other people coming up with additions or improvements on their own. Anyone who contributes something that is incorporated will certainly get acknowledged for it. Problems with the applications will only get fixed if I hear about them, and when they are fixed I'll try and let anyone who cares know about it.