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.3.1 (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.
Название: От: BASS Audio Source
Отправлено: Evgeniy1990 от 21 апреля 2024, 09:28:23
V0lt
В исходном коде отсутствует библиотека "bassmidi.lib", из-за чего, при построении, выскакивает ошибка:
09:22:02.207     2>LINK : fatal error LNK1104: не удается открыть файл "../Lib/x86/bassmidi.lib" [C:\BassAudioSource\Source\BassAudioSource.vcxproj]
Название: От: BASS Audio Source
Отправлено: V0lt от 21 апреля 2024, 14:26:21
Цитата: Evgeniy1990 от 21 апреля 2024, 09:28:23В исходном коде отсутствует библиотека "bassmidi.lib"...
Спасибо. Добавил.
Название: От: BASS Audio Source
Отправлено: V0lt от 06 августа 2024, 18:47:30
BASS Audio Source 0.3.1 (https://github.com/v0lt/BassAudioSource/releases/tag/0.3.1)
Добавлена поддержка воспроизведения файлов MIDI (.midi, .mid, .rmi, .kar). Пользователь должен выбрать файл SoundFont (.sf2, .sfz) в настройках фильтра. Файлы SoundFont должны находиться в папке BassAudioSource.
Удален параметр "BufferSizeMS".
Устранено падение при переходе к следующему URL.
Исправлено игнорирование видеофайлов MP4 и WMV.
Отключено использование Media Foundation для URL, поскольку навигация по файлам MP4 не работает.
Отключено использование Media Foundation для локальных файлов, чтобы предотвратить открытие нежелательных файлов.
Оптимизирована загрузка компонентов BASS, что привело к более быстрому анализу некоторых файлов.
Теперь используется 32-битная OptimFROG.dll с поддержкой SSE2.
Обновлены компоненты BASS:
  bassmidi.dll 2.4.14.1;
  baswv.dll 2.4.7.4;
  bassape.dll 2.4.0.1;
  bassflac.dll 2.4.5.5;
  bassalac.dll 2.4.1;
  bassopus.dll 2.4.3.