foo_uie_wsh_panel_mod

Список разделов foobar2000 Плагины

Описание: Все о плагинах, компонентах, расширениях

Сообщение #1 lamoonline » 17.07.2009, 19:43

Скачал отсюда: http://code.google.com/p/foo-wsh-panel-mod/downlo ... foo_uie_wsh_panel_mod-1.1.7.7z
Во-первых: появился только volume bar, seekbar - не повился.
Во-вторых: ни один скрипт их этой темы (/index.php?topic=1878.msg26770) не заработал.
Объясните дураку пожалуйста что куда тыкнуть, чтоб все заработало.

+ UPD:
Дабы не создать новую тему, спрошу в этой: как реализовать следующую функцию - в первом плейлисте поставил трек на паузу, перешол в другой, послушал там пару треков, вернулся в первый и снял трек с паузы. Есть плагин или что ?
Последний раз редактировалось evil 14.03.2010, 20:09, всего редактировалось 1 раз.
lamoonline
Автор темы
Репутация: 0
С нами: 14 лет 7 месяцев

Сообщение #2 hpcs » 17.07.2009, 23:42

2lamoonline,либо пользуйся скриптом 2 в 1(ответ №15 (07 июля 2009, 12:29) volume bar и seek bar) либо создавай 2 панели и в каждую пихай соответствующие скрипты
hpcs
Аватара
Репутация: 0
С нами: 15 лет 2 месяца

Сообщение #3 lamoonline » 18.07.2009, 00:21

Как создать 2 панели?
P.s. На мое удивление скрипт заработал, но появился только seekbar...
Последний раз редактировалось lamoonline 18.07.2009, 00:25, всего редактировалось 1 раз.
lamoonline
Автор темы
Репутация: 0
С нами: 14 лет 7 месяцев

Сообщение #4 lamoonline » 18.07.2009, 00:48

Все, спасибо, разобрался.

p.s. Второй вопрос все еще открыт.
Последний раз редактировалось lamoonline 18.07.2009, 01:12, всего редактировалось 1 раз.
lamoonline
Автор темы
Репутация: 0
С нами: 14 лет 7 месяцев

Сообщение #5 Izotop » 18.07.2009, 00:49

lamoonline:Как создать 2 панели?
1) скачайте поновее версию плагина foo_uie_wsh_panel_mod? foo_uie_wsh_panel_mod-1.1.9.7z
2) какой интерфейс используете?
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 3 месяца

Сообщение #6 lamoonline » 18.07.2009, 01:14

Izotop:1) скачайте поновее версию плагина foo_uie_wsh_panel_mod? foo_uie_wsh_panel_mod-1.1.9.7z
2) какой интерфейс используете?

Использую CUI, версия Вами указанная, уже установленна.
lamoonline
Автор темы
Репутация: 0
С нами: 14 лет 7 месяцев

Сообщение #7 vicing » 05.10.2009, 18:27

Как создать 2 панели?
Господа, я здесь новенький, давайте возобновим обсуждение данного вопроса, плагин поновее скачал, а как скрипт второй добавить?
vicing M
Откуда: москва
Репутация: 3
С нами: 14 лет 4 месяца

Сообщение #8 Максим » 05.10.2009, 21:00

vicing
Добавить панель WSH, правой кнопкой мыши на ней и Configure. Потом вставить нужный скрипт. :)
Максим M
Аватара
Репутация: 93
С нами: 16 лет 11 месяцев

Сообщение #9 vicing » 05.10.2009, 23:11

Максим

панелька то есть, я хотел спросить про возможность использования двух отдельных WSH, одна с громкостью, другая с длинной трека. Такое возможно?
vicing M
Откуда: москва
Репутация: 3
С нами: 14 лет 4 месяца

Сообщение #10 Izotop » 07.10.2009, 21:57

vicing:возможность использования двух отдельных WSH
Preferences --> Display --> Columns UI
выбираем вкладку Layout --> жмём ПКМ на панели вкладок --> Insert Panel --> Panels --> WSH Panel
Повторив вышеописанные действия --> cоздаём столько WSH-панелей, сколько Вам потребуется. *пыво*
Izotop M
Аватара
Откуда: Зеленоград - Харьков
Репутация: 69
С нами: 15 лет 3 месяца

Сообщение #11 vicing » 07.10.2009, 22:19

спасибо, я забыл отписаться, у меня до этого foo_uie_wsh_panel_mod не правильно работал
vicing M
Откуда: москва
Репутация: 3
С нами: 14 лет 4 месяца

