PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   iCarDS (http://pccar.ru/forumdisplay.php?f=121)
-   -   iCarDS+Foobar2000 (http://pccar.ru/showthread.php?t=14176)

onv23 21.11.2012 22:23

Цитата:

Сообщение от sirota (Сообщение 237811)
А регулятор громкости в резиновую сборку проблемно сделать?

Он там и так есть. Если речь о синхронном управлении из фубара ползунком Master volume в Windows, то в WSH панели регулятора громкости код надо поменять на этот, удалив старый полностью, естественно. Ну, и хаки не забыть поменять на последние.

Код:

// vi:set ft=javascript ff=dos ts=4 sts=4 sw=4 et:

// ==PREPROCESSOR==
// @name "Volbar with GdiDrawText"
// @author "T.P Wang"
// ==/PREPROCESSOR==

// Flags, used with GdiDrawText
// For more information, see: http://msdn.microsoft.com/en-us/library/dd162498(VS.85).aspx
var DT_TOP = 0x00000000;
var DT_LEFT = 0x00000000;
var DT_CENTER = 0x00000001;
var DT_RIGHT = 0x00000002;
var DT_VCENTER = 0x00000004;
var DT_BOTTOM = 0x00000008;
var DT_WORDBREAK = 0x00000010;
var DT_SINGLELINE = 0x00000020;
var DT_EXPANDTABS = 0x00000040;
var DT_TABSTOP = 0x00000080;
var DT_NOCLIP = 0x00000100;
var DT_EXTERNALLEADING = 0x00000200;
var DT_CALCRECT = 0x00000400;
var DT_NOPREFIX = 0x00000800;
var DT_INTERNAL = 0x00001000;
var DT_EDITCONTROL = 0x00002000;
var DT_PATH_ELLIPSIS = 0x00004000;
var DT_END_ELLIPSIS = 0x00008000;
var DT_MODIFYSTRING = 0x00010000;
var DT_RTLREADING = 0x00020000;
var DT_WORD_ELLIPSIS = 0x00040000;
var DT_NOFULLWIDTHCHARBREAK = 0x00080000;
var DT_HIDEPREFIX = 0x00100000;
var DT_PREFIXONLY = 0x00200000;

//function RGB(r, g, b) {
//    return (0xff000000 | (r << 16) | (g << 8) | (b));
//}
function RGBA(r, g, b, a) {r &= 0xff; g &= 0xff; b &= 0xff; a &= 0xff; return ((a << 24) | (r << 16) | (g << 8) | (b));}
UIHacks = new ActiveXObject("UIHacks");
var WshShell = new ActiveXObject("WScript.Shell");
var r_font = window.Height / 2;
var g_font = gdi.Font("Tahoma", r_font, 0);
var g_font2 = gdi.Font("Tahoma", r_font * 2, 1);
var g_drag = 0;

function on_paint(gr) {

  var ww = window.Width;
  var wh = window.Height;
  var volume = fb.Volume;
  var pos = window.Width * ((60 + volume) / 60);
  var txt = (Math.ceil(volume)) + " dB";
  var vv = pos/ww;
  var r_font = window.Height / 2;
  var g_font = gdi.Font("Tahoma", r_font, 0);
  var g_font2 = gdi.Font("Tahoma", r_font * 2, 1);
    gr.FillGradRect(0, 0, pos -12, wh/2, 90, RGBA(10, 15, 19, 100), RGBA(38, 60, 76, 100));
    gr.FillGradRect(0, wh/2, pos-12, wh/2, 90, RGBA(38, 60, 76, 100), RGBA(10, 15, 19, 100));
    gr.FillGradRect(pos-12, 0, 12, wh/2, 90, RGBA(10, 15, 19, 100), RGBA(57, 90, 114, 100));
    gr.FillGradRect(pos-12, wh/2, 12, wh/2, 90, RGBA(57, 90, 114, 100), RGBA(10, 15, 19, 100));
    gr.FillGradRect(pos, 0, ww-pos, wh/2, 90, RGBA(10, 15, 19,100), RGBA(38, 60, 76,100));
    gr.FillGradRect(pos, wh/2, ww-pos, wh/2, 90, RGBA(38, 60, 76,100), RGBA(10, 15, 19,100));
    gr.GdiDrawText(txt, g_font, RGBA(0, 150, 200, 100), 0, 0, ww, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(0, 150, 200, 100), pos, -r_font/6, 4, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(0, 0, 0, 100), pos+4, -r_font/6, 2, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(0, 0, 0, 100), pos+14, -r_font/6, 2, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(180, 180, 180, 100), pos-13, -r_font/6, 1, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(180, 180, 180, 100), pos-1, -r_font/6, 1, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    UIHacks.MasterVolume.Volume=vv;
}

function on_mouse_lbtn_down(x, y) {
    g_drag = 1;
}

function on_mouse_lbtn_up(x, y) {
    on_mouse_move(x, y);
    g_drag = 0;
}

function on_mouse_move(x, y) {
   
    if (g_drag) {
        var v = x / window.Width;
        v = (v < 0) ? 0 : (v < 1) ? v : 1;
        v = -60 * (1 - v);
        if (fb.Volume != v) fb.Volume = v;
        if (fb.Volume < -60) fb.Volume = -60;
      }
}

function on_mouse_wheel(delta) {
    if (delta > 0) fb.VolumeUp();
    else fb.VolumeDown();
    if (fb.Volume < -60) fb.Volume = -60;
}

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


onv23 02.12.2012 16:08

По этой ссылке выложена сборка, в панели часов которой реализованы пресеты уровня, баланса и бинауральные.
http://foobar2000.ru/forum/viewtopic...p=42571#p42571
Даблклик по центру 3-го ряда всплывающих кнопок (между speakers и crossfeed) сворачивает сборку в трей.

leha-mentos 23.12.2012 00:13

Кто-нибудь слышит разницу между ASIO и WASAPI? Нв домашних колонках не заметил ничего особенного в качестве. Но вот проблем с Асей на выводе каналов получил. Почему-то не хочет она каналы выводить, так как выставлено в Реалтековской оболочке управления звуковой карты. А Васапи все делает правильно. Проблема заключается в путанице задних быковых динамиков и саба\центр. Пока решил остановиться на Васапи.

onv23 26.12.2012 17:38

Разница есть. Но при прямых, грамотно написанных ASIO драйверах конкретной звуковой карты. Насколько я знаю, ASIO для реалтека нет в природе. Убоище ASIO4ALL просто нельзя использовать, если рассуждать хоть о каком-то качестве. Так что только WASAPI, это вполне хороший вариант.

MiD_E34 22.01.2013 16:21

Такая фигня периодически вылезает: после просыпания очень тихо играет - приходится открывать панель регулятора громкости Икара и чуть двинуть ползунок громкости - тогда она скачком устанавливается как надо. Дрова стоят новые... Фубар - что с дистрибутивом Икара идет

onv23 23.01.2013 20:33

Фубар сам по себе никаких проблем с уровнями после засыпания не имел и не имеет, так что это вопрос не к нему. Ну и, поскольку дистрибутив икара давно не обновлялся, с тех пор фубар, наверное, раз 20 успел модифицироваться, поэтому в чем смысл юзать старье - для меня загадка.

sirota 23.03.2013 21:59

Цитата:

Сообщение от onv23 (Сообщение 234606)
Конечно, они тоже резиновые

Скачать когда можно...пишет..."на сайте ведутся земленные работы":dntknw:

onv23 24.03.2013 03:22

Что именно нужно ? Онлайндиск.ру уже очень давно в дауне

sirota 24.03.2013 13:13

Цитата:

Сообщение от onv23 (Сообщение 252211)
Что именно нужно ? Онлайндиск.ру уже очень давно в дауне

Резиновую сборку хотел скачать.

P.S Хорошо бы твои нароботки в одно место определить для скачивания.

vladj 24.03.2013 14:16

http://foobar2000.0pk.ru/viewtopic.php?id=468
Вот только при чём тут фронтенд, эту сборку нужно гонять не встроенной во что-либо,
а в икар что-нибудь попроще нужно встраивать.ИМХО.


Часовой пояс GMT +4, время: 18:09.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot