AIMP Forum

AIMP для Windows => Skin Editor / Skin Engine => Вопросы => Topic started by: Misha60 on April 01, 2018, 23:46:00

Title: Размер текста лирики
Post by: Misha60 on April 01, 2018, 23:46:00
Добавил в свой любимый скин окно лирики, как только оно вышло в свет. Очень порадовало в новой версии возможность изменения размера текста лирики.
Спасибо большое автору!
Вопрос: Как можно перенести или скопировать возможность изменять размер текста лирики в мой скин. Я не очень силён в создании и редактировании скинов. Поэтому, если можно подробно и со скриншотами.
Заранее благодарю.
Title: Re: Размер текста лирики
Post by: Artem on April 02, 2018, 11:12:28
Меню реализовано с помощью CustomContextMenu, где каждый пункт при клике передает скриптовому счетчику (ScriptableOperatorCounter) нужное значение:

(https://www.aimp.ru/forum/index.php?action=dlattach;topic=59393.0;attach=53799)

Код скрипта прост:

Code: [Select]
procedure Execute(var State: Integer);
begin
  FindObject('iwtTrackLyrics').Set('Font.ID', 'Skin.Fonts.TrackInfo.Lyrics.' + IntToStr(100 * (State + 1)));
end;

Идея в том, что скрипт переключает у элемента используемый ресурс на нужный из библиотеки ресурсов:

(https://www.aimp.ru/forum/index.php?action=dlattach;topic=59393.0;attach=53800)
Title: Re: Размер текста лирики
Post by: Misha60 on April 03, 2018, 06:01:36
Спасибо за Ваш подробный ответ. Но у меня не получилось перенести на свой скин.
После нескольких часов своих бесплодных попыток, уже готов был перейти на скин по-умолчанию. Но не нашёл кнопки переключения "Автоматически переходить на следующий файл" (Только глубоко в настройках она есть. Чтобы её включить/выключить надо сделать четыре клика). А мне приходится часто переключать этот режим. Увы... :(
Title: Re: Размер текста лирики
Post by: Artem on April 03, 2018, 09:54:48
Спасибо за Ваш подробный ответ. Но у меня не получилось перенести на свой скин.
После нескольких часов своих бесплодных попыток, уже готов был перейти на скин по-умолчанию. Но не нашёл кнопки переключения "Автоматически переходить на следующий файл" (Только глубоко в настройках она есть. Чтобы её включить/выключить надо сделать четыре клика). А мне приходится часто переключать этот режим. Увы... :(

В контекстном меню кнопки Play
Title: Re: Размер текста лирики
Post by: Artem on April 03, 2018, 09:55:29
Спасибо за Ваш подробный ответ. Но у меня не получилось перенести на свой скин.
После нескольких часов своих бесплодных попыток, уже готов был перейти на скин по-умолчанию. Но не нашёл кнопки переключения "Автоматически переходить на следующий файл" (Только глубоко в настройках она есть. Чтобы её включить/выключить надо сделать четыре клика). А мне приходится часто переключать этот режим. Увы... :(

У вас скин переведен на использование ресурсов только из репозитория?
Title: Re: Размер текста лирики
Post by: Misha60 on April 03, 2018, 22:28:33
В контекстном меню кнопки Play
Да, действительно. Спасибо за подсказку.
У вас скин переведен на использование ресурсов только из репозитория?
А как это сделать? Ткните, пожалуйста.
Title: Re: Размер текста лирики
Post by: Artem on April 03, 2018, 22:37:58
Да, действительно. Спасибо за подсказку.А как это сделать? Ткните, пожалуйста.

https://www.aimp.ru/blogs/?p=707
Title: Re: Размер текста лирики
Post by: Misha60 on April 04, 2018, 22:34:36
https://www.aimp.ru/blogs/?p=707
Прочитал статью по Вашей ссылке. Не нашёл как перевести скин на использование ресурсов только из репозитория. Что и куда надо прописать, чтобы это сделать?
Title: Re: Размер текста лирики
Post by: Artem on April 05, 2018, 00:11:41
Прочитал статью по Вашей ссылке. Не нашёл как перевести скин на использование ресурсов только из репозитория. Что и куда надо прописать, чтобы это сделать?

В диалоге есть кнопочка "автозаполнение".
Title: Re: Размер текста лирики
Post by: Misha60 on April 05, 2018, 00:29:52
В диалоге есть кнопочка "автозаполнение".
Спасибо! Нашёл. Пробую, всё таки, добавить в свой скин изменение размер текста лирики. Но увеличиваю не на 100%, а на 20%, и сделаю 10 вариантов увеличения. Так получится? Скрипт не надо изменять? У меня не полное окно TrackInfo, а только Lyrics, без шапки с информацией.

Update: Уже почти получилось. Не могу решить загадку: 100% - обычный размер шрифта, 200% - увеличенный, 300% - такой же как 100%, 400% - как 200%, 500% - как 100%. Так же было и в варианте как в предыдущем абзаце (100%, 120%, 140% и т.д.)
 
Но, нашёл другой скин с ОЧЕНЬ удобной регулировкой размера текста не только лирики, а и плейлиста, и фонотеки. Картинку прилагаю.
Title: Re: Размер текста лирики
Post by: Artem on April 05, 2018, 10:40:14
Update: Уже почти получилось. Не могу решить загадку: 100% - обычный размер шрифта, 200% - увеличенный, 300% - такой же как 100%, 400% - как 200%, 500% - как 100%. Так же было и в варианте как в предыдущем абзаце (100%, 120%, 140% и т.д.)

Вы модуль счетчика не увеличили, поэтому счетчик сбрасывается.

Но, нашёл другой скин с ОЧЕНЬ удобной регулировкой размера текста не только лирики, а и плейлиста, и фонотеки. Картинку прилагаю.

Это решение не будет работать с High DPI.
Title: Re: Размер текста лирики
Post by: Misha60 on April 05, 2018, 13:34:07
Вы модуль счетчика не увеличили, поэтому счетчик сбрасывается.
Я открыл 2 скин-эдитора в одном родной скин, в другом - мой. И всё перенёс в свой. Где я пропустил этот счётчик? в каком окне, скрипте или связи?

Ну тяжело мне даётся теория программирования. Всегда всё делал методом тыка.
Title: Re: Размер текста лирики
Post by: Artem on April 05, 2018, 15:02:10
Я открыл 2 скин-эдитора в одном родной скин, в другом - мой. И всё перенёс в свой. Где я пропустил этот счётчик? в каком окне, скрипте или связи?

Ну тяжело мне даётся теория программирования. Всегда всё делал методом тыка.

Вот:
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=59393.0;attach=53819)

Программирование тут только в скриптах, все остальное делается мышкой
Title: Re: Размер текста лирики
Post by: Misha60 on April 05, 2018, 18:02:09
Вот теперь, с Вашей неоценимой помощью, я наконец-то победил этот скин. И воплотил свои пожелания в жизнь.
СПАСИБО ВАМ ОГРОМНОЕ!!! Вопрос решён! Очередной плюсик Вам как только пройдут сутки после предыдущего.

Осталось совсем немного, чтобы довести лучший плеер до полного идеала: Вывести на вид кнопку или индикатор какой-нибудь на опцию "Автоматически переходить на следующий файл". Для ускорения переключения и наглядности. Стоп после текущего файла не очень подходит, т.к. при включенном "Автоматически переходить на следующий файл", курсор перескакивает на следующий файл в очереди. А это не всегда удобно. Извините за офтоп в этой теме.  :-[
Title: Re: Размер текста лирики
Post by: Artem on April 05, 2018, 21:40:30
Эта кнопка есть в контекстном меню кнопки плей - вполне себе под рукой
Title: Re: Размер текста лирики
Post by: Misha60 on April 05, 2018, 23:35:33
Эта кнопка есть в контекстном меню кнопки плей - вполне себе под рукой
А теоретически, появилась возможность вытащить эту кнопку куда-нибудь на панель плеера или плейлиста? Хотя бы в виде индикатора (вкл./выкл.).
Title: Re: Размер текста лирики
Post by: Serkin on January 03, 2019, 18:49:39
Я так понимаю, что создав второй такой же объект, скажем, iwtTrackLyrics2, и прописав его имя в скрипте LyricsBoxFontScalingController, - проверял, работает (на главной форме). Но почему-то в TrayControl (мини-плеер) это не проходит.

Code: [Select]
procedure Execute(var State: Integer);
begin
  FindObject('iwtTrackLyrics').Set('Font.ID', 'Skin.Fonts.TrackInfo.Lyrics.' + IntToStr(100 * (State + 1)));
  FindObject('iwtTrackLyrics2').Set('Font.ID', 'Skin.Fonts.TrackInfo.Lyrics.' + IntToStr(100 * (State + 1)));
end;

Хочу, чтобы размер текста песни так же возможно было менять в мини-плеере. Контекстное меню в мини плеере выходит, галочка в меню переключается, но размер текста в мини-плеере не меняется. При этом прекрасно меняется на главной форме. Что делать, не знаю.
Title: Re: Размер текста лирики
Post by: Zhenya on January 03, 2019, 19:45:49
Я так понимаю, что создав второй такой же объект, скажем, iwtTrackLyrics2, и прописав его имя в скрипте LyricsBoxFontScalingController, - проверял, работает (на главной форме). Но почему-то в TrayControl (мини-плеер) это не проходит.

У меня работает и в мини-плеере.

1. Вы хотите, чтобы использовался одинаковый масштаб для обоих текстовых полей?
2. Как вы создавали второе текстовое поле? Вручную или через клонирование?
3. Название второго текстового поля и его название в скрипте точно совпадают? Кстати, в редакторе скриптов есть автодополнение (Ctrl + Пробел), чтобы не ошибиться с названием элемента.
Title: Re: Размер текста лирики
Post by: Black_AVP on January 03, 2019, 20:45:07
Логичнее, ИМХО, чтоб это окно (с лирикой или любое другое) просто не исчезало при сворачивании плеера в трей, т.е. имело бы дополнительное свойство для этого.
Или, как вариант, менять из скиптов мастера (к этому у нас доступа нет).
Title: Re: Размер текста лирики
Post by: Serkin on January 03, 2019, 21:08:21
У меня работает и в мини-плеере.
Угу, значит, где-то у меня ошибка. Это обнадёживает.
1. Вы хотите, чтобы использовался одинаковый масштаб для обоих текстовых полей?
Да.
2. Как вы создавали второе текстовое поле? Вручную или через клонирование?
Вручную.
3. Название второго текстового поля и его название в скрипте точно совпадают?
Это я привычно копипастю. Проверил - точно. Выше я его выложил.
Title: Re: Размер текста лирики
Post by: Zhenya on January 03, 2019, 21:57:57
Вручную.

Думаю, в этом и причина. Попробуйте в свойстве Font выбрать наследование от "Skin.Fonts.TrackInfo.Lyrics.100".
Title: Re: Размер текста лирики
Post by: Serkin on January 03, 2019, 22:06:20
Думаю, в этом и причина. Попробуйте в свойстве Font выбрать наследование от "Skin.Fonts.TrackInfo.Lyrics.100".

Странно. В свойстве шрифта и стояло "Skin.Fonts.TrackInfo.Lyrics.100". Тем не менее я установил другой первый попавший, а потом вновь вернулся к шрифту "Skin.Fonts.TrackInfo.Lyrics.100", и всё заработало.