Сообщение #12 varg » 24.10.2009, 21:22

У меня такой вопрос: поставил сборку, в которой обложка альбома выводится с помощью панели MiniCover, причём цеплются только файлы вида front.*, cover.* etc.

Изображение

В конфигураторе панели следующий код:
Код: Выделить всё
// DarkOne Cover Panel
// Code by super-gau, T.P. Wang and tedGo

AlbumArtId = {
    front: 0,
    back: 1,
    disc: 2,
    icon: 3,
    artist: 4
};

var img_path = fb.FoobarPath + "DarkOne16\\Images\\";

var g_stop_img = gdi.Image(img_path + "DarkOne.png");
var g_nocover_img = gdi.Image(img_path + "NoCover.png");
var g_radio_img = gdi.Image(img_path + "Radio.png");
var g_cd_img = gdi.Image(img_path + "AudioCD.png");

var g_rawimg = null;
var g_state = AlbumArtId.front;
var ww, wh;

getRightImage(fb.GetNowPlaying(), false);

function getRightImage(metadb, switchstate) {
    if (metadb) {
        var g_cover_img = null;

        if (fb.PlaybackLength <= 0)
            g_cover_img = g_radio_img;
        else if (metadb.RawPath.indexOf("cdda://") == 0)
            g_cover_img = g_cd_img;
        else {
            var old_state = g_state;

            do {
                if (switchstate) switchState();

                g_cover_img = utils.GetAlbumArt(metadb.RawPath, g_state, false);
            } while (switchstate && (old_state != g_state) && !g_cover_img);
        }
    }

    if (g_cover_img)
        g_rawimg = g_cover_img;
    else if (!switchstate)
        g_rawimg = g_nocover_img;

   CollectGarbage();

    return g_rawimg ? true : false;
}

function switchState() {
    if (g_state == AlbumArtId.artist) g_state = AlbumArtId.front;
    else g_state++;
}

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

function on_paint(gr) {
    var back_col = fb.IsPlaying ? 0xFF1F323F : 0xFF131E26;
    var src_w = fb.IsPlaying ? g_rawimg.Width : g_stop_img.Width;
    var src_h = fb.IsPlaying ? g_rawimg.Height : g_stop_img.Height;
    var img_scale = Math.min(ww / src_w, wh / src_h);
    var img_w = src_w * img_scale;
    var img_h = src_h * img_scale;
    var img_x = (ww - img_w) / 2;
    var img_y = (wh - img_h) / 2;

    gr.FillSolidRect(0, 0, ww, wh, back_col);

    if (fb.IsPlaying)
      g_rawimg && gr.DrawImage(g_rawimg, img_x, img_y, img_w, img_h, 0, 0, g_rawimg.Width, g_rawimg.Height);
    else
      gr.DrawImage(g_stop_img, img_x, img_y, img_w, img_h, 0, 0, g_stop_img.Width, g_stop_img.Height);
}

function on_mouse_lbtn_down(x, y, mask) {
    if (!fb.IsPlaying)
      return;

    getRightImage(fb.GetNowPlaying(), true);
    window.Repaint();
}

function on_playback_new_track(metadb) {
    if (getRightImage(metadb, false))
      window.Repaint();
}

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

Как заставить плеер цеплять jpg с любым именем из проигрываемого каталога? у меня все сканы в отдельных каталогах, кроме фронтов, но переименовывать их очень долго..
varg M
Репутация: 0
С нами: 17 лет 7 месяцев

Сообщение #13 hpcs » 24.10.2009, 22:00

*.jpg или я ошибаюсь?
hpcs
Аватара
Репутация: 0
С нами: 15 лет 2 месяца

Сообщение #14 varg » 24.10.2009, 22:30

*.jpg
ну, возможно.. но в каком месте-то?
varg M
Репутация: 0
С нами: 17 лет 7 месяцев

Сообщение #15 LuSP » 03.11.2009, 12:09

