0 Members and 13 Guests are viewing this topic.
Наверное если можно было бы так, то работало бы, а оно и не работает.
а что вызывает скрипт?
Так, Артём испрашивал, от чего срабатывает скрипт:
onTrackStarted или как, не могу понять
событие нужно которое будет давать команду считывать цвет, только какое и к чему его завязать onTrackStarted или как, не могу понять
А связь от prvPlayingFileInfo.CoverArt -> Handler может инициировать вызов скрипта?
Судя по сервисам, должна. Только не с хендлером, а со счётчиком - при отсутствии кавера, он не сработает.
Тогда можно попробовать связать prvPlayingFileInfo.CoverArt -> Counter а уже у скрипта связь Handler <- Position от этого каунтера. Вот только есть нюанс что скрипт может реагировать не на смену позиции а на значение позиции и тогда надо делать скрипт каунтер который одинаково реагирует на оба значения каунтера.
Ну, это называется самого себя перехитрить.В счётчике будет 1, если есть кавер. Тут и надо считывать его цвета и из него же менять тему. В конце не забыть сбросить State в 0.
похоже мой вариант не работает когда переключается трек с обложкой на трек с обложкой хм
В конце не забыть сбросить State в 0.
procedure Execute(var State: Integer);var H, S, L: Single; TargetState: Integer; Res: TComponent;begin Res := FindResource('AlbumArt.Colors.Background'); ColorToHSL(Res.Get('Value'), H, S, L); if (L <= 0.33) then FindObject('CoverArtTone').set('Position', 0); if (L > 0.33) and (L <= 0.66) then FindObject('CoverArtTone').set('Position', 1); if (L > 0.66) then FindObject('CoverArtTone').set('Position', 2); FindObject('tone').set('Template', L); FindObject('Cou1').set('Position', 0);end;