Скрипты для foo_uie_wsh_panel_mod

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

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

Сообщение #2921 seriousstas » 09.10.2021, 00:41

SergPuh.68:SergPuh.68 » 15 минут назад

В сборке у LUR работает хорошо,у меня нет.У меня JSplitter 2.7.2
Как будешь готов - кинь в личку, посмотрю.
seriousstas
Откуда: Украина , Ивано-Франковск
Репутация: 110
С нами: 9 лет 10 месяцев

Сообщение #2922 seriousstas » 10.10.2021, 22:45

Наглядный пример
Спойлер
Код: Выделить всё
// ==PREPROCESSOR==
// @name "Timer"
// @author "T.P Wang"
// ==/PREPROCESSOR==

// This sample create two timers
// Click the window to start the timer, and see the result after the console is shown.
// Click the window again to kill all timers.

var g_timer_started = false;
var g_count = 0;
var g_timer1_ID, g_timer2_ID;

function print_to_console(msg) {
   console.log('Timer test:', msg);
}

function on_mouse_lbtn_up() {
   if (!g_timer_started) {
      // Timer are created here
      // 2s - one shot, happens after 2000 ms, only once
      g_timer1_ID = window.SetTimeout(function() {
         // Print and show console
         fb.ShowConsole();
         print_to_console('g_timer1: Show console now.');
      }, 2000);
      
      // 500ms - periodic, happens every 500 ms
      g_timer2_ID = window.SetInterval(function() {
         g_count++;
         print_to_console('g_timer2: ' + g_count + ' time(s).');
      }, 500);
      
      g_timer_started = true;
   } else {
      // Kill all timers
      window.ClearTimeout(g_timer2_ID);
      window.ClearInterval(g_timer1_ID);
      g_timer_started = false;
      g_count = 0;
      print_to_console('Timers killed.');
   }
}
Из архива foo_jscript_panel-2.7.2
seriousstas
Откуда: Украина , Ивано-Франковск
Репутация: 110
С нами: 9 лет 10 месяцев

Сообщение #2923 SergPuh.68 » 12.10.2021, 10:14

Скрипт скрытия/показа панелей при изменении размеров окна плеера (on_size())
Спойлер
Код: Выделить всё
var Panel1 = window.GetPanel("Panel1");
var Panel2 = window.GetPanel("Panel2");
var Panel3 = window.GetPanel("Panel3");
var Panel4 = window.GetPanel("Panel4");

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

    do_layout();

    Panel1.Hidden = true;   
    Panel2.Hidden = true;
    Panel3.Hidden = true;   
    Panel4.Hidden = true;

    on_timer;
}

window.SetTimeout(on_timer, 2000);
function on_timer() {
    window.SetTimeout(on_timer, 2000);
   
    Panel1.Show()
    Panel2.Show();
    Panel3.Show();
    Panel4.Show();
}   

function do_layout() {   
    Panel1.Move(x, y, ww, wh);
    Panel2.Move(x, y, ww, wh);
    Panel3.Move(x, y, ww, wh);
    Panel4.Move(x, y, ww, wh);
}

function on_mouse_leave() {
    Panel1.Show();
    Panel2.Show();
    Panel3.Show();
    Panel4.Show();
}

function on_mouse_move() {
    Panel1.Show();
    Panel2.Show();
    Panel3.Show();
    Panel4.Show();
}
SergPuh.68 M
Аватара
Откуда: Украина
Репутация: 143
С нами: 5 лет 10 месяцев

Сообщение #2924 seriousstas » 13.10.2021, 01:02

SergPuh.68:Скрипт скрытия/показа панелей
У тебя таймер зациклен, но его нужно обнулять при изменении размена окна (и выключать в конце) иначе будут без надобности "грузить" сборку.
+ не ясно зачем тебе on_mouse и on_mouse_leave , при любом движении мышкой ВСЕ! панели будут открываться(или проверяться, что так-же будет подгружать процессор без нужды.). Таймер отработал - показуй do_layout();
Через переменную внутри on_size будет оптимально.
В примере для сборки LUR , что выше - это chsz;
От ее состояния внутри on_size() зависит работа и отключение таймера. Попробуй.
И две секунды это вечность.. 300-500 в самый раз
Если используется подложка картинка в плейлистах _cover_image = utils.GetAlbumArtV2 ,
то (повторюсь) любой рисунок выше 600 пикселей уже будет влиять и на старт и на ресайз, а 3000 пикселей - практически "парализует".
Поэтому и её так-же нужно выключать на время работы таймера.
seriousstas
Откуда: Украина , Ивано-Франковск
Репутация: 110
С нами: 9 лет 10 месяцев

