Софт [SF PLUGIN] BASS Opcodes

Статус
В этой теме нельзя размещать новые ответы.

itsLegend

Фонд борьбы за жуков 🐞
Автор темы
Администратор
2,696
1,468
Прив всем.
Т.к. стандартные возможности CLEO не позволяют создать поточный звук из интернета, я написал небольшой плагин, который поможет исправить это. Даже добавил несколько других :)
Опкоды, которые регистрирует этот плагин:
CLEO:
0F00:     bass_init device 1@ freq 2@ flags 3@
0F01: 6@ = bass_streamcreatefile from_mem 1@ file 2@ offset 3@ length 4@ flags 5@
0F02: 5@ = bass_streamcreateurl url 1@ offset 2@ flags 3@ include_http 4@
0F03: bass_channelplay stream 1@ restart 2@
0F04: bass_channelpause 1@
0F05: bass_channelstop 1@
0F06: bass_streamfree 1@
0F07: 1@ = bass_geterror
0F08: bass_free
0F09: bass_setvolume 1@
0F0A: 1@ = bass_getvolume
0F0B: bass_channel_setattribute stream 1@ attrib 2@ value 3@
0F0C: 3@ = bass_channel_getattribute stream 1@ attrib 2@

0F00:
Инициализация BASS(происходит автоматически).
Параметры:
1@ - устройство воспроизведения(-1 = стандартное, 0 = без звука).
2@ - рейт воспроизведения
3@ - флаги(не особо нужны, выложу как смогу:)).

0F01:
Создает потоковое воспроизведение из файла/памяти.
Параметры:
1@ - читать из памяти
2@ - путь к файлу(если 1@ = false)
3@ - смещение от начала
4@ - длительность
5@ - флаги
6@ - поток.

0F02:
Создает потоковое воспроизведение из интернет-источника.
Параметры:
1@ - ссылка
2@ - смещение от начала
3@ - флаги
4@ - включать http:// в начало ссылки(чтобы не париться с буферами и т.п.)
5@ - поток.

0F03:
Начинает воспроизведение созданного потока.
Параметры:
1@ - поток
2@ - зациклить.

0F04:
Поставить на паузу воспроизведение потока.
Параметры:
1@ - поток.

0F05:
Остановить воспроизведение потока.
Параметры:
1@ - поток.

0F06:
Выгрузить поток.
Параметры:
1@ - поток.

0F07:
Получить ИД последней ошибки.
Параметры:
1@ - код ошибки

0F08:
Обратное действие BASS_Init(0F00). Не рекомендуется к использованию.

0F09:
Изменяет глобальную громкость.
Параметры:
1@ - громкость

0F0A:
Возвращает глобальную громкость.
Параметры:
1@ - громкость

0F0B:
Устанавливает новое значения атрибута для потока.
Параметры:
1@ - поток
2@ - атрибут(тестил пока только 2 - громкость потока)
3@ - значение

0F0C:
Возвращает значение атрибута потока.
Параметры:
1@ - поток
2@ - атрибут(тестил пока только 2 - громкость потока)
3@ - значение.

Установка:
bassOpcodes.sf в папку SAMPFUNCS.
Для компиляции в Sanny Builder(лучше вставлять в конец файлов):
Код:
0F00=3,    bass_init device %1d% freq %2d% flags %3d%
0F01=6,  %6d% = bass_streamcreatefile from_mem %1d% file %2s% offset %3d% length %4d% flags %5d%
0F02=5, %5d% = bass_streamcreateurl url %1s% offset %2d% flags %3d% include_http %4d%
0F03=2, bass_channelplay stream %1d% restart %2d%
0F04=1, bass_channelpause %1d%
0F05=1, bass_channelstop %1d%
0F06=1, bass_streamfree %1d%
0F07=1, %1d% = bass_geterror
0F08=0, bass_free
0F09=1, bass_setvolume %1f%
0F0A=1, %1d% = bass_getvolume
0F0B=3, bass_channel_setattribute stream %1d% attrib %2d% value %3f%
0F0B=3, %3f% = bass_channel_getattribute stream %1d% attrib %2d%
Код:
0F00:     bass_init device 1@ freq 2@ flags 3@
0F01: 6@ = bass_streamcreatefile from_mem 1@ file 2@ offset 3@ length 4@ flags 5@
0F02: 5@ = bass_streamcreateurl url 1@ offset 2@ flags 3@ include_http 4@
0F03: bass_channelplay stream 1@ restart 2@
0F04: bass_channelpause 1@
0F05: bass_channelstop 1@
0F06: bass_streamfree 1@
0F07: 1@ = bass_geterror
0F08: bass_free
0F09: bass_setvolume 1@
0F0A: 1@ = bass_getvolume
0F0B: bass_channel_setattribute stream 1@ attrib 2@ value 3@
0F0C: 3@ = bass_channel_getattribute stream 1@ attrib 2@

Если есть какие-то предложения по добавлению каких-то ещё опкодов по данной тематике, можете отписаться в этой теме. Реализую, если смогу.
 

Вложения

  • bassOpcodes.sf
    90.5 KB · Просмотры: 55
Последнее редактирование:

itsLegend

Фонд борьбы за жуков 🐞
Автор темы
Администратор
2,696
1,468
Мини-пример:
CLEO:
{$CLEO}
{$INCLUDE SF}

0001: wait 0 ms
0662: "by legend2360"
0662: "BlastHack - cheating is art"

while not SAMP.Available()
    wait 400
end

0F02: 0@ = bass_streamcreateurl url "online.radiorecord.ru:8102/brks_128" offset 0 flags 0 include_http true
if 0@ <> 0
then
    0F0B: bass_channel_setattribute stream 0@ attribute 2 value 0.5
    0F03: bass_channelplay stream 0@ restart false
end

0BDE: pause_thread 0
Рекомендуется после инициализации структур сампа, как и выше в примере.
 
  • Нравится
Реакции: TheClaudePlay

itsLegend

Фонд борьбы за жуков 🐞
Автор темы
Администратор
2,696
1,468
Так можно будет что-то типа плеера на клео сделать. Ну норм так :boss:
Его можно было сделать, но без интернет-ссылок.

Можно по проще обЪяснить?
Проще некуда. Не буду плевать в лицо почти пережеванным тем, кто даже не может установить SASCM.ini SAMPFUNCS'а.
 

itsLegend

Фонд борьбы за жуков 🐞
Автор темы
Администратор
2,696
1,468
CLEO:
0F02: 5@ = bass_streamcreateurl url "online.radiorecord.ru:8101/rr_128" offset 2@ flags 3@ include_http 4@
0F03: bass_channelplay stream 5@ restart 2@
Сделал вот так, но не воспроизводит, почему?
Чёт мда, а пример я для кого выложил?
 
  • Нравится
Реакции: hnnssy

eiuhuth

Новичок
91
43
Заменить:
0F0B=3, %3f% bass_channel_getattribute stream %1d% attrib %2d%
На:
0F0C=3, %3f% bass_channel_getattribute stream %1d% attrib %2d%
 
  • Нравится
Реакции: itsLegend
Статус
В этой теме нельзя размещать новые ответы.

Похожие темы

  1. У
    • Решено
    Ответы
    1
    Просмотры
    2K
  2. Ответы
    1
    Просмотры
    1K