BASS Audio Source

Автор V0lt, 21 мая 2022, 16:29:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

V0lt

Исходный код | Source
История изменений | History
Релиз 0.2.2
Тестовые сборки | Test builds

Фильтр источник для аудиофайлов использующий библиотеку BASS и плагины к ней. Умеет воспроизводить трекерную музыку и чиптюны.
Работает с радио Shoutcast и Icecast.
Открывает файлы только с поддерживаемыми расширениями, но при этом не меняет регистрацию файловых расширений в DirectShow.
Регистрируется с низкий приоритетом, и тем самым не нарушает работу других плееров на популярных форматах. Кому необходимо, могут изменить приоритет в плеере или системе.
Есть поддержка 64-бит.

Минимальные системные требования:
Windows 7 и новее (возможно заработает на Windows Vista).

V0lt

#1

V0lt


V0lt

BASS Audio Source 0.1.3
Добавлено обновление тегов при прослушивании радиопередач в формате Ogg (Vorbis, FLAC, Opus).
Добавлена возможность получать картинки из тега ID3v2 через интерфейс IDSMResourceBag.
Исправлено чтение комментариев из тега ID3v2.
Различные исправления для работы с тегами ID3v2.
Обновлены bass.dll, bassflac.dll, bass_aac.dll.

V0lt

#4
Обнаружил странный баг, связанный с регистрацией в системе.

Сейчас регистрация такая
[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.

V0lt

BASS Audio Source 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 не рекомендуется использовать.

V0lt

BASS Audio Source 0.2.2
Добавлено окно "Information".
Ускорено открытие сетевых потоков известного размера (файлы по HTTP).
Удалена опция "PreBufferMS".
Updated BASS components:
  bassopus.dll 2.4.2.4;
  bassflac.dll 2.4.5.4.