MPC-BE forum

MPC-BE => Внешние фильтры / External filters => Тема начата: V0lt от 21 мая 2022, 16:29:05

Название: BASS Audio Source
Отправлено: V0lt от 21 мая 2022, 16:29:05
Исходный код | Source (https://github.com/v0lt/BassAudioSource)
История изменений | History (https://github.com/v0lt/BassAudioSource/commits/main)
Релиз 0.2.2 (https://github.com/v0lt/BassAudioSource/releases)
Тестовые сборки | Test builds (https://disk.yandex.ru/d/rCXRJdjWvaaQwQ)

Фильтр источник для аудиофайлов использующий библиотеку BASS (http://www.un4seen.com/bass.html) и плагины к ней. Умеет воспроизводить трекерную музыку и чиптюны.
Работает с радио Shoutcast и Icecast.
Открывает файлы только с поддерживаемыми расширениями (https://github.com/v0lt/BassAudioSource/blob/c02aa50ae507a6710b815ffb633777bc2881d0d0/Source/BassSource.cpp#L252), но при этом не меняет регистрацию файловых расширений в DirectShow.
Регистрируется с низкий приоритетом, и тем самым не нарушает работу других плееров на популярных форматах. Кому необходимо, могут изменить приоритет в плеере или системе.
Есть поддержка 64-бит.

Минимальные системные требования:
Windows 7 и новее (возможно заработает на Windows Vista).
Название: От: BASS Audio Source
Отправлено: V0lt от 22 мая 2022, 10:52:32
Устаревшие аналоги:
DC-Bass Source filter v1.30 (http://www.dsp-worx.de/index.php?n=15)
DC-Bass Source Filter C++ porting v1.30.53 (https://github.com/frafv/DCBassSource/releases)
DC-Bass Source Mod 1.5.2.1 (https://rwijnsma.home.xs4all.nl/dc-bsm/index.htm)
Название: От: BASS Audio Source
Отправлено: V0lt от 22 июня 2022, 06:45:27
BASS Audio Source 0.1.1 (https://github.com/v0lt/BassAudioSource/releases/tag/0.1.1)
Название: От: BASS Audio Source
Отправлено: V0lt от 28 октября 2022, 18:23:39
BASS Audio Source 0.1.3 (https://github.com/v0lt/BassAudioSource/releases/tag/0.1.3)
Добавлено обновление тегов при прослушивании радиопередач в формате Ogg (Vorbis, FLAC, Opus).
Добавлена возможность получать картинки из тега ID3v2 через интерфейс IDSMResourceBag.
Исправлено чтение комментариев из тега ID3v2.
Различные исправления для работы с тегами ID3v2.
Обновлены bass.dll, bassflac.dll, bass_aac.dll.
Название: От: BASS Audio Source
Отправлено: V0lt от 10 мая 2023, 06:44:25
Обнаружил странный баг, связанный с регистрацией в системе.

Сейчас регистрация такая
[HKEY_CLASSES_ROOT\Media Type\{E436EB83-524F-11CE-9F53-0020AF0BA770}\{A351970E-4601-4BEC-93DE-CEE7AF64C636}]
"Source Filter"="{A351970E-4601-4BEC-93DE-CEE7AF64C636}"
"1"="0,1,00,00"
Здесь пустая сигнатура, что позволяет подключаться BASS Audio Source к любому файлу. Боятся этого не стоит, т.к. фильтр будет читать файл только после внутренней проверки расширения.

Это работает в MPC-BE и MPC-HC и вроде ничему не мешает. На файлах, которые не поддерживаются, метод BassSource::Load method возвращает VFW_E_CANNOT_LOAD_SOURCE_FILTER.

Но есть проблема с GraphStudioNext (и возможно с другим софтом).
Запускаем GraphStudioNext, закидываем в него файл AVI. В графе появиться "File Source (Async.)", к которому подсоединиться "AVI Splitter" (системный или другой) и далее другие необходимые фильтры. Граф работает - все хорошо.
Но если зарегистрировать BASS Audio Source, то при тех же действиях в графе будет единственный ни с чем несоединенный фильтр "File Source (Async.)". Т.е. построение графа поломалось. И причина мне непонятна.

Понижение мерита BASS Audio Source с MERIT_UNLIKELY до MERIT_DO_NOT_USE не помогает.

Помогает изменение GUID раздела в реестре на более крупный номер (например, чтобы в начале было "F3..." или больше), что влечет перемещение его в конец "списка".

В общем получается такая вот ерунда. Может кто-нибудь сможет объяснить, почему так происходит.


Добавлено:
Проблема решена в commit 853b1e8 (https://github.com/v0lt/BassAudioSource/commit/853b1e88b1480c6390da2359e05c454d26b417f0).
Название: От: BASS Audio Source
Отправлено: V0lt от 11 мая 2023, 06:42:10
BASS Audio Source 0.2.0 (https://github.com/v0lt/BassAudioSource/releases/tag/0.2.0)
Добавлено чтение тега изображения FLAC для локальных файлов.
Добавлена возможность читать обложки из Ogg Vorbis и других форматов.
Обновленные компоненты BASS:
  bassdsd.dll 2.4.1.3;
  basswv.dll 2.4.7.3;
  bassflac.dll 2.4.5.2;
  bassopus.dll 2.4.2.3.
Изменено имя ключа реестра, чтобы обойти проблему подключения фильтра "File Source (Async.)" при открытии файлов AVI в GraphStudioNext.
Версии 0.1.x.x не рекомендуется использовать.
Название: От: BASS Audio Source
Отправлено: V0lt от 17 декабря 2023, 09:08:59
BASS Audio Source 0.2.2 (https://github.com/v0lt/BassAudioSource/releases/tag/0.2.2)
Добавлено окно "Information".
Ускорено открытие сетевых потоков известного размера (файлы по HTTP).
Удалена опция "PreBufferMS".
Updated BASS components:
  bassopus.dll 2.4.2.4;
  bassflac.dll 2.4.5.4.