Скрипты для foo_uie_wsh_panel_mod

Список разделов foobar2000 Секреты foobar2000

Описание: Кнопочки, конфиги, секреты, советы.

Сообщение #441 MC Web » 14.07.2015, 19:50

kgena_ua, спасибо, хорошо получилось. Теперь напрашиваются часы (с текущем временем), вместо простой надписи timer. :smile:
AHAPXICT:пока не разобрался, но Alarm clock только отключает, а включать отказывается.
timer автоматически определяет состояние (воспроизвести/остановить), а для Alarm clock необходимо выбрать самостоятельно (6 строка меню на скриншоте), она будет активна.
MC Web
Репутация: 248
С нами: 11 лет 3 месяца

Сообщение #442 kgena_ua » 14.07.2015, 22:18

MC Web, будут изменения:
- индикация оставшегося времени до срабатывания будильника;
- и основное правильное отображение оставшегося времени по таймеру если время таймера приходится на след сутки, т.е. сейчас 11 вечера, а мы ставим таймер на три часа - тут проще, сложнее для будильника.
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #443 MC Web » 14.07.2015, 22:28

kgena_ua, для будильника не проверял, а на данный момент он что при переходе суток будет не правильно показывать, т.е. если поставить вечером на 03:00 ?
Сейчас проверил и на будильнике не смог выставить 00 : 01 : 00, а 01 : 01 : 00 - показывает нормально.
MC Web
Репутация: 248
С нами: 11 лет 3 месяца

Сообщение #444 kgena_ua » 14.07.2015, 22:53

MC Web, в данный момент будильник запустится на стоп, где-то стоит какая то проверка. А если подправить для начала