Здравствуйте.
У меня следующая проблема: Нужно, чтобы бегунок в прогресс-баре менялся при наведении на него курсора. На данный момент он меняется при попадании курсора в любую область прогресс-бара...
Скрины:
Изображение
Изображение
Изображение
Конфиг:
Код: Выделить всё
var g_drag = 0;
var hofset = 15;
var is = 32;
var wh = 0;
var vofset;
var length;
var grad;
var g_is_mouse_in = false;
var img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_normal.png");
function on_paint(gr){
vofset = (window.Height-wh)/2;
ww = window.Width - 2*hofset;
length = fb.PlaybackLength;
grad = 0;
if (length > 0) grad = fb.PlaybackTime/fb.PlaybackLength;
gr.DrawImage(img, hofset+ww*grad-is/2, (window.Height-14)/2, 32, 14, 0, 0,32, 14);
}
function on_mouse_lbtn_down(x,y){
g_drag = 1;
on_mouse_move(x,y);
img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_press.png");
window.Repaint();
}
function on_mouse_lbtn_up(x,y){
//on_mouse_move(x,y);
g_drag = 0;
img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_hover.png");
window.Repaint();
}
function on_mouse_move(x,y){
if (!g_is_mouse_in) {
g_is_mouse_in = true;
on_mouse_enter();
}
if(g_drag){
img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_press.png");
window.Repaint();
var v = (x-hofset)/ww;
v = (v<0) ? 0 : (v<1) ? v : 1;
fb.PlaybackTime = fb.PlaybackLength * v;
}
}
function on_mouse_wheel(delta){
if(delta>0)
fb.PlaybackTime = fb.PlaybackTime + delta;
else
fb.PlaybackTime = fb.PlaybackTime + delta;
}
function on_playback_new_track(info){
window.Repaint();
}
function on_playback_stop(){
img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_normal.png");
window.Repaint();
}
function on_playback_seek(time){
window.Repaint();
}
function on_playback_time(time){
window.Repaint();
}
function on_playback_pause(state) {
img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_normal.png");
window.Repaint();
}
function on_mouse_enter(){
//fb.trace("focus " + focused);
img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_hover.png");
window.Repaint();
}
function on_mouse_leave() {
g_is_mouse_in = false;
img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_normal.png");
window.Repaint();
}

P.S. Использую WSH Panel Mod v1.1.10
LuSP
Репутация: 0
С нами: 14 лет 7 месяцев

Сообщение #16 Максим » 03.11.2009, 17:35

Вот так:
Код: Выделить всё
function on_mouse_move(x,y){
if (!g_is_mouse_in && x >= hofset+ww*grad-is/2 && x<=32+hofset+ww*grad-is/2 ) {
g_is_mouse_in = true;
on_mouse_enter();
}
if(g_drag){
img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_press.png");
window.Repaint();
var v = (x-hofset)/ww;
v = (v<0) ? 0 : (v<1) ? v : 1;
fb.PlaybackTime = fb.PlaybackLength * v;
}
}
Максим M
Аватара
Репутация: 93
С нами: 16 лет 11 месяцев

Сообщение #17 LuSP » 03.11.2009, 19:21

2Максим Спасибо, работает.
А как добавить условие, чтобы прогресс-бар реагировал на курсор только во время воспроизведения/паузы?
LuSP
Репутация: 0
С нами: 14 лет 7 месяцев

Сообщение #18 Максим » 03.11.2009, 19:34

Код: Выделить всё
function on_mouse_move(x,y){
if (!g_is_mouse_in && x >= hofset+ww*grad-is/2 && x<=32+hofset+ww*grad-is/2 && (fb.IsPlaying || fb.IsPaused) ) {
g_is_mouse_in = true;
on_mouse_enter();
}
if(g_drag){
img = gdi.image(fb.FoobarPath + "components\\bitmaps\\seekcursor_press.png");
window.Repaint();
var v = (x-hofset)/ww;
v = (v<0) ? 0 : (v<1) ? v : 1;
fb.PlaybackTime = fb.PlaybackLength * v;
}
}
Максим M
Аватара
Репутация: 93
С нами: 16 лет 11 месяцев

Сообщение #19 LuSP » 03.11.2009, 20:14

Спасибо, но это немного не то...  :(
LuSP
Репутация: 0
С нами: 14 лет 7 месяцев

Сообщение #20 LuSP » 03.11.2009, 20:45

Если навести курсор на бегунок в режиме play, то он меняется на seekcursor_hover.png до тех пор, пока курсор не уйдёт с прогресс-бара, а не с бегунка.

Как поменять  function on_mouse_leave(x,y), чтобы исправить баг?
Последний раз редактировалось LuSP 03.11.2009, 22:55, всего редактировалось 1 раз.
LuSP
Репутация: 0
С нами: 14 лет 7 месяцев

След.

Вернуться в Плагины