Вывод значения VOLUME и PAUSE

Список разделов foobar2000 Есть вопрос!

Описание: У вас проблемы с foobar2000 и вам необходима помощь? Спрашивайте здесь!
Правила раздела: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть. Подробно описывайте проблему. Не забывайте указать версию плеера, название сборки, по возможности добавить скриншоты проблемы.

Сообщение #1 slav » 05.11.2016, 12:17

Добрый день! Подскажите:
1. как вывести (продублировать) значение текущего уровня громкости из status bar (VOLUME LEVEL, например: -4.55 dB) при помощи скрипта (как, например, выводится имя исполнителя - %artist%). Хочу вывести это значение (VOLUME LEVEL) на отдельный монитор в виде окна. Установленная версия foobar2000 v1.3.13 final, DUI. Вывод значения хочу сделать в окно плагина TIME_DISPLAY (foo_timedisplay.dll).
2. почему некорректно работает скрипт %ispaused% в плагине TIME_DISPLAY (foo_timedisplay.dll)? Такое впечатление, что в момент паузы у плагина пропадает синхронизация с программой и он не успевает отобразить информацию. Почему я сделал именно такой вывод: при многократном нажатии паузы процент успешных отображений режима приблизительно 2-3%. Однако, если в режиме паузы войти в настройки плагина, выбрать SHOW.../EDITOR и ничего не меняя, нажать ОК, отображение режима (PAUSE) - 100%.
Заранее спасибо за ответ.
Последний раз редактировалось slav 10.11.2016, 01:55, всего редактировалось 1 раз.
slav M
Автор темы
Аватара
Откуда: неважно
Репутация: 6
С нами: 7 лет 4 месяца

Сообщение #2 kgena_ua » 09.11.2016, 22:06

slav:например: -4.55 dB
Код: Выделить всё
var volume = fb.Volume.toFixed(2)  + " db";
и не забывать
Код: Выделить всё
function on_volume_change(val) {
   window.Repaint();
}
Это если через WSH.
Вывод значения хочу сделать в окно плагина TIME_DISPLAY (foo_timedisplay.dll).
Это к разработчику плагина.
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 10 лет 11 месяцев

Сообщение #3 slav » 10.11.2016, 01:37

to kgena_ua
Большое спасибо за ответ. Честно говоря, после 50-ти просмотров моего вопроса я уже отчаялся получить на него ответ :smile: Но теперь мне есть, куда двигаться - буду разбираться, что такое WSH :weirdface:
slav M
Автор темы
Аватара
Откуда: неважно
Репутация: 6
С нами: 7 лет 4 месяца

Сообщение #4 kgena_ua » 10.11.2016, 12:12

Вот таким может быть скрипт для отображения уровня громкости
Код: Выделить всё
function RGB(r,g,b) { return (0xff000000|(r<<16)|(g<<8)|(b)); }
var font = gdi.Font("arial",14,0);
var ww = 0, wh = 0;

DT_CENTER = 0x00000001;
DT_VCENTER = 0x00000004;
DT_SINGLELINE = 0x00000020;

var bgcolor = RGB(30,30,30);
var color1 = RGB(255,255,200);
var volume;

function on_paint(gr) {
    gr.FillSolidRect(0, 0, ww, wh, bgcolor);
    volume = fb.Volume.toFixed(2)  + " db";
    gr.GdiDrawText( volume, font, color1, 0, 0, ww, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
}

function on_volume_change(val) {
   window.Repaint();
}

function on_size(){
    ww = window.Width;
    wh = window.Height;
}
Безымянный.png
Безымянный.png (1.86 КБ) Просмотров: 911
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 10 лет 11 месяцев

Сообщение #5 slav » 03.09.2023, 02:09

Всем ДВС!
Подскажите, возможно, я что-то пропустил и уже существует возможность выводить значение текущего уровня громкости из status bar (VOLUME LEVEL, например: -4.55 dB) при помощи скрипта (как, например, выводится имя исполнителя - %artist% или номер трека - %track%). По-прежнему хочу вывести это значение (VOLUME LEVEL) на отдельный монитор в виде окна. Установленная версия foobar2000 v1.6, DUI. Могу поставить v2.0, если это поможет.
slav M
Автор темы
Аватара
Откуда: неважно
Репутация: 6
С нами: 7 лет 4 месяца


Вернуться в Есть вопрос!