switch (ret) {
case 1:
// if (set_timer > 0) {timer_play()};
timer_play();
break;
то покажет правильное время 3:00:00 (отработку не проверял - сегодня поставлю на 6 часов.), только меня интересует оставшееся.

......... у меня выставляет:
Безымянный.png
Безымянный.png (3.01 КБ) Просмотров: 2736
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #445 MC Web » 14.07.2015, 23:05

kgena_ua:......... у меня выставляет:
Это в меню, а на индикатор как выводит?

У меня это время на индикаторе показывает так:
Image 1.png


И сейчас проверил, ставил на Остановку 00:01:00 - остановилось воспроизведение, поставил 00:02:00 - началось воспроизведение. Только на индикаторе это время отображается не корректно, а так все работает. Это я описал работу Будильника...
MC Web
Репутация: 248
С нами: 11 лет 3 месяца

Сообщение #446 kgena_ua » 14.07.2015, 23:17

MC Web, да, я на индикатор выводил (думал лучше)- если часы 0 то минуты и секунды, если только секунды, а минуты 0 - одна секунда - формат 0:01, одна минута - 1: 00, больше десяти минут 15:00, не выводил впередистоящие нули.
Можно переделать, если одна минута и одна секунда - 00:01:01.
Т.е. можно запутаться, и 1:00 принять за один час.
Может так: 1m 00s
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #447 MC Web » 14.07.2015, 23:31

kgena_ua:Можно переделать, если одна минута и одна секунда - 00:01:01
Логически напрашивается такой формат. Можно и 0 перед часами оставить (на индикаторе). Набрал в меню 01:01:01 - на индикаторе 1:01:01. В принципе тут и без 0 перед 1 понятно, что это 1 час ночи. А вот когда 00:01:01 - на индикаторе показывает, как 1 минута...

Немного подкорректировал:
Код: Выделить всё
function sec2time(sec) {   
    var h, m, s;   
    h = Math.floor(sec / 3600);   
    m = Math.floor((sec - h * 3600) / 60);   
    s = sec - h * 3600 - m * 60;   
//    if ( m < 10 && h != 0) m = "0" + m;
    if ( h < 10 ) h = "0" + h;   
    if ( m < 10 ) m = "0" + m;
    if ( s < 10 ) s = "0" + s; 
    return h + " : " + m +  " : " + s;   
//    return (h == 0 ? "" : h + " : ") + m + " : " + s;   
}
Вроде выводит правильно и проверил в работе...
MC Web
Репутация: 248
С нами: 11 лет 3 месяца

Сообщение #448 kgena_ua » 14.07.2015, 23:58

MC Web, да это тут,

MC Web:А вот когда 00:01:01 - на индикаторе показывает, как 1 минута...
До переделки индикатора показывало так:
Безымянный.png
Безымянный.png (4.2 КБ) Просмотров: 2707


А может не переделывать индикатор будильника, я думал стоит постоянная картинка с временем будильника, сделаю уменьшающееся значение, т.е. оставшееся время до события ?
Да поставил таймер на 01 00 00 - фигня :smile: .
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #449 MC Web » 15.07.2015, 00:13

kgena_ua, при работе с будильником, при таком раскладе было не понятно, если на индикаторе горит 1:01.
Это 1 ч. 01м. или 1м. 01с. Я эту мысль хотел сказать...
kgena_ua:А может не переделывать индикатор будильника, я думал стоит постоянная картинка с временем будильника, сделаю уменьшающееся значение, т.е. оставшееся время до события ?
Тогда это уже не Будильник, а Таймер. В Таймере время должно уменьшаться, а в Будильнике должно отображаться время совершения события.
После переделки, как мне кажется, все корректно показывает или нет?
MC Web
Репутация: 248
С нами: 11 лет 3 месяца

Сообщение #450 Гость » 16.07.2015, 16:09

kgena_ua
Привет!
Хочу попросить у тебя помощи в одном вопросе, по цвету в "Properties".
К примеру задаю var t_color = window.GetProperty("Text_Color","RGB(100,100,100)");
gr.DrawString(on_btn,font,t_color,0,0,ww,wh,cc_stringformat);
и в итоге скрипт не берет цвет из Properties и выдает мне только черный цвет...пробовал разные варианты так и не понял как это сделать.
Заранее Спасибо за любую помощь. :smile:

Скрипт под спойлером твой немного переделанный под нужды КарПС для вызова ехе файлов, хочу добавить в него смену цвета символов и не понимаю как это сделать через Properties.
Спойлер
Код: Выделить всё
//===EXE Caller Button
function RGB(r,g,b) { return (0xff000000|(r<<16)|(g<<8)|(b)); }
var symbol_color = RGB(255,255,255)
var g_font = window.GetProperty("Font","Segoe UI Symbol");
var font_size = window.GetProperty("Font_Size","45");
var font = gdi.Font(g_font,font_size,0);
var ww,wh;
var on_mouse = false; // если нужно изменять изображение кнопки при наведении мышкой
var img_path = fb.ProfilePath + "\\themes\\";
var n_btn = gdi.Image(img_path + "n.png");
var h_btn = gdi.Image(img_path + "h.png");
var on_btn  = window.GetProperty("Symbol","");//"v";
var butt_type = window.GetProperty("Button_type","ctrl.exe");

function StringFormat() {
    var h_align = 0,
    v_align = 0,
    trimming = 0,
    flags = 0;
    switch (arguments.length) {
        case 3:
        trimming = arguments[2];
        case 2:
        v_align = arguments[1];
        case 1:
        h_align = arguments[0];
        break;
        default:
        return 0;
    };
    return ((h_align << 28) | (v_align << 24) | (trimming << 20) | flags);
};

StringAlignment = {
    Near: 0,
    Centre: 1,
    Far: 2
};

var lt_stringformat = StringFormat(StringAlignment.Near, StringAlignment.Near);
var ct_stringformat = StringFormat(StringAlignment.Centre, StringAlignment.Near);
var rt_stringformat = StringFormat(StringAlignment.Far, StringAlignment.Near);
var lc_stringformat = StringFormat(StringAlignment.Near, StringAlignment.Centre);
var cc_stringformat = StringFormat(StringAlignment.Centre, StringAlignment.Centre);
var rc_stringformat = StringFormat(StringAlignment.Far, StringAlignment.Centre);
var lb_stringformat = StringFormat(StringAlignment.Near, StringAlignment.Far);
var cb_stringformat = StringFormat(StringAlignment.Centre, StringAlignment.Far);
var rb_stringformat = StringFormat(StringAlignment.Far, StringAlignment.Far);

function on_size(){
 ww = window.Width;
 wh = window.Height;
}

var WshShell = new ActiveXObject("WScript.Shell"); // это обязательно

function on_paint(gr){
//gr.FillSolidRect (0, 0, ww, wh, RGB(47,48,53));
    gr.SetTextRenderingHint(4);
    gr.DrawString(on_btn,font,symbol_color,0,0,ww,wh,cc_stringformat);
    gr.SetTextRenderingHint(0);
    gr.DrawImage( on_mouse? h_btn : n_btn, 0, 0, 80, 80, 0, 0, 80, 80, 0, 255);
}

function on_mouse_lbtn_up (x, y){

try {
   WshShell.Run(".\\themes\\" + butt_type);
    } catch(e) {};
}

 // если нужно изменять изображение кнопки при наведении мышкой

function on_mouse_move(x, y) {
 on_mouse = true;
 window.Repaint();
}

function on_mouse_leave() {
 on_mouse = false;
 window.Repaint();
}
Гость
Гость

Сообщение #451 duzzy » 16.07.2015, 16:18

kgena_ua
Предыдущее сообщение от Гостя мое(со спойлером про цвет в Properties), почему то отправилось как Гость. Извиняюсь за непонятки :smile:
duzzy
Репутация: 25
С нами: 9 лет 4 месяца

Сообщение #452 kgena_ua » 18.07.2015, 13:40

duzzy, прошу прощения, обязательно отвечу на Ваш вопрос.

Обновление WSH properties
Добавлен пикметр.
требуется foo_vis_vumeter.dll
Безымянный.png
Безымянный.png (4.03 КБ) Просмотров: 2544

Код: Выделить всё
// ==PREPROCESSOR==
// @name "properties"
// @author "kgena_ua"
// ==/PREPROCESSOR==

function RGB(r, g, b) {
    return (0xff000000 | (r << 16) | (g << 8) | (b));
}

ColorTypeCUI = { background: 3,};
var bgcolor = window.GetColorCUI(ColorTypeCUI.background);

var g_font = gdi.Font("Areal",12,0);
var g_font2 = gdi.Font("Tahoma",9,0);
var g_fontR = gdi.Font("Areal",10,0);

DT_LEFT = 0x00000000;
DT_CENTER = 0x00000001;
DT_VCENTER = 0x00000004;
DT_RIGHT = 0x00000002;
DT_WORD_ELLIPSIS = 0x00040000;
DT_SINGLELINE = 0x00000020;
var ww, wh;

var color1 = RGB(140,164,179);
var color2 = RGB(255,255,245);
var color3 = RGB(90,105,114);

var tfarray = [];
var widestring = [];

var g_tooltip = window.CreateTooltip();
var ttText = "";
g_tooltip.SetMaxWidth(300);

window.GetProperty("skip",0);
var name, value, measure, t_height;
var path = "", title;
var g_drag = false;
var g_drag_y = 0;
var s = 0;
var col1 = 10;
var col2 = 110;
var col3;
var PM_col = 40;
var LPM_row;
var RPM_row;

var metadb;
on_item_focus_change();

function on_paint(gr) {
   !window.IsTransparent && gr.FillSolidRect(0, 0, ww, wh, bgcolor);

    t_height = gr.CalcTextHeight("text", g_font) + 2;
    tfarray = [];
    widestring = [];
   
    for (j = 0; j < tfname.length; j++) {
        group = false;
        LFM = false;

        if (tfname[j].search('lastfm') >= 0) LFM = true;
        if (tfname[j].search('group') >= 0 || tfname[j] == "line" || tfname[j] == "ch 1"  || tfname[j] == "ch 2" ) group = true;

        if ((path.substr(0,4) == "http" || path.substr(0,4) == "mms:") && fb.IsPlaying  && tfname[j] != "%genre%" || LFM) {
            value = fb.TitleFormat("[" + tfname[j] + "]").Eval();
        } else {
            if (metadb) value = fb.TitleFormat("[" + tfname[j] + "]").EvalWithMetadb(metadb);
        }
       
        if ( window.GetProperty("skip") == 1) {
            if (value != 0 || group) tfarray.push(tfname[j],value);
        } else {
            tfarray.push(tfname[j],value);
        }
    }

    for (i = 0; i < tfarray.length; i = i + 2) {
        line = false;
        group = false;
        measure = "";
        measureR = "";
       
        if (tfarray[i].search('line') >= 0) line = true;
        if (tfarray[i].search('group') >= 0) group = true;

        name = tfarray[i].replace(/[%\$\(\)]|info|meta|group |line|lastfm/g,'').replace(/_/g,' ').replace('directory pathpath','directory path');
        value = tfarray[i + 1];

        if (name && value){
            if (tfarray[i] == "$info(bitrate)") measure = "  kbps";
            if (tfarray[i] == "$info(samplerate)") measure = "  Hz";
            if (tfarray[i] == "$info(bitspersample)") measure = "  bps";
            if (tfarray[i] == "$info(channels)") measure = "  ch";
           
            if (tfarray[i] == "$meta(rating)") measureR = "  (tag)";
            if (tfarray[i] == "%rating%" || tfarray[i] == "$meta(rating)")  {var reting = []; while (reting.length < value) {reting.push("★")}; value = reting.join(" ");}
        }
       
        row =  i / 2 * t_height + s;
        line_row = row + t_height / 2;
        line && gr.DrawLine(col1, line_row, ww - col1, line_row, 1, color3);
       
        gr.GdiDrawText(name + measureR, group ? g_font2 : g_font, group ? color3 : color1, col1, row, ww - col1 * 2, t_height, DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_WORD_ELLIPSIS);       
        var font = tfarray[i] == "%rating%" || tfarray[i] == "$meta(rating)" ? g_fontR : g_font;
       
        gr.GdiDrawText(value, font, color2, col2, row, ww - col2 - col1, t_height, DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_WORD_ELLIPSIS);       
       
        t_width = gr.CalcTextWidth(value, g_font);
        col3 = col2 + t_width;
        gr.GdiDrawText(measure, g_font, color1, col3, row, ww - col3 - col1, t_height, DT_LEFT | DT_SINGLELINE | DT_VCENTER | DT_WORD_ELLIPSIS);       
       
        if (t_width > ww - col2 - col1) {   widestring.push(row,value)};
       
        if (tfarray[i] == "ch 1") LPM_row = row + 6;
        if (tfarray[i] == "ch 2") RPM_row = row + 6;
    }

    g_tooltip.Text = ttText;
    if (ttText) {
        g_tooltip.Activate();
    } else {
        g_tooltip.Deactivate();
    }
 
    gr.GdiDrawText("", g_font, color2, 0, 140, ww, wh, DT_RIGHT | DT_WORD_ELLIPSIS);
    gr.GdiDrawText("", g_font2, color2, 0, 160, ww, wh, DT_RIGHT | DT_WORD_ELLIPSIS);
   
    var color = [];
    var combinedColor1 = [];
    var combinedColor2 = [];
   
    var points = db.length;
    var s1 = points * 0.6;
    var s2 = points - s1;
   
    for(var k = 0; k < s1; k++) {
        combinedColor1.push(combineColors(color_1PM[0], color_1PM[1], k / s1));
    }
    for(var k = 0; k < s2; k++) {
        combinedColor2.push(combineColors(color_2PM[0], color_2PM[1], k / s2));
    }

    color = combinedColor1.concat(combinedColor2);

    if (dll && PM) {
        LM = VUMeter.LeftPeak;   
        RM = VUMeter.RightPeak;   
    }
   
    var offset = (ww - PM_col - 10) / points;   
    var w = offset - 1;   

    if (fb.IsPlaying && PM && dll) {   
        for (var k = 0; k <= points - 1; k++) {   
            if (ToDB(LM) > db[k]) gr.FillSolidRect(PM_col + k * offset, LPM_row, w, hM, color[k]);    
            if (ToDB(RM) > db[k]) gr.FillSolidRect(PM_col + k * offset, RPM_row, w, hM, color[k] );                       

            if (ToDB(LM) > db[k] && ToDB(LM) < db[k+1]) {xLM = k * offset};   
            if (xLManim <= xLM) {xLManim = xLM; xLManim2 = xLM; kLM = 0; kLM2 = 0};
            if (xLManim > PM_col) gr.FillSolidRect(PM_col + xLManim + offset, LPM_row, w * 0.5, hM , color[Math.round(xLManim/offset)]);    

            if (ToDB(RM) > db[k] && ToDB(RM) < db[k+1]) {xRM = k * offset};   
            if (xRManim <= xRM) {xRManim = xRM; xRManim2 = xRM; kRM = 0; kRM2 = 0};
            if (xRManim > PM_col) gr.FillSolidRect(PM_col + xRManim + offset, RPM_row, w * 0.5, hM, color[Math.round(xRManim/offset)]);    

           if (xLManim2 > PM_col) gr.FillSolidRect(PM_col + xLManim2 + offset - 0, LPM_row, 3, hM, color[Math.round(xRManim2/offset)]);    
           if (xRManim2 > PM_col) gr.FillSolidRect(PM_col + xRManim2 + offset - 0, RPM_row, 3, hM, color[Math.round(xLManim2/offset)]);    
        }
    } else {
        xLM = 0; xRM = 0; xLManim = 0; xRManim = 0;

    }       
}

function on_mouse_lbtn_down(x, y) {
    g_drag = true;
    g_drag_y = (y - s);
}

function on_mouse_lbtn_up(x, y) {
    g_drag = false;
}
var pos_y;
function on_mouse_move(x, y) {
    window.SetCursor(32649);
   
    pos_y = y;
   
    ttText = "";

    for (i = 0; i < widestring.length; i = i + 2) {
        if (y > widestring[i] && y < widestring[i] + t_height && x > col2) {
                ttText = widestring[i + 1];
            if (ttText) return;
        } else {
//            ttText = "";
        }
    }
   
    if (g_drag) {
        if (s <= 0 && (tfarray.length / 2 * t_height) >= wh) {s = y - g_drag_y};
        applyDelta();
    }
   
    if (s == 0 || s == wh - tfarray.length / 2 * t_height) g_drag_y = (y - s);
    window.Repaint();
}

function on_mouse_wheel(step) {
    if (s <= 0 && tfarray.length / 2 * t_height >= wh) {s = s + step * t_height};
    applyDelta();
}

function applyDelta() {
    s = s > 0 ? 0 : s;
    s = s < (wh - tfarray.length / 2 * t_height) && s < 0 ? (wh - tfarray.length / 2 * t_height) : s;
    window.Repaint();
}

function on_mouse_leave() {   
    window.SetCursor(32512);
    window.Repaint();
}

var title, artist, album;

function on_metadb_changed() {
    path = fb.Titleformat("%path%").EvalWithMetadb(metadb);
}

function on_item_focus_change() {
    metadb = fb.IsPlaying ? fb.GetNowPlaying() : fb.GetFocusItem() ,true;
    if (metadb) on_metadb_changed();
    window.Repaint();
}

function on_playback_new_track(metadb) { 
    on_item_focus_change();
}

function on_playback_time(time){
    on_item_focus_change();
}

function on_selection_changed(metadb) {
    on_item_focus_change();
}

function on_playlist_switch() {
    on_item_focus_change();
}

function on_playback_stop() {
}

var wh_old;

function on_size() {
    ww = window.Width;
    wh = window.Height;
    if (wh != wh_old  && s < 0) {
        s = wh >= wh_old ? s + 1 : s;
        wh_old = wh;
    }
}

function on_mouse_rbtn_up (x, y){     
    var _menu = window.CreatePopupMenu();
    var i = 1;

    MF_ENABLED = 0x00000000;
    MF_GRAYED = 0x00000001;
   
    _menu.AppendMenuItem(MF_ENABLED, 1, "skip if empty");
    _menu.CheckMenuItem(1, window.GetProperty("skip"));

    ShiftDown = utils.IsKeyPressed(0x10) ? true : false;
   
    if (ShiftDown) {
        _menu.AppendMenuItem(0x00000800, 0, 0);
        _menu.AppendMenuItem(0x00000000, 10, "Reload");
        _menu.AppendMenuItem(0x00000800, 0, 0);
        _menu.AppendMenuItem(0x00000000, 20, "Properties");
        _menu.AppendMenuItem(0x00000000, 30, "Configure ...");
    }

    ret = _menu.TrackPopupMenu(x,y);

    switch (ret) {
    case 1:   
        window.SetProperty("skip", window.GetProperty("skip") == 0 ? 1 : 0);
        if (s < 0) s = 0;
        break;
    case 10:
        window.Reload();
        break;
    case 20:
        window.ShowProperties();
        break;   
    case 30:
        window.ShowConfigure();      
        break;
   }
    _menu.Dispose();
    return true;
}

var tfname = new Array(
"%artist%",
"%title%",
"%album%",
"%date%",
"%genre%",
"%composer%",
"%performer%",
"%publisher%",
"%album artist%",
"%track number%",
"%totaltracks%",
"%discnumber%",
"%totaldiscs%",
"%comment%",
"%rating%",
"$meta(rating)",
"line",
"group G E N E R A L",
"$info(samplerate)",
"$info(channels)",
"ch 1",
"ch 2",
"$info(bitspersample)",
"$info(bitrate)",
"%codec%",
"$info(codec_profile)",
"$info(encoding)",
"%length%",
"$info(tool)",
"$info(cue_embedded)",
"line",
"group L O C A T I O N",
"%filename_ext%",
//"%path%",
"$directory_path(%path%)",
"%subsong%",
"%filesize_natural%",
"%last_modified%",
"%folder name%",
"line",
"group P L A Y B A C K   S T A T I S T I C S",
"%play_count%",
"%first_played%",
"%last_played%",
"%added%",
"line",
"group L A S T F M",
"%lastfm_bio%",
"%lastfm_similar_artist%",
"%lastfm_artist_playcount%",
"%lastfm_artist_listeners%",
"%lastfm_album_playcount%",
"%lastfm_album_listeners%",
"%lastfm_album_content%"
);


var dll;
var is_dll = utils.CheckComponent("\\user-components\\foo_vis_vumeter\\foo_vis_vumeter");
if (is_dll) {dll = false} else {dll = true};

if (dll) {VUMeter = new ActiveXObject("VUMeter")};   
//if (dll) {VUMeter.RegisterWindow(window.ID)}; // do not use for transparent mode   

var repaint_timer;

function on_playback_new_track() {   
    repaint_timer && window.ClearInterval(repaint_timer);   
    repaint_timer = window.SetInterval(function() {   
        kLM = kLM + 15;   
        kRM = kRM + 15;          
        xLManim = xLManim - 0.002 * kLM;           
        xRManim = xRManim - 0.002 * kRM;   
        kLM2 = kLM2 + 0.5;
        kRM2 = kRM2 + 0.5;          
        xLManim2 = xLManim2 + kLM2;
        xRManim2 = xRManim2 + kRM2;
        window.Repaint();    
    },10);   


function on_playback_time(){
    if(!repaint_timer) on_playback_new_track();
    window.Repaint();


function on_playback_stop() {
    window.ClearInterval(repaint_timer);
    window.Repaint();
}

function ToDB(Level){
    return (20*Math.log(Level)/Math.LN10).toFixed(2);
}

var db = new Array(   
   -25,
   -20,
   -15,
   -12.5,
   -10,
   -7.5,
   -5,
   -3.5,
   -3,
   -2.5,
   -2,
   -1.5,
   -1,
   -0.5,
   0,
   0.1,
   1,
   1.5,
   2,
   2.5,
   3,
   3.5,
   5,
   7.5,
   10
);   

var PM = true;
//var points = 27;

var hM = 6;   

var xLManim = 0, xRManim = 0;
var xLM = 0, xRM = 0;   
   
var kLM = 0, kRM = 0;
var kLM2 = 0, kRM2 = 0;   
   
var xLManim2 = 0, xRManim2 = 0;


var color_1PM = [ color3, color1 ];
var color_2PM = [RGB(200,200,200), color3 ];


function combineColors(c1, c2, f){ // When fraction is 0, result is 100% color1, when f is 1, result is 100% color2.
    var c1 = toRGB(c1);
    var c2 = toRGB(c2);

    var r = Math.round(c1[0] + f * (c2[0] - c1[0]));
    var g = Math.round(c1[1] + f * (c2[1] - c1[1]));
    var b = Math.round(c1[2] + f * (c2[2] - c1[2]));
   
    return (0xff000000 | (r << 16) | (g << 8) | (b));
}

function toRGB(d){ // convert back to RGB values
    var d = d-0xff000000;
    var r = d >> 16;
    var g = d >> 8 & 0xFF;
    var b = d & 0xFF;

    return [r,g,b];
}

kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #453 duzzy » 18.07.2015, 16:48

kgena_ua:duzzy, прошу прощения, обязательно отвечу на Ваш вопрос.
Спасибо! Это не горит, просто самому очень даже интересно :smile: . Я сам не кодер, но некоторые вещи знаю), пытался по аналогии делать не получается... говорили мне родители учи математику)))
duzzy
Репутация: 25
С нами: 9 лет 4 месяца

