Функции:
BASS_Init(); - запуск BASS-библиотеки
BASS_Free(); - освобождение памяти. Используется, когда требуется остановить функциональность плагина.
BASS_PlayStream(url[]); - запуск считывания данных с аудиопотока. Возвращает ID потока.
BASS_StopStream(); - остановка считывания данных с аудиопотока. Строго рекомендуется использовать перед BASS_Free();
BASS_ErrorGetCode(); - получение кода ошибки при считывании данных.
BASS_ChannelGetData(Float:buffer[], length); - получение FFT данных с потока.
BASS_ChannelGetLevel(&left,&right); - получение уровня громкости с левого и правого каналов. Максимально - 1.
BASS_ChannelGetLength(handle); - получение длины воспроизводимого потока.
Примеры:
FFT-лазеры.
http://pastebin.com/TS5mK1mY
http://www.youtube.com/watch?v=yMc4dm9QeME
FFT-уровни.
http://pastebin.com/NNqZtUgv

Первые 10 FFT буферов в виде TextDraw'ов:
http://www.youtube.com/watch?v=rgrUf_Hy9xo
Уровни громкости левого и правого каналов.
http://pastebin.com/9fWPcw31
В виде TextDraw'ов:
http://www.youtube.com/watch?v=sUUs21vJkBs
Загрузка:
Примечание:
Данный плагин очень трудно использовать на публичных серверах в связи того, что ему требуется очень много обновлений в секунду ( SetTimer("Update",40,true); ). Используйте на локальных серверах.
Обновления:
- v.0.13: Поддержка сканирования нескольких потоков.
- v.0.14: Новая функция BASS_ChannelGetLength(handle);
Автор плагина: h02
Первоисточник: Forum.SA-MP.Com
Автор статьи, уровней в виде TextDraw'ов: SDraw.