Сообщение #2925 SergPuh.68 » 13.10.2021, 18:55

seriousstas:У тебя таймер зациклен, но его нужно обнулять при изменении размена окна (и выключать в конце) иначе будут без надобности "грузить" сборку.
Я понял,буду пробовать.
SergPuh.68 M
Аватара
Откуда: Украина
Репутация: 143
С нами: 5 лет 10 месяцев

Сообщение #2926 SergPuh.68 » 27.10.2021, 09:07

Привет.Подскажите как правильно написать условие если файл проигрывается с YouTube,например если присутствует %fy_channel_title% то...
Код: Выделить всё
if (???) {   
    ButtonDown.Move(ww-52, hh-9);
    ButtonBraw.Move(ww-103, hh-9);
    ButtonSelp.Move(ww-154, hh-9);
    } else {
    ButtonFold.Move(ww-52, hh-9);
}
SergPuh.68 M
Аватара
Откуда: Украина
Репутация: 143
С нами: 5 лет 10 месяцев

Сообщение #2927 kgena_ua » 27.10.2021, 11:53

SergPuh.68:как правильно написать условие если файл проигрывается с YouTube
Надо проверять metadb.RawPath

Код: Выделить всё
if (metadb && metadb.RawPath.indexOf("youtube") >= 0) тогда файл проигрывается с YouTube
kgena_ua M
Аватара
Откуда: Украина, Днепр
Репутация: 504
С нами: 11 лет 8 месяцев

Сообщение #2928 SergPuh.68 » 27.10.2021, 13:54

Осталось дело за малым,определить metadb?
Вложения
2021-10-27_124748.jpg
SergPuh.68 M
Аватара
Откуда: Украина
Репутация: 143
С нами: 5 лет 10 месяцев

Сообщение #2929 seriousstas » 27.10.2021, 18:13

Код: Выделить всё
var metadb = fb.IsPlaying ? fb.GetNowPlaying() : fb.GetFocusItem();
как вариант ..
seriousstas
Откуда: Украина , Ивано-Франковск
Репутация: 110
С нами: 9 лет 10 месяцев

Сообщение #2930 SergPuh.68 » 27.10.2021, 19:20

seriousstas, так не получается.Нужно как то что бы работало в реальном времени а не после перезагрузки плеера или скрипта.
Спойлер
Код: Выделить всё
function move_buttons() {
    var metadb = fb.IsPlaying ? fb.GetNowPlaying() : fb.GetFocusItem();
    var hw = ww/2;
    var hh = wh/2;   
    ButtonPrev.Move(0, wh-150);
    ButtonPlay.Move(68, wh-150);
    ButtonNext.Move(136, wh-150);
    ButtonStop.Move(204, wh-150);
    ButtonDele.Move(hw, wh-150);
    ButtonNewp.Move(hw+68, wh-150);
    ButtonSavp.Move(hw+136, wh-150);
    ButtonMenu.Move(ww-272, wh-150);
    ButtonPref.Move(ww-204, wh-150);
    ButtonOrde.Move(ww-136, wh-150);
    ButtonMedp.Move(hw+10, hh-9);
    if (metadb && metadb.RawPath.indexOf("youtube") >= 0) {
    ButtonDown.Move(ww-52, hh-9);
    ButtonBraw.Move(ww-103, hh-9);
    ButtonSelp.Move(ww-154, hh-9);
    } else {
    ButtonFold.Move(ww-52, hh-9);   
    }
}
SergPuh.68 M
Аватара
Откуда: Украина
Репутация: 143
С нами: 5 лет 10 месяцев

Сообщение #2931 name-x » 31.10.2021, 19:56

kgena_ua:Biography, Covers, Albums, Title, Similar artist, Lyrics info.www.last.fm.
version 10042021

WSH panel mod.
Исправление ошибок.
Biography, Covers, Albums, Title, Similar artist, Lyrics info.www.last.fm 10042021.rar

Поставил плагин WSH Panel Mod 1.5.6 , загружаю ваш последний скрипт, ошибка :


