0 Members and 44 Guests are viewing this topic.
PopupMenu корневого контейнера окна (чтобы на всё окно было одно контекстное меню), плюс ещё к кнопке (возможно кнопку потом уберу).
Странное решение
Надеюсь, когда будет готова хотя бы предварительная версия скина - будет понятно что у меня всё логично устроено.
Да. Визуализация в своём окне. Меню специально для этого окна.
Как в скрипт считать данные из Progress провайдеров prvVolume, prvBalance, prvPlayerState?
x := BindingsGetDataAsInteger('prvVolume', 'Progress');
Для всех провайдеров-регуляторов используется свойство Position, а методы те же: Get и Set.Например: FindObject('prvBalance').Set('Position', 0)У prvPlayerState - свойство State. См. https://www.aimp.ru/forum/index.php?topic=60247.msg374791#msg374791От него тебе нужен не прогресс, а: PS:= FindObject('prvPlayerState'); Pt:= PS.Get('Position'); - текущая позиция в треке Pm:= PS.Get('PositionMax'); - продолжительность трека
Спасибо, это тоже пригодится, но мне был нужен доступ именно к Progress. То, что предложил Zhenya, мне как раз подходит.
У prvPlayerState - свойство State. См. https://www.aimp.ru/forum/index.php?topic=60247.msg374791#msg374791От него тебе нужен не прогресс, а: PS:= FindObject('prvPlayerState'); Pt:= PS.Get('Position'); - текущая позиция в треке Pm:= PS.Get('PositionMax'); - продолжительность трека
С прогрессом получается довольно грубо для некоторых задач. Я производил рассчёты по вышеприведённым параметрам.
Black_AVP, известны ли ещё какие-то скрытые свойства провайдеров? Хорошо бы их все задокументировать в справке.
В моей "задаче" особая точность и не нужна. Расчёт уровня индикатора канала, с учётом громкости и баланса, что я уже прежде делал на коммутаторах, решил попробовать сделать скриптом (в первую очередь из любопытства - получится ли ).
На то биндинга с его нехитрыми выражениями с лихвой хватает, да оно и надёжнее, чем скрипты.Кстати, как ты собираешься скриптами отслеживать изменение громкости или баланса?