seriousstas, пока поставил 1500 мс. Погоняю, дальше посмотрим. Спасибо.
Добавлено спустя 5 часов 1 минуту:
При 1500 мс иногда подтормаживало, выставил сразу 3500 - пока нормально.
Список разделов › foobar2000 › Секреты foobar2000
3500 это то (мин.) время при котором нормально работала смена размеров "на лету" в скрипте Марка .MC Web:seriousstas, пока поставил 1500 мс. Погоняю, дальше посмотрим. Спасибо.
При 1500 мс иногда подтормаживало, выставил сразу 3500 - пока нормально.
Да, никаких проблем. Спасибо за подсказку. С моим зрением время на сикбаре не вижу, а тут поупражнявшисьseriousstas:под WSH 1.6.0 - без проблем
Смотря какое значение скорости прокрутки Speed Scroll выставлено. При меньшем значении (большей скорости) все "задержки" при работе в других скриптах становятся более заметны. В частности поэтому и отказался от JSPlaylist, как не подбирал, все равно было заметно.seriousstas:Бегущая строка (также от kgena_ua) оказалась лучшим отладчиком, сейчас есть небольшое малозаметное подтормаживание только при выводе картинки - один раз .
duzzy делал много изменений - попробуй его версию ..JSPlaylist
никогда не любил wsh panel. Одни глюки от её скриптов и тормоза
автор marc2003MC Web, то-то я думаю, нафига они такой убогий функционал передрали с wsh panel?
Да это понятно.seriousstas:Отличия от WSH по большей части касаются работы с библиотекой .
Чисто для лохов, не хватает удобного графического интерфейса настроек, куда бы перемещались все настраиваемые параметры.seriousstas:Чего не хватает по-функционалу ?
Глюков и тормозов никогда не наблюдал. Скрипты от Марка не любил когда на ХР ехал,megane68:Одни глюки от её скриптов и тормоза
Нереально...настолько хотелки у всех нас разные. Твоя крайняя сборка заняла у меня место основнойseriousstas:можно ему собрать предложения
но в некоторых случаях наверное слишком многого хотят от wsh
Если есть определенные знания в программировании и время, тогда да. Большинству пользователей это не совсем подходит.duzzy:Скрипты хороши тем что их можно настроить под себя, компоненты не дают такой полноты и многообразия при изменении
Тут вопрос спорный. Я для себя сделал другой вывод - минимизация скриптов. В большинстве случаев более стабильная работа и лучшая совместимость на разных ПК.duzzy:Я уже приличное время использую скрипты разных авторов у себя в сборках как дома так и в авто, и желания использовать компоненты нет и едва ли оно появится.
Согласен многие и не особо хотят лезть в код и заморачиваться...(хотят скачать запустить и чтоб все сразу заработало )Большинству пользователей это не совсем подходит.
После добавления скрипта Library True, Configure нет в меню. Приходится через настройки Layout заходить.duzzy:в редактор и настройки панели можно попасть точно так же как и в WSH Panel(правая кнопка мыши...Configure, Properties).
Хочет понять это одно, может понять это другое, есть тупенькие (как я например) и что значит зачем использовать ?duzzy:но не хочет понять как он устроен и как его использовать и настраивать для себя...
MC Web:Тут вопрос спорный. Я для себя сделал другой вывод - минимизация скриптов. В большинстве случаев более стабильная работа и лучшая совместимость на разных ПК.
Не хочу никого переубеждать. каждый делает выводы исходя из своего опыта.
// ==PREPROCESSOR==
// @name "DarkOne Menubar Panel"
// @version "3.0"
// @author "tedGo, based on a sample by T.P Wang"
// @import "%fb2k_path%themes\DarkOne\Others\WSH Scripts\DO Global Script.js"
// @import "%fb2k_path%themes\DarkOne\Others\WSH Scripts\DO Global Button Script.js"
// ==/PREPROCESSOR==
window.MinWidth = 140;
// ----- CREATE BUTTONS --------------------------------------------
var imgPath = configPath + "Buttons\\Others\\";
var p_arr = new Array("Default", "Repeat (Playlist)", "Repeat (Track)", "Random", "Shuffle (tracks)", "Shuffle (albums)", "Shuffle (folders)");
var g_img = gdi.Image(configPath + "Images\\Separator1.png");
var sac_on = {normal: imgPath + "SACon.png", hover: imgPath + "SACMH.png"};
var sac_off = {normal: imgPath + "SACoff.png", hover: imgPath + "SACMH.png"};
var top_on = {normal: imgPath + "TOPOn.png", hover: imgPath + "TOPOnH.png"};
var top_off = {normal: imgPath + "TOPOff.png", hover: imgPath + "TOPOnH.png"};
function createPBOButton() {
return new Button(112, 8, 18, 9, {normal: configPath + "Buttons\\Playback Order\\" + p_arr[fb.PlaybackOrder] + ".png"}, getPBOMenu, "Playback Order: " + p_arr[fb.PlaybackOrder]);
}
function createSACButton() {
return new Button(87, 7, 18, 18, fb.StopAfterCurrent ? sac_on : sac_off, function () {fb.RunMainMenuCommand("Playback/Stop After Current");}, fb.StopAfterCurrent ? "Reset stop-after-current" : "Stop-after-current");
}
function createTOPButton() {
return new Button(ww - 95, 5, 22, 22, fb.AlwaysOnTop ? top_on : top_off , function () {fb.RunMainMenuCommand("Always On Top");}, fb.AlwaysOnTop ? "Reset always-on-top" : "Always-On-Top");
}
Buttons.MEN = new Button(12, 7, 28, 10, {normal: imgPath + "Menu.png", hover: imgPath + "MenuMH.png"}, getMainMenu);
Buttons.NPL = new Button(64, 7, 18, 18, {normal: imgPath + "NowPlaying.png", hover: imgPath + "NowPlayingMH.png"}, function () {fb.RunMainMenuCommand("Activate now playing");}, "Activate Now Playing");
Buttons.SAC = createSACButton();
Buttons.TOP = createTOPButton();
Buttons.PBO = createPBOButton();
Buttons.EXT = new Button(ww - 25, 3, 22, 22, {normal: imgPath + "ExitA.png", hover: imgPath + "ExitB.png"}, function(){fb.RunMainMenuCommand("Exit");}, "Exit");
Buttons.MAX = new Button(ww - 50, 6, 22, 22, {normal: imgPath + "BC.png", hover: imgPath + "BCMH.png"}, function(){fb.RunMainMenuCommand("Maximize/Restore");}, "Maximize/Restore");
Buttons.MIN = new Button(ww - 75, 6, 22, 22, {normal: imgPath + "MinimizeA.png", hover: imgPath + "MinimizeB.png"}, function(){fb.RunMainMenuCommand("Hide");}, "Minimize");
Buttons.DSP = new Button(140, 8, 22, 22, {normal: imgPath + "Equalizer.png", hover: imgPath + "Equalizer 1.png"}, function(){fb.RunMainMenuCommand("DSP settings/Preferences");}, "DSP settings/Default");
// ----- CREATE MENUS ----------------------------------------------
function getMainMenu(x, y) {
x = Buttons.MEN.left;
y = Buttons.MEN.top;
var a = window.CreatePopupMenu();
var b = fb.CreateContextMenuManager();
b.InitNowPlaying();
var c1 = window.CreatePopupMenu();
var c2 = window.CreatePopupMenu();
var c3 = window.CreatePopupMenu();
var c4 = window.CreatePopupMenu();
var c5 = window.CreatePopupMenu();
var c6 = window.CreatePopupMenu();
var c7 = window.CreatePopupMenu();
var d1 = fb.CreateMainMenuManager();
var d2 = fb.CreateMainMenuManager();
var d3 = fb.CreateMainMenuManager();
var d4 = fb.CreateMainMenuManager();
var d5 = fb.CreateMainMenuManager();
var d6 = fb.CreateMainMenuManager();
a.AppendMenuItem(16, c1.ID, "File");
a.AppendMenuItem(16, c2.ID, "Edit");
a.AppendMenuItem(16, c3.ID, "View");
a.AppendMenuItem(16, c4.ID, "Playback");
a.AppendMenuItem(16, c5.ID, "Library");
a.AppendMenuItem(16, c6.ID, "Help");
fb.IsPlaying && a.AppendMenuItem(16, c7.ID, "Now Playing");
d1.Init("file");
d2.Init("edit");
d3.Init("View");
d4.Init("playback");
d5.Init("library");
d6.Init("help");
d1.BuildMenu(c1, 1, 200);
d2.BuildMenu(c2, 201, 200);
d3.BuildMenu(c3, 401, 200);
d4.BuildMenu(c4, 601, 300);
d5.BuildMenu(c5, 901, 300);
d6.BuildMenu(c6, 1201, 100);
b.InitNowPlaying();
b.BuildMenu(c7, 1301, -1);
ret = 0;
ret = a.TrackPopupMenu(x, y);
switch (true) {
case(ret >= 1 && ret < 201):
d1.ExecuteByID(ret - 1);
break;
case (ret >= 201 && ret < 401):
d2.ExecuteByID(ret - 201);
break;
case (ret >= 401 && ret < 601):
d3.ExecuteByID(ret - 401);
break;
case (ret >= 601 && ret < 901):
d4.ExecuteByID(ret - 601);
break;
case (ret >= 901 && ret < 1201):
d5.ExecuteByID(ret - 901);
break;
case (ret >= 1201 && ret < 1301):
d6.ExecuteByID(ret - 1201);
break;
case (ret >= 1301):
b.ExecuteByID(ret - 1301);
break;
}
a.Dispose();
b.Dispose();
d1.Dispose();
d2.Dispose();
d3.Dispose();
d4.Dispose();
d5.Dispose();
d6.Dispose();
}
function getPBOMenu(x, y) {
x = Buttons.PBO.left;
y = Buttons.PBO.top;
var a = window.CreatePopupMenu();
var idx;
for (var i = 0; i < p_arr.length; i++) {
a.AppendMenuItem(0, 1 + i, p_arr[i]);
}
a.CheckMenuRadioItem(1, 7, fb.PlayBackOrder + 1);
idx = a.TrackPopupMenu(x, y);
if (idx >= 1 && idx <= 7) fb.PlaybackOrder = idx - 1;
a.Dispose();
}
// ----- DRAW ------------------------------------------------------
function on_paint(gr) {
if (!window.IsTransparent) {
gr.FillSolidRect(0, 0, ww, wh, ui_backcol);
gr.FillGradRect(0, 0, ww, 24, 90, RGBA(76, 121, 153, 88), RGBA(76, 121, 153, 48), 0.5);
}
g_img && gr.DrawImage(g_img, 58, 0, 3, wh, 0, 0, g_img.Width, g_img.Height);
buttonsDraw(gr);
}
// ----- EVENTS ----------------------------------------------------
function on_size() {
ww = window.Width;
wh = window.Height;
Buttons.MEN.changePos(13, 7, 45, 22);
Buttons.NPL.changePos(64, 6, 18, 18);
Buttons.SAC.changePos(87, 7, 18, 18);
Buttons.PBO.changePos(112, 8, 18, 9);
Buttons.EXT.changePos(ww - 25, 3, 22, 22);
Buttons.MAX.changePos(ww - 50, 6, 22, 22);
Buttons.MIN.changePos(ww - 75, 5, 22, 22);
Buttons.TOP.changePos(ww - 95, 5, 22, 22);
Buttons.DSP.changePos(140, 8, 22, 22);
}
function on_playback_order_changed(new_order) {
Buttons.PBO = createPBOButton();
Buttons.PBO.repaint();
}
function on_playback_dsp_changed(new_order) {
Buttons.DSP = createDSPButton();
Buttons.DSP.repaint();
}
function on_playlist_stop_after_current_changed(state) {
Buttons.SAC = createSACButton();
Buttons.SAC.repaint();
}
function on_playlist_always_on_top_changed(state) {
Buttons.TOP = createTOPButton();
Buttons.TOP.repaint();
}
Вернуться в Секреты foobar2000