Scripting Engine Initialization Failed (Biography, Covers, Albums, Title, Similar artist, Lyrics info.www.last.fm. v10042021 by kgena_ua, CODE: 0x80020101)
Check the console for more information (Always caused by unexcepted script error).
name-x
Репутация: 0
С нами: 3 года 1 месяц

Сообщение #2932 SergPuh.68 » 03.11.2021, 22:51

SergPuh.68:правильно написать условие если файл проигрывается с YouTube
С YouTube разобрался,а как идентифицировать если проигрывается локальное видео(присутствует видеокодек) и играет радио?
SergPuh.68 M
Аватара
Откуда: Украина
Репутация: 143
С нами: 5 лет 10 месяцев

Сообщение #2933 sever2k » 04.11.2021, 16:11

Здравствуйте, подскажите пожалуйста как заставить wsh panel отображать знак ";" в тексте.
sever2k
Аватара
Репутация: 2
С нами: 7 лет 3 месяца

Сообщение #2934 SergPuh.68 » 04.11.2021, 16:17

sever2k, а что просто ; не отображается?
SergPuh.68 M
Аватара
Откуда: Украина
Репутация: 143
С нами: 5 лет 10 месяцев

Сообщение #2935 sever2k » 04.11.2021, 16:20

вместо ";" - ",", а нужно ";"
sever2k
Аватара
Репутация: 2
С нами: 7 лет 3 месяца

Сообщение #2936 SergPuh.68 » 04.11.2021, 16:23

У меня всё отображается нормально "%title%;"
2021-11-04_142053.jpg
2021-11-04_142053.jpg (9.58 КБ) Просмотров: 1748
SergPuh.68 M
Аватара
Откуда: Украина
Репутация: 143
С нами: 5 лет 10 месяцев

Сообщение #2937 sever2k » 04.11.2021, 16:37

; нужен не в коде, а в содержимом тега. Например: "Charlie Huhn - vocals; Axel Rudi Pell - guitars; Jörg Michael - drums; Volker Krawczak - bass; Jörg Deisinger - bass; Thomas Bodo Smuczynski - bass; George Hahn - keys; Rüdiger König - keys."
Вложения
Снимок.JPG
sever2k
Аватара
Репутация: 2
С нами: 7 лет 3 месяца

Сообщение #2938 Azaza » 04.11.2021, 16:51

; в фубаре является разделителем значений для полей, поддерживающих несколько значений (т.н. multivalue fields). Поэтому при отображении значений этих полей заменяется на запятую, да.
Если нужно записать ; в поле буквально, а не как разделитель, то нужно убрать имя этого поля из File->Preferences->Advanced->Display->Properties dialog->Multivalue fields, затем заново записать и сохранить значения с ; , а затем снова добавить это поле в File->Preferences->Advanced->Display->Properties dialog->Multivalue fields. Если функционал multivalue fields не нужен, то можно, конечно, и не добавлять имя поля обратно в File->Preferences->Advanced->Display->Properties dialog->Multivalue fields
Просто изменить отображение через title formatting можно так $replace(%artist%,',',;) - при отображении значения поля %artist% будет отображаться ; вместо запятой. Правда, $replace заменит на ; так же и настоящие запятые, а не только те, которые отображаются по умолчанию вместо разделиителя ;
Последний раз редактировалось Azaza 04.11.2021, 17:45, всего редактировалось 2 раз(а).
Azaza M
Аватара
Репутация: 417
С нами: 8 лет 3 месяца

Сообщение #2939 sever2k » 04.11.2021, 17:42

Значения удалил все (нужного там и не было), сделал все по инструкции несколько раз, перезагружал тоже, но увы..
Вложения
Снимок.JPG
sever2k
Аватара
Репутация: 2
С нами: 7 лет 3 месяца

Сообщение #2940 Azaza » 04.11.2021, 17:52

sever2k:Значения удалил все (нужного там и не было), сделал все по инструкции несколько раз, перезагружал тоже, но увы..
Пожалуй, я коряво объяснил. Вы точно заново сохранили поле с ;? Его нужно именно отредактировать через Properties, чтобы фубар заново сохранил теги в файл.
phpBB [media]
Azaza M
Аватара
Репутация: 417
С нами: 8 лет 3 месяца

Пред.След.

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