WaveHC: Filenames from SD in array

char (*allFilenames) [9];

Why are there parentheses in this statement?

//filenames will be max 8 + 1 without fileending

Are you SURE of this? Generally, SD file names can have 8 characters, plus the dot, plus 3 characters for the extension plus the NULL. That's more than 9.