The SD structure
In this post I'll try to explain a little the code of our 'Jukebox' Arduino hearted .The main problem I found for this project, was the limitation SD library, with reduced FAT which only allowed the names in 8.3 format.
The solution was to create a small catalog in a text file from which to read the entries.
The directory structure on the SD has the following format:
raiz
+-artistas.txt
+-[ARTIST01]
| +-album.txt
| +-[ALBUM01]
| | +-track.txt
| | +-track001.mp3
| | +-track002.mp3
| | .....
| | +-track0nn.mp3
| +-[ALBUM02]
| .......
| +-[ALBUMnn]
+-[ARTIST02]
.....
+-[ARTISTnn]
This means there are three levels: artist, album and track. Each level has a text file with the catalog entries (a line of text for each artist, album or song).
The names of the folders and files must be such as are in the scheme (you can always change the code).
It's a bit cumbersome to create the card, but ... worthwhile. I used a program that makes it much easier MP3Tag, enabling export to text tracks of a directory and rename mp3.