Audio input

I'm a bit confused about how this is working. I have a audio cable going from my computers 3.5mm jack through a splitter to my arduinos analog input in 0. I am getting readings from 0 to in general a maximum of around 350 depending on the volume of the song I'm playing. I can do some cool effects with this by smoothing it but I want to use the fft library to separate out the bands to display on my led matrix. The problem I see is that if I divided this by 4 and subtracted 128 to get it into a range the fft can use there will be no positive values. Knowing that a audio wave is AC I should have both positive and negative values. Am I doing it wrong?

I'm guessing that I need to use transistors or something but I'm not really sure how that should look and after a few minutes of fiddling I couldn't figure it out. Can anyone give me any hints?

You are getting positive and negative values in but the A/D converter can only convert positive values. Here's a suggested circuit for converting -2V-to-2V signals into the 0V-5V range of the A/D converter:

http://ruggedcircuits.com/html/circuit__23.html

--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons

Knowing that a audio wave is AC I should have both positive and negative values. Am I doing it wrong?

I'm guessing that I need to use transistors or something but I'm not really sure how that should look and after a few minutes of fiddling I couldn't figure it out. Can anyone give me any hints?

Knowing that the audio is a AC voltage you really shouldn't be connecting it directly to a arduino analog input pin which can only handle positive voltages from 0-5vdc, no negitive voltages allowed without risking damage to the pin. Probably the higher impedenace of the line out signal is that only reason you haven't seen damage so far. So you are only going to see the positive half of the audio waveform. If you require access to the complete waveform then a opamp designed to add a positive +2.5 offset is required.

Lefty