AIMP4: Skin Engine — графика

Сегодняшняя заметка будет посвящена графическим возможностям новой версии скин-движка.

Прошлые статьи по теме:

  1. AIMP4: Skin Engine
  2. AIMP4: Skin Engine — элементы управления. Часть 1
  3. AIMP4: Skin Engine — элементы управления. Часть 2
  4. AIMP4: Skin Engine — пользовательские локализации

«Мутное стекло»

По мотивам предложения с форума, я сделал специальный элемент управления — TASEBlurredGlass, который размывает фон под собой с заданной степенью:

bluring

Благодаря этому элементу можно будет делать вот такие замечательные вещи:

1

Обратите внимание, что размытие — весьма «тяжелый» эффект, старайтесь избегать его использования поверх динамического контента, что обновляется несколько раз за секунду, иначе это негативно скажется на производительности программы.

Шрифт

Полупрозрачность

Появилась возможность регулировать прозрачность цвета текста и его тени.

Тень

Расширились параметры тени для шрифта. Появилась возможность указать направление тени, ее размер, а так же степень размытия (!):

font shadow

При отключении смещения тени (центральное положение регулятора) включает «режим обводки» текста.

Качество рендеринга

И последнее, небольшое косметическое изменение: возможность выбрать качество рендеринга шрифта — черновое, нормальное, нормальное с антиалиасингом, ClearType — или оставить «по умолчанию». Помимо этого я добавил возможность запрета изменения оттенка конкретного шрифта пользователем.

font editor

Анимация

Адаптивная анимация

Вся анимация, что есть в скин-движке — теперь адаптивная. Если раньше во главу угла ставилось количество кадров, которые должен «проиграть» движок, то теперь во главу ставится время, за которое должно произойти анимированное изменение контента. Количество кадров анимации выбирается автоматически, в зависимости от возможностей вашего ПК: чем быстрее компьютер, тем больше кадров будет прорисовано и тем плавнее будет анимация. Здесь хочу сразу оговориться, что на текущий момент движок способен отрисовывать не более 60 кадров в секунду.

TASELayoutTabbedGroup

Многостраничная группа обзавелась опциональной поддержкой анимации при переключении страниц:

sliding animation

На текущий момент поддерживаются следующие эффекты:

  • Sliding: справа налево
  • Sliding: слева направо
  • Sliding: снизу вверх
  • Sliding: сверху вниз
  • Fading

Чтобы анимация сработала, размеры окна не должны изменяться при переключении страниц

AIMP4: Skin Engine — графика: 9 комментариев

  1. Zhenya

    Всё больше и больше возможностей =)
    Но и ресурсов будет потреблять тоже больше =(

    1. Будет ли замирать интерфейс плеера (спектрум и пр.) во время анимации переключения страниц многостраничной группы?

    2. Интересно, что будет легче — классическая кнопка с «запечённым» в текстуру текстом или новая текстовая кнопка с тенью с размытием, равным единице?
    Наверное, первое легче для проца (или видеокарты), но занимает больше оперативной памяти, чем второе, а второе — наоборот?

    3. Интересно, будет ли AIMP v4 поддерживать Windows XP? Наверняка хочется отказаться от неё?
    Ведь будет уже 2016 год. Да и на XP совсем слабые компы остались в основном.

    1. Artem Автор записи

      1. Если они находятся непосредственно переключаемых страницах — да, если вне — нет.
      2. Естественно первое. Чем меньше слоев и эффектов будет накладываться налету — тем лучше.
      3. Пока под вопросом

  2. xPhoenix

    Артём, скажите, пожалуйста, основным языком, на котором написана программа, всё ещё является Delphi? Какую версию Вы используете? Было ли желание перекатиться на другую IDE/язык?

  3. AAOOOMM

    Интересно, сложно ли реализовать автоподстройку цветных оттенков скина под доминирующий цвет обложки альбома? Наверняка будет выглядеть восхитительно

Добавить комментарий