Сообщение #454 kgena_ua » 19.07.2015, 08:04

duzzy, Выложите файлы-изображения h_btn и n_btn из папки themes.
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #455 duzzy » 19.07.2015, 15:45

kgena_ua
сори виноват, забыл про графику.... :oops: сейчас...
n.png
n.png
n.png (396 байт) Просмотров: 2482

h.png
h.png
h.png (422 байт) Просмотров: 2482
duzzy
Репутация: 25
С нами: 9 лет 4 месяца

Сообщение #456 kgena_ua » 20.07.2015, 00:06

WSH Timer & Alarm clock будет доделан: добавим часы и главное нюансы с таймером - синхронизация с текущим временем и т.д.

Вопрос такой. Иногда при воспроизведении Ирадио можно увидеть такое:
Безымянный.png

каким образом это можно отследить (если что-то не так , а вот что ...). Не хочется видеть это сообщение - можно сделать эту строку в плейлисте ... ну там красным, например.
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #457 MC Web » 20.07.2015, 00:27

kgena_ua:Не хочется видеть это сообщение
Может отключить сообщения об ошибках, в плейлисте будут пропускаться проблемные места.
MC Web
Репутация: 248
С нами: 11 лет 3 месяца

Сообщение #458 kgena_ua » 20.07.2015, 00:58

MC Web, как вариант. Только не для тех кто пытается сделать сборку под себя. Люди сидят, копаются в WSH и PSS, возьмите себя. А было бы нормально - если станция недоступна - вывести в плейлисте : станция такая-то недоступна.
Как пример. Пишу рейтинг в тэги. В случае если файл read - only выскакивало сообщение - сделал проверку на read - only и теперь просто не дает изменить рейтинг, а предлагает изменить на read - write.
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Сообщение #459 sega72 » 20.07.2015, 10:31

kgena_ua, помогите:
Вставил (с заменой) ваш код из сообщения #452 в WSH Panel Mod. Применяю, получаю ошибку:
Спойлер
Scripting Engine Initialization Failed (properties by kgena_ua, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error).
В консоли написано это:
Спойлер
Error: WSH Panel Mod (properties by kgena_ua): Ошибка выполнения Microsoft JScript:
Команда не поддерживается объектом
File: <main>
Ln: 11, Col: 1
<source text only available at compile time>
что я делаю не так?
sega72
Репутация: 6
С нами: 9 лет 11 месяцев

Сообщение #460 kgena_ua » 20.07.2015, 13:17

sega72, CUI или DUI ?
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 7 месяцев

Пред.След.

Вернуться в Секреты foobar2000