Or "How to build/install a Cajun MP3 Player"
I'll be adding the new system soon which is in my 2000 Dodge Ram 3500 Quad Cab Sport Diesel..that's a long name! It's a small Asus NLX form factor Booksize PC with Linux on a 92MB compact flash card. New Setup
Cajun stands for Car Audio Jukebox (implemented under) UNix. It is a Perl script and modules written by Paul Bournival Jr. and is used to control the MP3 software and to control the Matrix Orbital LCD display used in this project. Cajun information itself can be found at The Cajun Website. I suggest you go read his site and then come back for the details. I'm basically using a modified version of this script. I guess you can say I customized it to my liking.
The computer is in the trunk and is accessed through a handheld controller. The controller houses a 4 row by 20 column backlit LCD. It also has a keypad on it for input. My version has the power and hard drive LED lights built in so I can see what's going on.
All the directions can be found on the Cajun site. These are optional things I did and an overview of some of the other things that need to be done that might not be metioned on the Cajun site. Skip through and find the info you need.
Keep notes about the color of wires used and their functions. This will be real useful later on down the road if for some reason you need to work on your controller again
# Keymap for 16-key Greyhill Keypad/Matrix Orbital keymap=41:1 keymap=42:2 keymap=43:3 keymap=44:A keymap=46:4 keymap=47:5 keymap=48:6 keymap=49:B keymap=4B:7 keymap=4C:8 keymap=4D:9 keymap=4E:C keymap=50:* keymap=51:0 keymap=52:# keymap=53:D
On newer ATX stuff the ports are right on the motherboard. I made a DB9F to DB9M adapter with the needed wires passing straight through. I then ran power out of the case and into the adapter. The power is applied to the needed pin on the controller side of the adapeter and not on the motherboard side
The only problems you might run into is the renaming of the serial ports lately.
This is a kernel 2.2 and later change. If you are running this kernel you may need to change the programs to work with those devices. They are as follows:
COM 1 is now /dev/ttyS0 COM 2 is now /dev/ttyS1
NOTE: You might have to change the "CajunMO2x40.pm" module in order to get Cajun to work properly. Try the default way first.
'make dep;make clean;make modules;make'
and when that finishes with no errors then 'make modules_install;make install'
leave out the make modules and modules_install if your not using modules ( makes sense :) )
If your not totally sure about changing the kernel, read up on it first. If you frazzle your linux box by building a wacked kernel...well i'm not responsible. Be smart, read up.
NOTE: If you don't read this thoroughly and somehow set your car on fire, the neighborhood, kill wildlife in the area or somehow hurt yourself...it's your own fault. These are here as suggested steps for people. Get an idea of the steps involved. Use your brain..think before you do it, don't take my word for it. These are the steps I followed and I'm still here...and driving my car around :)
Wire up the power inverter - Don't use some cheap wire. I used gas and oil resistant wire that's used for internally wiring appliances. I had spools of both red and black. If you know and electricain ask him if ya can get some wire from him. If not buy quality wire...don't make your project hokey :)
Find the underhood fuse box and the hot terminal. Most new cars have these and you can see a positive (red) wire going straight from the battery to this box. This is were we'll get the power for the inverter. Find a safe place to mount your fuse holder. Make a wire with a ring terminal (don't even think of wrapping it around! :) )and connect from the post on the under hood fuse box to your fuse holder. It's best to neatly wrap the sonnectors splices with Super33 (electrical tape). This will keep the weather out of the connections. Then run your cable from the other side of the fuse holder through the firewall and down the side of the car to the trunk. Be careful where it runs and what it might com in contact with. Run it under the sill plates or next to them in a manner where they won't get worn or hit.
Here's a typical relay wiring diagram:
Note: I don't own stock in 3M...Super33 happens to be the electrical tape that doesn't fall off 45 seconds after you put it on :)
You should now have a trunk mounted power inverter controled by a nice relay/switch setup
OK..Ok...go grab the damn computer already!! :)
I think you can figure out the rest of the installation on your own. Mount it thinking about the shocks of everyday driving. If possible shock mount the drive in the case but remember it needs air flowing over it.
Here are some pics of what the player looks like on the display.
This is the main menu.
Cajun 3.0 is a work in progress. Menu items are in place
for future versions.
You can control the mixer from the handheld LCD controller.
This is the first level of the play menu. Choosing an
artist then shows the albums for that artist.....
....like so. Choosing an album then shows the songs available.
Choosing the first song will play everything in that album.
Remember, albums are just directories, so you can have directories
with 40 or 50 mp3's in them or create symlink albums from boxsets.
And heres the player playing a song. The display includes song play
time, percentage of that song played, what song in the album, Artist,
Album and Song. Songs longer than the display scroll. (This is currently
being worked on. I have mod'd mine too scroll with good results )
These are now perl scripts. If you have the old scripts you'll probally want these
Newest version is 2.0.3
-Converted to perl
-Added both single drive and changer operation
-Added optional use of 'mp3info' to set tags
-Fixed paths that were static, now all paths set from configuration variables
-Fixed broken path names
A lot of things are fixed in the new version
Newest version is 2.0.3 -Converted to perl -Added both single drive and changer operation -Added optional use of 'mp3info' to set tags -Fixed paths that were static, now all paths set from configuration variables -Fixed broken path names
I have 2 scripts I made to rip and save MP3 files. They use cdparanoia, cdda2wav and bladenec. They also optionally use 'mp3info' to set the tags in the files after encoding
The script can use a SCSI 5 CD changer or a single CDROM of your choice (SCSI or IDE)
One script 'build-songlist.pl' gets the CDs ID and goes to CDDB and gets the info. It then creates the generated 'batch.sh' script that actually does the ripping and saving using 'multi-rip.pl' The file 'encode' is for the xterm and bladeenc process. Put it in your path somewhere
Final output: /[basedir]/artist/title/songnumber_songname.mp3
Example: /mp3/AC-DC/Back_In_Black/01_Hells_Bells.mp3 etc
1) Be in X, online and insert CD(S) 2) Edit 'buildsonglist.pl' and set the configuration options 3) Edit 'multi-rip.pl' and set the configuration options 4) Run 'build-songlist.pl' 5) Check your songlist(s) for errors (drive?.songlist) 6) Run 'batch.sh' which is a feeder for 'multi-rip.pl' It allows as many process as you want..pick 4 and it only does 4 at a time...one stops, the next one starts...in it's own resized xterm 7) Wait.... 8) Enjoy
Your on your own, these are here to help others.
send email to Denis Hruza - hruzaden@SPAMyahoo.com