AIMP Forum
AIMP for Windows => Предложения / Suggestions => Skin Editor, Skin Engine => Skin Engine => Topic started by: Kibermanick on June 06, 2017, 13:21:14
-
Предлагаю такой провайдер, который имеет один вход и пусть пять выходов(если не хватит можно прикрутить вход такого же провайдера к выходу первого). При получении значения на вход он отправляет это же значение на все выходы одновременно. К примеру, я уже несколько раз сталкивался с тем что, нужно сделать одну кнопку которая выполняла бы несколько действий одновременно.
Так же можно отправлять не только числовое значение а также например Action связь.
(http://storage3.static.itmages.ru/i/17/0606/h_1496745390_2099449_45f499f0ef.png)
-
Это делается с помощью счётчика или скриптом
Счётчик меняет состояние, а другие элементы скина зависят от состояния счётчика
Либо универсальный вариант скрипта, который не имеет ограничений по количеству действий
Вот пример из "моего" скина (переключается контейнер и вызывается какой-либо Action):
Если не ошибаюсь пример даже есть в справке
procedure Execute(var State: Integer);
var
BackgroundObject : TComponent; // Переменная типа "компонент" (контейнер)
begin
BackgroundObject := FindObject('ContainerClient'); // (*1) Ищем многостраничную группу
BackgroundObject.Set('PageIndex',0); // (*1) Переключаем контейнер многостраничной группы
FindObject('acMainOpenPlaylist').Execute; // (*2) Ищем провайдер и вызываем его действие Action
State := 0;
end;
И нет, я не программист, разобраться со скриптами не так и сложно
Можно пример, что именно в скине должна выполнять кнопка?
-
Это делается с помощью счётчика или скриптом
Счётчик меняет состояние, а другие элементы скина зависят от состояния счётчика
Либо универсальный вариант скрипта, который не имеет ограничений по количеству действий
Вот пример из "моего" скина (переключается контейнер и вызывается какой-либо Action):
procedure Execute(var State: Integer);
var
BackgroundObject : TComponent; // Переменная типа "компонент" (контейнер)
begin
BackgroundObject := FindObject('ContainerClient'); // (*1) Ищем многостраничную группу
BackgroundObject.Set('PageIndex',0); // (*1) Переключаем контейнер многостраничной группы
FindObject('acMainOpenPlaylist').Execute; // (*2) Ищем провайдер и вызываем его действие Action
State := 0;
end;
И нет, я не программист, разобраться со скриптами не так и сложно
Можно пример, что именно в скине должна выполнять кнопка?
Я ничего тут не понимаю, надо соблюдать весь синтаксис, и знать его еще. Что так сложно провайдер замутить? Это же куда проще чем сидеть и писать не пойми что, соединил две точки полоской и все.
-
Я ничего тут не понимаю, надо соблюдать весь синтаксис, и знать его еще. Что так сложно провайдер замутить, это же куда проще чем сидеть и писать не пойми что, соединил две точки полоской и все.
Так что с примером кнопки?
-
Счётчик меняет состояние, а другие элементы скина зависят от состояния счётчика
Не все можно так сделать, мы с тобой уже пробовали сделать кнопку, которая одновременно должна была менять значение счетчика и показать текущий трек в плейлисте.
-
Не все можно так сделать, мы с тобой уже пробовали сделать кнопку, которая одновременно должна была менять значение счетчика и показать текущий трек в плейлисте.
Я нашел. Вы сделали эту кнопку и она работает, но я уже не помню почему она не подошла.
Но все ровно тебе пришлось помогать мне, а так я могу сам все делать.