Dual SPI Audio Demo</h1>

This example shows how to utilize the sound.c driver to play .wav audio
files using dual-SPI to an external TLV320AIC3107 DAC. dual_spi.c performs
sound operations through the sound.c API. Interactions with the 
TLV320AIC3107 are done within dac.c.

When the application starts, a list is populated with .wav files found
on the SD card. The display will then show the name of the first audio
clip. You can cycle through the available audio clips by pressing the
left and right push buttons. The name of each clip selected will be 
displayed. 

The selected sound clip may be played by pressing the select
button. During playback, the user may pause/unpause the clip by pressing
the selecton button again. The clip can also be stopped, returning the 
user to the main menu, by pressing the left button. The up/down
buttons correspond to increasing/decreasing the audio volume by increments
of 10%. This volume setting is reflected by the vertical volume bar.
During playback, both the time stamp and timebar will update
displaying the audio file's progression.

This example uses the following peripherals and I/O signals.  You must
review these and change as needed for your own board:
- TIMER0 peripheral (for TimerA int handler)
- GPIO Port A peripheral PA2-5 (for SD card control)
- GPIO Port B peripheral PB2-3 (for I2C0)
- GPIO Port D peripheral PD0 (for DAC reset signal)
- GPIO Port F peripheral PF0-3 (for SSI1)
- GPIO Port H peripheral (for push buttons)
- GPIO Port H peripheral PH0-3 (for SSI3)
- uDMA peripheral
- CCP5 - PG3 (to supply DAC's I2S master clock)

This example uses the following interrupt handlers.  To use this example
in your own application you must add these interrupt handlers to your
vector table.
- SoundIntHandler (SSI1 & SSI3 TX)
- Timer2AIntHandler (Timer 2 subtimer A)
- Timer0AIntHandler (Timer 0 subtimer A)


-------------------------------------------------------------------------------

Copyright (c) 2012 Texas Instruments Incorporated.  All rights reserved.
TI Information - Selective Disclosure
