Сегодняшняя заметка будет посвящена графическим возможностям новой версии скин-движка.
Прошлые статьи по теме:
- AIMP4: Skin Engine
- AIMP4: Skin Engine – элементы управления. Часть 1
- AIMP4: Skin Engine – элементы управления. Часть 2
- AIMP4: Skin Engine – пользовательские локализации
“Мутное стекло”
По мотивам предложения с форума, я сделал специальный элемент управления – TASEBlurredGlass, который размывает фон под собой с заданной степенью:
Благодаря этому элементу можно будет делать вот такие замечательные вещи:
Обратите внимание, что размытие – весьма “тяжелый” эффект, старайтесь избегать его использования поверх динамического контента, что обновляется несколько раз за секунду, иначе это негативно скажется на производительности программы.
Шрифт
Полупрозрачность
Появилась возможность регулировать прозрачность цвета текста и его тени.
Тень
Расширились параметры тени для шрифта. Появилась возможность указать направление тени, ее размер, а так же степень размытия (!):
При отключении смещения тени (центральное положение регулятора) включает “режим обводки” текста.
Качество рендеринга
И последнее, небольшое косметическое изменение: возможность выбрать качество рендеринга шрифта – черновое, нормальное, нормальное с антиалиасингом, ClearType – или оставить “по умолчанию”. Помимо этого я добавил возможность запрета изменения оттенка конкретного шрифта пользователем.
Анимация
Адаптивная анимация
Вся анимация, что есть в скин-движке – теперь адаптивная. Если раньше во главу угла ставилось количество кадров, которые должен “проиграть” движок, то теперь во главу ставится время, за которое должно произойти анимированное изменение контента. Количество кадров анимации выбирается автоматически, в зависимости от возможностей вашего ПК: чем быстрее компьютер, тем больше кадров будет прорисовано и тем плавнее будет анимация. Здесь хочу сразу оговориться, что на текущий момент движок способен отрисовывать не более 60 кадров в секунду.
TASELayoutTabbedGroup
Многостраничная группа обзавелась опциональной поддержкой анимации при переключении страниц:
На текущий момент поддерживаются следующие эффекты:
- Sliding: справа налево
- Sliding: слева направо
- Sliding: снизу вверх
- Sliding: сверху вниз
- Fading
Чтобы анимация сработала, размеры окна не должны изменяться при переключении страниц
Самое вкусное только в пятой статье =)
Всё больше и больше возможностей =)
Но и ресурсов будет потреблять тоже больше =(
1. Будет ли замирать интерфейс плеера (спектрум и пр.) во время анимации переключения страниц многостраничной группы?
2. Интересно, что будет легче – классическая кнопка с “запечённым” в текстуру текстом или новая текстовая кнопка с тенью с размытием, равным единице?
Наверное, первое легче для проца (или видеокарты), но занимает больше оперативной памяти, чем второе, а второе – наоборот?
3. Интересно, будет ли AIMP v4 поддерживать Windows XP? Наверняка хочется отказаться от неё?
Ведь будет уже 2016 год. Да и на XP совсем слабые компы остались в основном.
1. Если они находятся непосредственно переключаемых страницах – да, если вне – нет.
2. Естественно первое. Чем меньше слоев и эффектов будет накладываться налету – тем лучше.
3. Пока под вопросом
Артём, скажите, пожалуйста, основным языком, на котором написана программа, всё ещё является Delphi? Какую версию Вы используете? Было ли желание перекатиться на другую IDE/язык?
Да. Использую XE7. Желания куда-то мигрировать совершенно нет
Не терпится испытать новые возможности движка!
Интересно, сложно ли реализовать автоподстройку цветных оттенков скина под доминирующий цвет обложки альбома? Наверняка будет выглядеть восхитительно
не очень просто
Плагин можно если бы его кто-нибудь допилил бы http://www.aimp.ru/forum/index.php?topic=39231.msg263624#msg263624