Исходный код | 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).
Устаревшие аналоги:
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 0.1.1 (https://github.com/v0lt/BassAudioSource/releases/tag/0.1.1)
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.
Обнаружил странный баг, связанный с регистрацией в системе.
Сейчас регистрация такая
[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 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 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.
V0lt
В исходном коде отсутствует библиотека "bassmidi.lib", из-за чего, при построении, выскакивает ошибка:
09:22:02.207 2>LINK : fatal error LNK1104: не удается открыть файл "../Lib/x86/bassmidi.lib" [C:\BassAudioSource\Source\BassAudioSource.vcxproj]
Цитата: Evgeniy1990 от 21 апреля 2024, 09:28:23В исходном коде отсутствует библиотека "bassmidi.lib"...
Спасибо. Добавил.
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.