на основе таймера:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//MusicStream - переменная, куда записывается результат BASS_StreamCreateFile из процедуры Play;
if BASS_ChannelGetPosition(MusicStream, BASS_POS_BYTE) < BASS_ChannelGetLength(MusicStream, BASS_POS_BYTE) then
Exit;
if ListBox1.ItemIndex<ListBox1.Count-1 then
ListBox1.ItemIndex:=ListBox1.ItemIndex+1;
else //зацикливание плейлиста
ListBox1.ItemIndex:=0;
Play;
end;
без таймера-копать в сторону BASS_ChannelSetSync
ну и вам уже сказали читать справку к бассу, там все функции описаны.