[pascal]
begin
SDL_INIT(SDL_INIT_AUDIO);
if baudioopen = true then begin
writeln('Error! SDL Audio could not be initialized.');
sdl_quit;
readln;
exit;
end
else
begin
writeln('stage 1- initialization');
writeln(mix_geterror);
readln;
baudioopen := false;
audio_rate := 22050;
audio_format := AUDIO_S16SYS;
audio_channels := MIX_DEFAULT_CHANNELS;
audio_buffers := 4096;
mix_openaudio(audio_rate,audio_format,audio_channe ls, audio_buffers);
writeln('stage 2- set song file');
song := 'testb.mp3';
wave := mix_loadmus('testb.mp3' {normally var song} );
error := mix_geterror;
writeln(error);
if wave = nil then begin
writeln('Couldn''t load ',song,'.');
sdl_quit;
readln;
exit;
end;
writeln('stage 3- play song');
writeln(mix_geterror);
repeat
loops := 1;
mix_playmusic(wave,loops);
until bool = true;
if wave <> nil then begin
mix_freemusic(wave);
wave := nil;
end;
if baudioopen then begin
baudioopen := false;
mix_closeAudio;
end;
writeln('stage 4- quit');
sdl_quit;
end;
end.
[/pascal]

Ok. This is my new code. My problem being, instead of playing the file, I hear a bunch of ticks. It's running testb.mp3, and it works, except instead of the song, I hear ticks. Now, if I try .wav, I get an error stating:
"You can't pass a FILE pointer to a DLL (?)"
with that exact caps, including the (?). I have no clue what this means.