0 Members and 8 Guests are viewing this topic.
Но при сквозной перемотке в момент смены треков и проявляется этот самый "дребезг", причём длительность его значительна, и даже задержка на Delayer в 50 мс не даёт нужного эффекта.
Тебе нужен останов после каждого трека при перемотке по плейлисту? Я как раз с этой неприятностью и боролся, добиваясь непрерывной перемотки, пока удерживается кнопка.В своих Sony TC-R6 и Revox B77 ни с каким "дребезгом" я не столкнулся. Ну, видимо, у нас схемы перемотки совсем разные.
Наоборот, нужна непрерывность.
Тогда зачем вообще какие-то проверки State или чего там, пока нажата кнопка - идёт перемотка...
По State неважно чем вызвана перемотка: биндингом, скриптом или хоткеем.
Про какой State речь, про prvPlayerState?Так он как был в состоянии PLAY, таким и остаётся при перемотке.Если про State от acPlayerSeek.., у меня он используется лишь для смены текстур бобин.
... Другое дело, что тебя это не волнует, так как ты сквозной перемоткой не балуешься.
Не знаю, как ты отслеживаешь факт перемотки, но перемотку от хоткеев ты не отслеживаешь
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.0) and (L <= 0.2) then begin TargetState := 0; end // Светлая обложка else if (L >= 0.8) and (L <= 1.0) then begin TargetState := 1; end // Средняя обложка else begin TargetState := 2; end; State := TargetState; end;
Как заставить это работать, тут State не меняется
а что вызывает скрипт?
Как заставить это работать, тут State не меняется Read more... (интересует параметр "L" так как он отвечает за яркость) или возможно другое решение?Code: [Select]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.0) and (L <= 0.2) then begin TargetState := 0; end // Светлая обложка else if (L >= 0.8) and (L <= 1.0) then begin TargetState := 1; end // Средняя обложка else begin TargetState := 2; end; State := TargetState; end;Хочу сделать следующее (чтобы при тёмной теме не била в глаза белая яркая обложка используемая в качестве фона):1) Логика такая если применена "Светлая" тема скина и при этом TargetState := 0 тогда поменять цвета местами AlbumArt.Colors.Background и AlbumArt.Colors.Foreground.2) При TargetState := 1 при "Тёмной" теме аналогично.3) TargetState := 2 и любая тема соответственно ничего не менять.
Это что замкнутый сам на себя скрипткаунтер? А что так можно? Вызывать его наверное должна смена трека Может в качестве теста завести внешний каунтер и переключать из скрипта его?
Наверное если можно было бы так, то работало бы, а оно и не работает. Может как то подобное возможно сделать что бы на темной теме не выжигало глаза AlbumArt.Colors.Background, если он белого цвета и используется в качестве фона.