Софт [SF PLUGIN] BASS Opcodes

Тема в разделе "CLEO", создана пользователем legend2360, 28 авг 2015.

Статус темы:
Закрыта.
  1. legend2360

    legend2360   ¯\_(°□°)_/¯
    Всефорумный модератор

    Регистрация:
    23.03.13
    Сообщения:
    2.347
    Лайки:
    832
    Репутация:
    471
    Прив всем.
    Т.к. стандартные возможности 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 КБ
      Просмотров:
      28
    Последние данные очков репутации:
    MISTER_GONWIK: 3 Очки 28 авг 2015
    FYP: 3 Очки (респектуха) 28 авг 2015
    iTz_XG4M3R: 3 Очки (Поюзал, збс)) 28 авг 2015
    #1
    Последнее редактирование: 1 мар 2017
    Trofim, FYP, Romelo и 4 другим нравится это.
  2. legend2360

    legend2360   ¯\_(°□°)_/¯
    Всефорумный модератор

    Регистрация:
    23.03.13
    Сообщения:
    2.347
    Лайки:
    832
    Репутация:
    471
    Мини-пример:
    
    {$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
    
    Рекомендуется после инициализации структур сампа, как и выше в примере.
     
    #2
  3. Quned

    Проверенный

    Регистрация:
    12.01.14
    Сообщения:
    265
    Лайки:
    57
    Репутация:
    36
    Так можно будет что-то типа плеера на клео сделать. Ну норм так :boss:
     
    #3
  4. Dark_Knight

    Dark_Knight РКН Тян на страже твоей анальной девственности.
    Друг

    Регистрация:
    18.03.13
    Сообщения:
    2.384
    Лайки:
    680
    Репутация:
    203
    Можно и без него плеер на клео замутить.
    Проще некуда.
     
    #4
  5. legend2360

    legend2360   ¯\_(°□°)_/¯
    Всефорумный модератор

    Регистрация:
    23.03.13
    Сообщения:
    2.347
    Лайки:
    832
    Репутация:
    471
    Его можно было сделать, но без интернет-ссылок.

    Проще некуда. Не буду плевать в лицо почти пережеванным тем, кто даже не может установить SASCM.ini SAMPFUNCS'а.
     
    #5
  6. legend2360

    legend2360   ¯\_(°□°)_/¯
    Всефорумный модератор

    Регистрация:
    23.03.13
    Сообщения:
    2.347
    Лайки:
    832
    Репутация:
    471
    Чёт мда, а пример я для кого выложил?
     
    #6
    hnnssy и Quned нравится это.
  7. RyanKing

    RyanKing Активный пользователь

    Регистрация:
    31.12.15
    Сообщения:
    33
    Лайки:
    17
    Репутация:
    3
    Заменить:
    0F0B=3, %3f% bass_channel_getattribute stream %1d% attrib %2d%
    На:
    0F0C=3, %3f% bass_channel_getattribute stream %1d% attrib %2d%
     
    #7
    legend2360 нравится это.
Статус темы:
Закрыта.