Осталось только с анимацией стрелки решить. Не слишком ли это плохо для оптимизации - отрисовывать 100 кадров анимации?Если работаете в ФШ и в векторе, то рисовать 100 кадров не надо, для этого есть скрипт (https://www.aimp.ru/forum/index.php?topic=30668.msg328529#msg328529), сделает всё за считанные секунды.
...Хмм тогда наверное придется подстроить дисплей под стандартную визуализацию. :-\Спорный вариант: собственноручно нарисованный и откалиброванный даёт больше вариаций...
Этот плагин уже идёт в комплекте с плеером, по умолчанию - как бы устанавливается в его базовую версию с некоторыми другими плагинами, со своими базовыми скинами. Это плагин визуализации: если его удалить, то и визуализации на его основе, соответственно тоже не будет. А собственноручно сделанная анимация как раз внедряется непосредственно в обложку, правда и воспроизводится как анимация - так сказать, на общих правилах всей анимации для обложки и надо постараться учесть все моменты, чтобы вывести качество такой анимации до уровня плагина визуализации, по сути отдельной мини-программы специально только для этого написанной. Оттого Black_AVP и написал про 100 кадров стрелки (+/-), чтобы присутствовала визуальная плавность её хода чисто "техническая", потом ещё настраивать "чувствительность" анимации и т.д. чтобы она стала "фактической" и соответствовала, "успевала" без рывков/провалов или отставаний за музыкой...
Мне лично нравится шустрость, плавность, чёткость работы плагина aimp_analogMeter "из-коробки" и так как (как и у Вас, кстати) у меня та часть обложки, где показывается визуализация аналогметра, не масштабируется - значит скин этого плагина всегда будет выглядеть одинаково, потому я перерисовал его под стиль обложки плеера, какой мне нужен был.
Но если делать визуализацию аналогметра с учётом того, что этот плагин может быть удалён из установки конечным пользователем плеера, то - да, делайте на анимации.
"Плавно" - не значит правильно. Измерители уровня бывают разных типов: среднего уровня, квазипиковые... Время прямого и обратного хода у них отличаются значительно.А вы можете написать название обложек, в которых аналоговые стрелочные индикаторы на TASEGauge реализованы лучше всего? Чтобы я мог использовать их в качестве эталона.
Маленькая справка (https://ru.wikipedia.org/wiki/%D0%98%D0%B7%D0%BC%D0%B5%D1%80%D0%B8%D1%82%D0%B5%D0%BB%D1%8C_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F_%D0%B7%D0%B2%D1%83%D0%BA%D0%B0).
С помощью ReactionSpeedUp/Down вполне можно добиться приемлимого поведения индикатора (кстати, там допустимы и дробные значения), сложнее откалибровать его по всей шкале, чтоб не только 0 dB совпадал. А плагина у пользователя может вовсе и не быть или он отключён, при этом надо позаботиться, чтоб в скине не осталось"чёрной" дыры на этом месте.
А как по скинам можно сравнить поведение индикаторов?Наверное к счастью, моя обложка не привязана к какому либо аппарату, по этому можно выбирать на свой вкус. Хотя в самом начале я вдохновлялся индикаторами на технике Mcintosh https://www.youtube.com/watch?v=SkCTjbqa9vY (https://www.youtube.com/watch?v=SkCTjbqa9vY), тоже хочется видеть нечто подобное - плавное и размеренное.
Куда полезней для вас будет следующая информация (по своим скинам, ес-но):
ReactionSpeedLevelDown = 0.7 .. 2.0;
ReactionSpeedLevelUp = 5 .. 15.
(В зависимости от конкретной модели аппарата).
Это для стрелочных индикаторов, для дискретных значения будут другими.
А для того, чтобы показания индикаторов худо-бедно соответствовали реальному уровню, приходится в связях использовать логарифмирующие выражения (https://www.aimp.ru/forum/index.php?topic=27831.msg330823#msg330823).
... в самом начале я вдохновлялся индикаторами на технике Mcintosh https://www.youtube.com/watch?v=SkCTjbqa9vY (https://www.youtube.com/watch?v=SkCTjbqa9vY), тоже хочется видеть нечто подобное - плавное и размеренное.В той модели оконечника два индикатора в одном: среднего уровня, тот, что более подвижный, и пиковый. У последнего время обратного хода весьма большое, отсюда и кажущаяся плавность, его поведения даже напоминает Peak Hold.
Артём уже не раз отвечал на подобные вопросы: скрытые элементы просчитываются (это нужно для синхронизации), но не отрисовываются и тормозов сколь-либо заметных не вызывают.По правде уже начал сравнивать, есть в наличии очень древний ноутбук, если все будет быстро работать на нем, то и на любом другом железе будет работать без тормозов. Еще раз спасибо за ответы!
Скрипты используются в тех случаях, когда нужно изменить какое-либо свойство элемента, а точки доступа к нему через биндинг нет.
В простых скинах вопросами о производительности можно и не заморачиваться, когда скин будет готов можно сравнить нагрузку процессора с ним и с дефолтным, к примеру, скином.
Ну, а если всерьёз заниматься оптимизацией, несложно же сделать несколько тестовых проектов с разными решениями и сравнить результаты.
Как сделать такой ползунок?TASESliderHorizontal или TASESLiderMasked, подключенный к счётчику с модулем 3.
@Lng:1;: %Title
@Lng:2;: %R
@Lng:3;: %A
@Lng:4;: %Y
@Lng:5;: %FileFormat
Можно. Добавь атрибут и значение в один TaseTextDisplay. В пункте Template пропиши такие команды:Но в таком случае строка будет иметь один стиль. Сделаю по другому, раз уж некоторые текстуры все равно нужно будет перевести, то переведу и эти несколько строчек с помощью скрипта.
(https://i1.imageban.ru/thumbs/2021.01.02/1eef5390d7b359855eb8c9781bc77148.png) (https://imageban.ru/show/2021/01/02/1eef5390d7b359855eb8c9781bc77148/png)
@Lng:1;: [В]%Title[/В]
@Lng:2;: [В]%R[/В]
@Lng:3;: [В]%A[/В]
@Lng:4;: [В]%Y[/В]
@Lng:5;: [В]%FileFormat[/В]
Только не делай копипаст этого текста, тут я английскую букву B заменил на русскую
Получилось сделать стиль. Вместо TaseTextDisplay создаётся TaseTextDisplayEX. В пункте Template прописываются команды:Воу!!! Вот это уже круто, осталось только понять можно ли как ни будь командами подключить шрифты из репозитория ресурсов. А то у меня уже 5 различных расцветок шрифтов. И в некоторых вариантах цвет текста атрибута сильно отличаются от цвета текста значения.
(https://i3.imageban.ru/thumbs/2021.01.02/db6988b70b9cf7cda2912f9392e42730.png) (https://imageban.ru/show/2021/01/02/db6988b70b9cf7cda2912f9392e42730/png)
Попробуй зайти в настройки шрифта и в пункте "Наследуется от" выбрать шрифт из репозитория ресурсов.
(https://i3.imageban.ru/thumbs/2021.01.02/1a116577f0494e814810333d4427d8c9.png) (https://imageban.ru/show/2021/01/02/1a116577f0494e814810333d4427d8c9/png)
Взято из справки.
Рисование текста указанным в формате #RRGGBB цветом - [СOLOR=#00FF00]Текст[/COLOR]
@Lng:24;: [СOLOR=#00FF00][В]%FileFormat[/В][/COLOR]
Не копируй команду, здесь я английскую букву C заменил на русскую.
TitleS := BindingsGetDataAsText('NewStringOperatorConcatenator', 'Result');
А по поводу переменной, для тех кто будет искать - как получить данные из Fileinfo. Нужно из prvPlayingFileinfo отправить необходимые данные в провайдер StringOperatorConcatenator, а затем из провайдера считать в скрипте (код ниже).Так можно и с меткой сделать, а если уж она мешает, можно скрыть её, а можно и напрямую из prvPlayingFileinfo, без костылей и уже отформатированной получить нужную строку:
Очень радует всегда, когда автор заморачивается над какими-то фишками, даже если они "под себя" ;) .Про фишки не знаю, скин не скачивал, но, да - каждому своё.
...надо обязательно повесить функцию "Искать информацию об исполнителе и композиции в Интернете". Очень полезная штука оказалась.Это будет в АИМП5 в дефолтном скине.
Hi-End появился так. Поскольку я делал эту обложку для Винампа и понимая, что она будет в стиле хай фай аппаратуры добавил суффикс Hi-Fi. Но подумав, что ни кто этим делом не занимается и возможно моя обложка последняя - я изменил Hi-Fi на Hi-End. Тогда это казалось символично. :)
Вы просили критики - она есть у меня. Я лишь высказал своё мнение, которое никого ни к чему не обязывает.
Никакого холивара по поводу Hi-End здесь и не было, или посчитаем количество букоФ в ваших и моих сообщениях, касаемых Hi-End.
Аудиофилов на форуме тоже нет, если иногда и заходят сюда заблудшие души, то уж не в темы скинов. Но для любого человека мало-мальски разбирающегося в аудиоаппаратуре и звуке, Hi-End означает "конечное" качество звука, отсюда и слово End.
Даже если в Яндексе набрать "Hi-End", то по первой же ссылке в Википедии можно прочитать, что такое Hi-End и все остальные ссылки и картинки ведут именно на аппаратуру.
Биться по поводу Hi-End я с вами не собираюсь, всё равно каждый останется при своём мнении.
... Дайте возможность настройки пользователю.Вот этого не стОит делать - пользователь вообще может ничего не знать по такие вещи.
Огромное всем спасибо!!! :o
7. Перестеклил окна :) , теперь лучи света на стеклах падают под одним углом.
На счет большой текстуры стекла, мне идея очень навиться! Но я не знаю таких функций в редакторе, ??? чтобы можно было наложить одну текстуру только на определенные элементы. Еще нужно учесть что окна растягиваются, а элементы отключаются. Конечно хочется чтобы была возможность создать эффект бликов, на движке. Как пример могу вспомнить плагин Izotopе Ozone в котором блики работают до сих пор и смещаются в зависимости от положения окна.
Это будет в АИМП5 в дефолтном скине.Это просто отлично!
2. По фонотеке. Я пока оставил вариант как был в начале от Bliss Lite, сейчас не хватает времени, ну и замел, что навороченные окна фонотеки сильно тормозят (по крайней мере у меня), ввиду этого я даже думаю максимально упростить фонотеку. Короче нужно разбираться.Это да, если сильно приукрасить, то смена ширины полей будет заметно тормозить. Я в самом начале как-то умудрился обойти это - не везде вставлять нужные текстуры, потом таки поставил текстуры, стало тормозить... потом вынужден был забросить обложку на продолжительное время, сделав себе пометку откатить обратно, а как вернулся к работе над своим скином - ??? что бы я не делал, не мог уже вспомнить КАК было до того, когда и куда я добавил те текстуры.
...А кнопка со стрелкой мне где-то попадалась на глаза, но я забыл и теперь не знаю где ее поменять.
По сути на этом процесс планирования закончился :), а дальше все по ходу дела, идеи приходили быстро а вот искать способы их реализации, приходилось порой по нескольку дней. Напомню, что начал создавать обложку для Винампа, а там нет редактора, только XML таблицы и скрипты - по которым нет документации.Точно как у меня :) , начал с Винампа, а сейчас свою собственную обложку до сих пор делаю и постоянно мелочи перепридумываю, ища варианты как это сделать.
Это просто отлично!Можно глянуть в блоге (https://www.aimp.ru/blogs/?p=1000), как это выглядит.
;D Мне даже кнопку не придётся перерисовывать (там символ типа [І]).
Можно глянуть в блоге (https://www.aimp.ru/blogs/?p=1000), как это выглядит.Угу, уже посмотрел.
1. А оно и будет так. Дайте возможность настройки пользователю.Не вариант, я конечно не претендую на точную достоверность, но все таки стараюсь чтобы поведение визуализации походило на оригинал. Да и моделей будет несколько, некоторые со своими особенностями.
Пики должны реагировать максимально быстро, а спадать медленно: Up = 70..100, Down = 0.5..1.0.Использовал в качестве эталона вот эту запись: https://youtu.be/J8UJLVsaTwQ (https://youtu.be/J8UJLVsaTwQ). Для уровней сделал Up = 45 Down = 8, для пиков Up = 100 Down = 0.1, жалко конечно что нельзя реализовать холдер. Даже подумывал на скриптах сделать, но решил, что это будет слишком большой ущерб оптимизации.
Если нужно именно двигать тумбу, то надо делать на TASESliderVertical(/Masked) и без скрипта тут не обойтись, но скрипт там смешной - одна строчка.Мне как раз это нужно для трех позиционного переключателя.
Для двух позиционного движка, ИМХО, можно обойтись и без передвижения тумбы, тогда задачу можно решить и на обычных TASEButton и TASEDigitsDisplay и даже на аниматоре.
При помощи такого ухищрения исчезает необходимость копаться в настройках и вручную устанавливать всякие блики на стекле, всякие солнечные лучи и эффекты свечения по краям. Все настройки автоматически копируются.Обязательно попробую, может сделаю несколько вариантов стекол.
Да, это мелочи, но скин приятнее бы смотрелся
Это да, если сильно приукрасить, то смена ширины полей будет заметно тормозить. Я в самом начале как-то умудрился обойти это - не везде вставлять нужные текстуры, потом таки поставил текстуры, стало тормозить... потом вынужден был забросить обложку на продолжительное время, сделав себе пометку откатить обратно, а как вернулся к работе над своим скином - ??? что бы я не делал, не мог уже вспомнить КАК было до того, когда и куда я добавил те текстуры.Хмм. Могу описать один баг с которым столкнулся, может это тот случай.
... жалко конечно что нельзя реализовать холдер. Даже подумывал на скриптах сделать, но решил, что это будет слишком большой ущерб оптимизации.На скриптах Peak Hold сделать можно, но несколько кривовато. Нагрузки на проц заметной нет, в подобных скинах с этим вообще можно не заморачиваться.
... Как лучше реализовать в колорпикере выбор серого?В этой теме (https://www.aimp.ru/forum/index.php?topic=61370.msg386921#msg386921) есть реализация колорпикера, как в ФШ, любой цвет можно выбрать.
... какие операции в скриптах я могу провести с HEX или ARGB кодом чтобы менять яркость?]Это всё в справке есть, полный набор функций для работы со цветом.
В этой теме есть реализация колорпикера, как в ФШ, любой цвет можно выбрать.Просто клад какой то :o
Это всё в справке есть, полный набор функций для работы со цветом.Опять недооценил справку :(
В выше упомянутой теме можно посмотреть пример работы с текстом из TASESearchEdit.Именно этот пример натолкнул меня на идею, передавать расцветки с помощью кода.
Зачем было время тратить? В той теме всё это уже нарисовано.Нужны были исходники в хорошем качестве, тем более нарисовать это не долго мин 30, а вот на то чтобы подобрать цвет ушло не меньше часа, пока искал более менее точное фото. Ну зато нашел интересные моддинг варианты выполненные с помощью витражной пленки.
В аниматоы не нужно включать лишние (статические) элементы, лучше их оставлять в фоновой текстуре - чем больше площадь анимации, тем больше и тормоза. Здесь достаточно было только самих сегментов, плюс 3..5 пикс. на ареолы.
А где рыжие сегменты?Так TASEGauge не показывает перегрузку +3 дб и тд. Или можно настроить?
Так TASEGauge не показывает перегрузку +3 дб и тд. Или можно настроить?Достаточно включить эквалайзер и будет перегрузка в +15 dB.
Так TASEGauge не показывает перегрузку +3 дб и тд. Или можно настроить?Можно, например, с помощью функции логарифма в "Параметрах связи" TASEGauge.
Можно узнать, что вы делаете в MainWindowSeekBarHelper скрипте?По идеи ничего, раньше скрип выполнял ту же функцию что и в Bliss 4k - cкрывал время на waveform-навигаторе. Но я пока решил обойтись без этих таймеров, и в будущем сделать их опциональными. Поэтому и скрип пока оставил, он скрывает таймеры.
По идеи ничего, раньше скрип выполнял ту же функцию что и в Bliss 4k - cкрывал время на waveform-навигаторе. Но я пока решил обойтись без этих таймеров, и в будущем сделать их опциональными. Поэтому и скрип пока оставил, он скрывает таймеры.
В принципе, я так и подумал. Из-за этого у меня конвертер не правильно конвертирует скин в новый формат - он не может отследить, что в скрипте используются расширенные возможности seekbar-а.Может тогда вообще этот скрипт убрать из обложки?
Может тогда вообще этот скрипт убрать из обложки?
Это неединственная проблема со скриптами. Разбираюсь. Хотелось бы порешать все проблемы совместимости на стороне конвертера, иначе новой версией никто и пользоваться не будетОтправил в лс файл проекта вдруг пригодиться. Кстати я мог бы сделать многие скрипты и функции более правильно, чтобы они стали "дружелюбнее" к конвертеру. А то в начале когда еще не знал как все работает, делал многие скрипты замудренными.
Отправил в лс файл проекта вдруг пригодиться. Кстати я мог бы сделать многие скрипты и функции более правильно, чтобы они стали "дружелюбнее" к конвертеру. А то в начале когда еще не знал как все работает, делал многие скрипты замудренными.