mpy3

overview

Intended for use in a car mp3 system, MPy3 is modeled in a large part programmatically and visually from CAJUN, a car-mp3 system written with Perl for use under Unix/Linux. There were somethings that I found missing from CAJUN, and not knowing Perl -- or Python for that matter, I decided to write my own. After checking into Python, and liking what I saw, I got to work! After about 3 weeks off and on, I had written the basic framework for MPy3, a library to control the LCD (pyCFontz.py), a library to control the mixer (pymixer.py), a library to control the MP3 player, rxaudio (pyrx.py), and a small library to control the playlist (pyplaylist.py). Needless to say, I was in love with Python -- easy to learn, and easy to hack!

Well, I eventually released MPy3 1.0, which had a number of issues, but it worked damnit! My Car MP3 setup changed, and I couldn't use my serial LCD anymore, so I wrote a X-enable LCD "emulator" (pyLCDemu.py) for testing purposes and possible TV-out usage. it is rough, but follows the same command structure as pyCFontz. I was hoping to have it set up by the time my summer vacated (end of July 2001 rolled around, but i couldn't hack it, and I shelved the project for a wee bit. This round of development included threading for the player and input sections -- making the lag much less! Good stuff, that!

After a number of people came about with new additions for MPy3 and the libraries (Matrix Orbital support, parallel usage, etc) I found that my USB/serial converter worked fine with my CrystalFontz lcd -- and I got back into MPy3 once again. Development had resumed on MPy3 2.0! Speed ups and playlisting support were necessary for this rev, and they have been achieved using Threading and non-blocking selects, etc. Anyway, MPy3 2.0 is complete, and work on 2.1 is already starting!