Список разделов › Аудиоплеер foobar2000 › Плагины
Нет. Это сложно для меняPioneer RT-707 - Ваше творение?
но тогда с изменением размера панели, размер кнопки не меняется. А идея такова: когда изменяю размер окна Фубара, размер кнопок меняется пропорционально.h1 должно равняться высоте кнопки, если у кнопки высота и ширина одинаковы.
А можно и пропустить:
$imagebutton($get(x2),$get(y1),,,%img.path%previous.png,%img.path%previous_hot.png,COMMAND:'Playback/Previous',,)
А должно быть? т.е. я имею в виду, следует ли указывать "0" ?И строке нет значения x:
$imagebutton(,$get(y1),$get(h1),$get(h1),%img.path%stop.png,%img.path%stop_hot.png,COMMAND:'Playback/Stop';REFRESH,,)
Тут на любителя. И если кнопка нарисована маленькой, то будут искажения. Кнопка в таком случае должна быть нарисована размером как при максимальном увеличении.Про увеличение. Я могу представить если высота и ширина панели увеличивается на одну и ту-же величину, то кнопка увеличивается пропорционально.kgena_ua писал(а):размер кнопок меняется пропорционально
тут я ошибся. Размер кнопок пропорционален только высоте панели.размер кнопок меняется пропорционально
Так оно и есть, но проблема с размытием остаётся:Кнопка в таком случае должна быть нарисована размером как при максимальном увеличении
maklaud, я у себя делаю таким-же образом (вывод сделал отдельно для наглядности).maklaud писал(а):делаю на весь экран - кнопки размыты
перезапускаю Фубар - кнопки чёткие
Я вот сделал высоту кнопки в привязке к высоте панели:Размер кнопок пропорционален только высоте панели
Здесь видно - кнопка чёткая и растянута. Как Вы этого добились? Пожалуйста покажите фрагмент скрипта этих кнопок.kgena_ua писал(а):Я вот сделал высоту кнопки в привязке к высоте панели:
Попробовал реализовать это в своём скрипте - получилось, выглядит лучше, чем было. Спасибо kgena_ua!kgena_ua писал(а):И еще небольшой совет по расчету X кнопок.
У вас кнопки не расположены симметрично относительно ширины панели (я не знаю используете-ли Вы центрирование).
Можно сделать так:
b = 4 (к-во кнопок)
b_s = 26 (пирина кнопки в пик.)
xb = ww / (b + 1) (X центра по ширине первой кнопки)
xx = 0 - b_s / 2 (X кнопки - смещение относительно центра кнопки)
x0 = xb + xx x1 = xb + x0 x2 = xb + x1 x3 = xb + x2
При привязке к левому краю можно привязать xx первой и кнопки сделать величиной постоянной.
Или закрепить xx первой кнопки и поледнй, например xx1 = 0 + 50, xxl = ps_width - 50, а внутри разместить симметрично центральные кнопки.
maklaud, это Ваш скрипт:maklaud писал(а):фрагмент скрипта этих кнопок
Я честно говоря не задавался этим вопросом, не помню. Можно через $set_ps_globalmaklaud писал(а):имеются ли переменные этих цветов для PSS?
Я писал : изменяю только Y кнопок в зависимости от высоты, высота больше - Y больше и наоборот, на скрине это для пробы. Мне не понравилось, и нигде, кстати, я такого не встречал.растянуть кнопки мне не удалось
Ну да, но у меня значение %ps_height% меняется с высотой окна Фубара, при увеличении получается размытие.kgena_ua писал(а):maklaud, это Ваш скрипт:
$puts(h1,$mul($div(%ps_height%,100),2))
.
$imagebutton($get(x3),$get(y1),28,$add(26,$get(h1)),%........
$set_ps_global(playing,0)
$if(%isplaying%,$set_ps_global(playing,1))
$if(%ispaused%,$set_ps_global(playing,2))
$puts(h1,%ps_height%)
$puts(z1,$add($div(%ps_height%,2),20))
$puts(x1,$sub($mul($div(%ps_width%,7),1),$get(z1)))
$puts(x2,$sub($mul($div(%ps_width%,7),2),$get(z1)))
$puts(x3,$sub($mul($div(%ps_width%,7),3),$get(z1)))
$puts(x4,$sub($mul($div(%ps_width%,7),4),$get(z1)))
$puts(x5,$sub($mul($div(%ps_width%,7),5),$get(z1)))
$puts(x6,$sub($mul($div(%ps_width%,7),6),$get(z1)))
//---- Кнопки воспроизведения----//
$imagebutton(-44,,,,%img.path%stop.png,%img.path%stop_hot.png,,,)
$imagebutton(-44,,,,%img.path%previous.png,%img.path%previous_hot.png,,,)
$imagebutton($get(x1),,$get(h1),$get(h1),%img.path%stop.png,%img.path%stop_hot.png,COMMAND:'Playback/Stop';REFRESH,,)
$imagebutton($get(x2),,$get(h1),$get(h1),%img.path%previous.png,%img.path%previous_hot.png,COMMAND:'Playback/Previous',,)
$ifequal(%playing%,1,
$imagebutton($get(x3),,$get(h1),$get(h1),%img.path%pause.png,%img.path%pause_hot.png,COMMAND:'Playback/Pause';REFRESH,,),
$imagebutton($get(x3),,$get(h1),$get(h1),%img.path%play.png,%img.path%play_hot.png,COMMAND:'Playback/Play';REFRESH,,)
)
$imagebutton($get(x4),,$get(h1),$get(h1),%img.path%next.png,%img.path%next_hot.png,COMMAND:'Playback/Next',,)
$imagebutton($get(x5),,$get(h1),$get(h1),%img.path%open.png,%img.path%open_hot.png,COMMAND:'File/Open...',,)
$imagebutton($get(x6),,$get(h1),$get(h1),%img.path%random.png,%img.path%random_hot.png,COMMAND:'Playback/Random',,)
$init_ps_global(co.switch,0) //Нужна зависимость от главного свича, так что бы %co.compact.switch% срабатывал только при %co.switch%,0,
$ifequal(%co.compact.switch%,0,
$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,110),80,16)
,
$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,105),80,16)
)
$init_ps_global(co.switch,0) //Нужна зависимость от главного свича, так что бы %co.compact.switch% срабатывал только при %co.switch%,0,
$ifequal(%co.switch%,0,
$ifequal(%co.compact.switch%,0,
$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,110),80,16)
,
$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,105),80,16)
)
,
//возможно здесь стоит вписать:
//$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,105),80,16)
//или эту строку:
//$movepanel_c(Rating,$sub($div(%ps_width%,2),40),$sub(%ps_height%,110),80,16)
)
Входит ли панель которой хотите управлять в состав панели с которой хотите управлять? Если да - должно получиться.AHAPXICT писал(а):Я так понял что управлять одной панелью PSS с другой никак не получится.
Еще как получиться!AHAPXICT писал(а):Я так понял что управлять одной панелью PSS с другой никак не получится
Тоже встал вопрос, как получить стандартный цвет фона: нужно в псс использовать цвет из настроек фубара - как его записать в переменную?!!maklaud писал(а):И ещё вопрос: имеются ли переменные этих цветов для PSS?
Aum, вот такой пример подойдет:Aum писал(а):Допустим в WSH создать файл с именем текущего цвета, т.е. RGB (...), а в PSS прочитать имя этого файла и присвоить переменной это значение, но как
function getRed(color) {return ((color >> 16) & 0xff);};
function getGreen(color) {return ((color >> 8) & 0xff);};
function getBlue(color) {return (color & 0xff);};
var fso = new ActiveXObject("Scripting.FileSystemObject");
var set_path = fb.ProfilePath + "\\maybe\\settings\\";
var color = RGB(50,60,70);
function on_mouse_mbtn_up(x,y) {
try {
fso.deleteFile( set_path + "RGB" + "*" );
} catch(e) {};
fso.CreateTextFile( set_path + "RGB" + getRed(color) + "-" + getGreen(color) + "-" + getBlue(color));
RefreshPSS();
}
function RefreshPSS() {
if (fb.IsPlaying || fb.IsPaused) {
fb.RunMainMenuCommand("Playback/Play or Pause");
fb.RunMainMenuCommand("Playback/Play or Pause");
} else {
fb.RunMainMenuCommand("Playback/Play");
fb.RunMainMenuCommand("Playback/Stop");
}
}
$set_ps_global(settings.path,%ps_foobar2000_path%\maybe\settings\)
$puts(file_name,$findfile(%settings.path%RGB*))
$puts(point,$strrchr($get(file_name),'\'))
$puts(file_len,$len($get(file_name)))
$puts(ELP_backg_color,$right($get(file_name),$sub($get(file_len),$get(point),3)))
// ----- BUTTONS COLORS ----
// ----- Blue: B , Default: D , Green: G , Red: R , White: W , Yellow: Y
$set_ps_global(do.colbutt,%ps_foobar2000_path%\themes\DarkOne_v4.0\Images\B\)
// ----- TIME BACKGROUND ----
// ----- Blue: 27-41-53 , Default: 31-44-53 , Green: 18-46-35 , Red: 40-27-35 , White: 36-46-53 , Yellow: 36-46-35
$puts(t.col,27-41-53)
// ----- BACKGROUND -----
$drawrect(0,0,%ps_width%,%ps_height%,%do.colour%,%do.colour%)
// ----- TIME SECTION -----
$ifequal(%do.display.switch%,2,
$puts(col1,$if(%ps_isplaying%,$ifequal(%do.time.switch%,1,192-192-192,$get(t.col)),$get(t.col)))
$puts(col2,$if(%ps_isplaying%,$ifequal(%do.time.switch%,2,192-192-192,$get(t.col)),$get(t.col)))
$font(Arial Black,5,)$drawtextex(ELAPSED,$sub(%ps_width%,67),$sub(%ps_height%,31),35,8,$get(col1),left)
$font(Arial Black,5,)$drawtextex(REMAIN,$sub(%ps_width%,33),$sub(%ps_height%,31),33,8,$get(col2),right)
$font(DarkOne,14,)$drawstring($char(9608)$char(9608):$char(9608)$char(9608):$char(9608)$char(9608),$sub(%ps_width%,76),$sub(%ps_height%,19),77,17,$get(t.col),right)
,
)
// ----- STREAM FIX FOR WAVEFORM SEEKBAR & RADIO LOGO -----
$puts(text,$if(%ps_isplaying%,$upper(%title%)))
$puts(t.w,$gettextwidth($get(text),Impact,48,))
$puts(comp,$div(4500,$div($mul($get(t.w),100),%ps_width%)))
$puts(size,$ifgreater(10,$get(comp),48,$ifgreater($get(t.w),%ps_width%,$get(comp),48)))
$puts(shift,$left($get(text),$mod(%playback_time_seconds%,$len($get(text)))))
$puts(s.w,$gettextwidth($get(shift),Impact,48,))
$puts(left,$ifgreater(10,$get(comp),$sub(0,$get(s.w)),0))
$puts(width,$ifgreater(10,$get(comp),$add($get(t.w),2),%ps_width%))
$ifequal(%do.display.switch%,2,
$if($and(%ps_isplaying%,$stricmp($left(%path%,7),'http://')),
$gradientrect(0,$sub(%ps_height%,90),%ps_width%,56,76-121-153-20,76-121-153-10,,50)
$font(Impact,$get(size),)
//$drawtextex($get(text),$add($get(left),2),$sub(%ps_height%,89),$get(width),54,0-0-0,hcenter vcenter)
$drawtextex($get(text),$get(left),$sub(%ps_height%,90),$get(width),54,38-61-76,hcenter vcenter)
)
,
)
// ----- PANEL MANAGEMENT -----
$movepanel_c(Peakmeter,33,$sub(%ps_height%,30),$sub(%ps_width%,$ifequal(%do.display.switch%,1,33,104)),30)
$showpanel_c(Seekbar and Display,$ifequal(%do.display.switch%,1,1,0))
$showpanel_c(Waveform seekbar,$ifequal(%do.display.switch%,2,$if($or($not(%ps_isplaying%),$stricmp($left(%path%,7),'http://'),$stricmp(%codec%,cdda)),0,1),0))
$showpanel_c(WSHSeekbar,$ifequal(%do.display.switch%,2,$if($or($not(%length%),$stricmp($left(%path%,7),)),0,1),0))
// ----- BUTTONS -----
// FAKE-BUTTON
$textbutton(0,2,1,1,,,CONTEXT:Main Menu/File/,,)
$puts(cmd1,$ifequal(%do.display.switch%,1,2,1))
$puts(cmd2,$ifequal(%do.time.switch%,1,2,1))
$puts(img,$if(%ps_isplaying%,,stop))
$imagebutton(1,$sub(%ps_height%,28),27,27,%do.colbutt%$get(cmd1)$get(img).png,%do.colbutt%$get(cmd1)MH.png,SETGLOBAL:do.display.switch:$get(cmd1);REFRESH,,)
$ifequal(%do.display.switch%,2,
$imagebutton($sub(%ps_width%,67),$sub(%ps_height%,31),67,30,,,SETGLOBAL:do.time.switch:$get(cmd2);REFRESH,,)
,
)
Сейчас этот раздел просматривают: 1 гость