0 Members and 1 Guest are viewing this topic.
Среди стандартных для всех скинов кнопок, хотелось бы организовать несколько кнопок-"быстрого доступа", как то: "Показать текущий", "Новый плейлист", "Закрыть плейлист", "Менеджер очереди"... Но что обязательно бы хотелось поцепить на кнопку - это вызов "Расширенного редактора тегов"
... (может, плохо искал...)...
...разве что на 1 не нужно умножать, лучше от этого не станет.
...Но я бы, всё-таки, сделал модуль счётчика = 5, чтоб изменение высоты шрифта укладывалось в 10. В настройках плеера изменение идёт через 10% и в этом случае скин бы перекрвал весь диапазон от 100 до 500% без особо лишнего перекрытия. А так получается не очень гут - размеры повторяются.
Для меня это не менее новая задача, чем для Вас...
Так оно и есть. acSendToTagEditor
...Но, если пробежаться по списку стандартных провайдеров, можно что-то интересного и полезного найти для конкретного скина, тем более, что в 4.6 появилось довольно много новых провайдеров...
procedure Execute(var State: Integer);begin FindObject('lyfTrackLyrics').Set('Font.ID', 'Skin.QFIFileInfo.Font.' + IntToStr(100 * (State + 1)));end;
procedure Execute(var State: Integer);begin FindObject('lyfTrackLyrics').Set('Font.Size', Round(-11 * State / 100))end;
А разве масштаб текста в настройках плеера и в окне не суммируются?
Могу предложить своё решение изменения размера шрифта (из последнего Техникса).
...Если, к примеру, задана высота 10 pt и масштаб 300%, то будет 30 pt, если 15 pt и 200% - будут те же 30 pt.
...Но для случая с автомасштабированием небольшая подстройка шрифта может и пригодиться.
Не совсем понимаю, как с размером работает эта штука - Round(-11 * State / 100)
Всё ещё не могу понять, а как в этом поможет =5 в модуле счётчика...
Схема такая: кнопка запускает acSendToTagEditor, но если функция невозможна, то кнопка запускает acUtilsTagEditor.
Схема такая: кнопка запускает acSendToTagEditor, но если функция невозможна, то кнопка запускает acUtilsToTagEditor.
Но без скрипта никак. Если ещё с ним возможно, я пока не проверял.
procedure Execute(Sender, Arguments: TComponent);begin if BindingsGetDataAsBoolean('acPlaylistFocusedItemShowQTE', 'Action') then FindObject('acSendToTagEditor').Execute else FindObject('acUtilsTagEditor').Execute;end;
Работает. Нужно:....
procedure Execute(var State: Integer);begin FindObject('acSendToTagEditor').Execute; FindObject('acUtilsTagEditor').Executeend;
Есть сервис Accessibility...
Функция Round округляет дробное значение до ближайшего целого с учётом знака. -11 - это исходный размер шрифта, может быть и любое другое значение.К примеру, при State = 125 мы получим -11*125/100 = -13.75. Round округлит его до -14, параметр Size шрифта должен быть целочисленным (Integer). Возможно, что скрипт-движок и допустит такую наглость - подсунуть дробь в выражение, но в Delphi/Pascal это было бы ошибкой, аккуратность нужна во всём, тем более в программировании.
Я не особо поднаторел ещё, но этот сервис до сих пор никак придумать использовать не могу . В биндинге, конечно, не в скриптах (тут ещё учиться и соображать очень много).
Надо будет хотя бы "Delphi для чайников" почитать, а то совсем теряюсь даже в понимании.
Осталось найти ещё пару каких-нибудь полезных функций для двух кнопок Плейлиста ...
В инете полно всяких справочников по Delphi(Pascal).
...acPlayableFileFindInMLacPlaylistFindInML...
... Не хватает мне самых основ языка для стабильной соображаловки в том, "что происходит".
... А какая между этими двумя разница? С виду работают одинаково, но у меня Фонотека - на тяп-ляп "собрана"-настроена, может чего не замечаю по ней.