AIMP Forum
AIMP for PC => Плагины / Plugins => Дополнения / Addons => Визуализации / Visualizations => Topic started by: kex on July 16, 2026, 16:03:20
-
[catalog_card=1393]
Github link: https://github.com/Izumoff/AuraBars
(https://aimp.ru/forum/index.php?action=dlattach;topic=77997.0;attach=78372)
(https://aimp.ru/forum/index.php?action=dlattach;topic=77997.0;attach=78371)
(https://aimp.ru/forum/index.php?action=dlattach;topic=77997.0;attach=78375)
(https://aimp.ru/forum/index.php?action=dlattach;topic=77997.0;attach=78370)
-
Пожалуйста, сделайте и 32-битную версию плагина. 32-битная до сих пор пользуется большим спросом
-
собрал. в приложении новый архив, в нем:
/x86/AuraBars.dll 32х битная версия
/x64/AuraBars.dll 64х битная
дальше буду писать так, чтобы собирались оба варианта
-
Спасибо.
Обратите ещё внимание на документ AIMP Addon Package в составе SDK. Так плагин будет заметно удобнее ставить.
-
Обратил 8). теперь все обновления будут в виде AuraBars.aimppack
-
👍
-
увлекшись багфиксингом сделал весрию 1.1.0057
## Features
- LED (segmented) / Smooth bar rendering
- Solid / gradient bar color
- Flat / gradient background
- Grid lines: on/off, spacing, opacity, style (Dashed/Solid)
- Peak markers (fall speed, thickness/segment height)
- Linear / logarithmic (dB) amplitude scaling, configurable floor/ceiling, logarithmic bin-to-bar grouping
- Auto-gain ceiling override
- Mono (combined) or Stereo (side-by-side L/R) channel mode, with independent channel gap
- Configurable bar count, spacing, segment gap/height
- Left/Right/Top margin
- Tabbed settings dialog: System, Scaling, Bars, Peaks, Background, Layout
- Settings persisted via `IAIMPServiceConfig`
- Double-buffered GDI rendering
- Debug logging (once/sec: raw magnitude + dB for bar1/mid/last bar → `%TEMP%\AuraBars_debug.log`)
## Build
MSVC (x86 + x64), `vcvarsall.bat` environment required per architecture. `build.bat` → `build/x86/AuraBars.dll` and `build/x64/AuraBars.dll`. `package.bat` assembles both into `AuraBars.aimppack`, along with `AuraBars.txt` (name/version/author/topic/description metadata, version auto-stamped per build) and the hand-maintained `ReadMe.txt`.
-
...
- Double-buffered GDI rendering
...
К сожалению, плавности это не добавило, мелькания спектрума довольно быстро утомляют. Пики, практически, всё время висят вверху окна. Тут надо что-то делать с динамикой.
Реального пикового значения (постоянная времени для него порядка 5 мс) получить из плагина не возможно, поскольку плеер обращается к плагину с периодом 30 мс, но вот со временем обратного хода (спада) сделать кое-что можно, за счёт усреднения получаемых значений за несколько (3-5) обращений к плагину.
На видео (https://disk.yandex.ru/i/7yGw7uyLDTSh9Q) для сравнения справа от окна визуализации комбинированный измеритель среднего и квазипикового уровня. Обратите внимание на плавность его работы.
-
согласен. за видео - большое спасибо ибо мои музыкальные предпочтения не позволяют увидеть такую картину 8) у себя я получаю плавность меняя Settings -> Peaks -> Peak fall speed. возьму в работу, как минимум разобраться.
-
v2.2.2007
Что добавил:
Bar smoothing — сглаживание баров, отдельно Attack и Decay (быстро вверх, медленно вниз). Как раз то, о чём писали — вместо резких скачков теперь усреднение, мельтешить стало намного меньше. Настройки в Scaling.
Background bars/LEDs — фоновые «незажжённые» LED на всю высоту, цвет отдельный от основного бара (можно Solid или Gradient, как угодно комбинировать). В Bars.
Peak marker smooth motion для LED — при включении пик больше не прыгает по сегментам, а плавно едет по пикселям, как в Smooth-режиме. Толщина настраивается через Peak marker thickness, можно выставить хоть тонкую линию, хоть в размер сегмента.
Изменения в интерфейсе настроек:
В Scaling добавлены поля Bar smoothing, Attack, Decay.
В Bars добавлен блок Background bars/LEDs с отдельными полями цвета/градиента.
В Peaks добавлен чекбокс Peak marker smooth motion — при включении в LED-режиме вместо Peak marker height (segments) показывается Peak marker thickness (поля переключаются автоматически в зависимости от режима, лишнего мусора на экране нет).
Багфиксы:
Маркер пика больше не прячется под верхней границей окна на максимуме.
Исправлен баг, когда сам бар мог отрисоваться выше маркера пика.
-
Поигрался с разными настройками, решил проверить на скине со встроенным окном визуализации, чтобы сравнить с родным спектрумом AIMP.
На каких треках Вы тестируете? Специально выбрал трек потише, поспокойнее, картина такая - видео (https://disk.yandex.ru/i/ripUd3jPnpEznQ).
-
Bring Me to Life (Synthesis)
FLAC, 96kHz, 3044 kbps
-
A quick one.
-
1. по умолчанию с AIMP приехали три темы Charm v1.45 и Bliss 4K v2.47 от Artem Izmaylov. и Pandemic v1.95 от Kr1eger (Stanislav Gurin)
я отлаживался на Charm и Bliss. и тут графическая часть работает хорошо (мне нравиться) а с масштабированием (математикой) пока дела не очень - над этим работаю.
2. тема Pandemic в ней я вижу спектр-визуализацию, которая может быть использована в качестве эталона для исправления моего масштабирования. для работ в Pandemic мне необходимо создать набор персетов чтобы был например дропбокс с выбором вариантов настроек, один из вариантов должен будет подходить под Pandemic и другие скины такого рода (я называю их WinAMP подобные).
3. для тестирования делаю функцию копировать настройки в клипборд, чтобы можно было постить настройки в которых обнаружилась проблема
Итого: Работы ведуться, ждите.
-
Обновление: версия 2.6.1552
По пунктам из прошлого сообщения — всё три закрыто.
1. Масштабирование. Причина нашлась, и оказалась не там, где я её искал. Массив Spectrum[0..255], который AIMP отдаёт плагину, уже частотно-нелинейный: бин 0 ≈ 20 Гц, бин 10 ≈ 200 Гц, бин 255 ≈ 20 кГц. Таблица соответствия есть только в Delphi-заголовке SDK (apiVisuals.pas, строки 54–81) — в C++ заголовке этого комментария нет вообще, поэтому я о ней и не подозревал.
А я поверх этого накладывал ещё и логарифмическую группировку по индексу бина. Два искажения складывались. Нижние полосы делили между собой меньше одного бина и дублировали друг друга, верхняя полоса усредняла порядка 60 почти пустых бинов на целую октаву. Отсюда и ровная убывающая «лесенка» с мёртвым правым краем — независимо от того, что играло.
Теперь границы полос расставляются по частотам, а не по индексам, через ту самую таблицу из SDK. Заодно появились настройки: минимальная и максимальная частота, режим агрегации бинов (Peak / Average / Sum) и спектральный наклон в дБ/октаву — он компенсирует естественный завал реальной музыки в верхах, из-за которого правая половина выглядела мёртвой даже когда там что-то было.
Честное ограничение: ниже 160 Гц AIMP отдаёт всего 9 бинов на три октавы. Никакая группировка не вытащит детализацию, которой нет во входных данных, так что соседние нижние полосы иногда двигаются одинаково. Это предел источника, а не баг.
2. Пресеты. Пять штук: Pandemic (по умолчанию), Cygnus, AIMP, WinAmp, Science. Выбор на вкладке System.
3. Копирование настроек в буфер. Сделано, и обратная операция тоже — вставка. В слепок попадают все настройки плюс блок диагностики окружения: скин, размеры окна, DPI, версия AIMP. Так что если что-то выглядит неправильно — нажмите «Копировать» и запостите сюда, этого достаточно чтобы воспроизвести.
Что ещё появилось за это время:
- Маркеры пиков падают с ускорением, а не с постоянной скоростью, и с небольшой задержкой в верхней точке. Выглядит живее. Старое поведение осталось отдельным режимом.
- Вся анимация считается по реальному времени, а не по кадрам — раньше при просадке частоты кадров всё замедлялось вместе с ней.
- Вкладка About, рамки, разделитель между каналами в стерео, отступы со всех четырёх сторон.
Известная проблема: в стерео на 128 полосах в большом окне на 4K отрисовка проседает примерно до 7 fps. Дело в количестве прямоугольников на кадр, а не в размере окна — на том же разрешении с меньшим числом полос всё нормально.
-
...
Честное ограничение: ниже 160 Гц AIMP отдаёт всего 9 бинов на три октавы. Никакая группировка не вытащит детализацию, которой нет во входных данных, так что соседние нижние полосы иногда двигаются одинаково. Это предел источника, а не баг.
Да, к сожалению, желаемый спектрум с нормальной логарифмической шкалой из этого массива не сделать. На низких частотах разрешение очень маленькое, а в области умеренно высоких растянуто.
Могу предложить пару файлов, которые помогут протестировать плагин:
первый тест (https://www.aimp.ru/forum/index.php?action=dlattach;topic=52865.0;attach=46746) - набор уровней сигнала с частотой 1 кГц от -40 dB до 0 dB;
второй тест (https://disk.yandex.ru/d/xJUFllxiygD_Yg)- набор частот через пол-октавы от 20 Гц до 20 кГц с уровнем 0 dB (фрагменты по 5 сек).
Кстати, уровни в спектруме заметно меняются при смене формата вывода звука, при выборе частоты дискретизации 192 кГц они значительно выше, чем, к примеру, 44,1 кГц. Это не только в этом плагине, везде так.