Hey guys, would really appreciate some help. I've updated from 1.3.x to the current version and two panels stopped working for me (aw crashed), volume and seekbar.
Maybe somene can quickly glance over it and find the corrupt code?
// Knob button by Br3tt
// Modified by T.P Wang
function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
var g_drag = false;
// foobar path, SHOULD be replaced
var g_btn_img1 = gdi.Image(fb.ComponentPath.replace("components","images") + "curacao/bt/volbutton50.png");
var g_btn_img2 = gdi.Image(fb.ComponentPath.replace("components","images") + "curacao/bt/voldot.png");
var g_angle = 270;
var g_R = 12;
function calc_theta(x,y){
x = x - 25.5;
y = y - 25.5;
theta = Math.atan2(y,x) / Math.PI * 180;
if (theta <= 90 && theta > 45)
return g_angle;
if (theta > 90 && theta < 135)
return 0;
if (theta >= 0) {
if (theta > 90)
return theta - 135;
else
return theta + 225;
} else {
return theta + 225;
}
}
function on_paint(gr){
ww = window.Width;
wh = window.Height;
theta = (Math.pow(10, fb.Volume / 50) - 0.01) / 0.99 * g_angle;
// Volume 'Round Button' by Br3tt (13-08-2008)
posA = (theta - 45) * Math.PI / 180;
cosinusA = Math.cos(posA);
sinusA = Math.sin(posA);
posX = 25 - (cosinusA * 12) - 4 ;
posY = 25 - (sinusA * 12) - 4 ;
gr.FillGradRect( 0, 0, ww, wh, 90, RGB(042,042,047), RGB(042,042,047));
gr.DrawImage(g_btn_img1,-4,-4,55,55,0,0,55,55);
gr.DrawImage(g_btn_img2,posX,posY,5,5,0,0,5,5);
}
function on_mouse_lbtn_down(x,y){
g_drag = true;
}
function on_mouse_lbtn_up(x,y){
on_mouse_move(x,y);
g_drag = false;
}
function on_mouse_move(x,y){
if (g_drag){
// Calc Volume
d = calc_theta(x,y) / g_angle;
v = 50 * Math.log(0.99 * d + 0.01) / Math.LN10;
if (fb.Volume != v)
fb.Volume = v;
}
}
function on_mouse_wheel(delta){
if(delta>0)
fb.VolumeUp();
else
fb.VolumeDown();
}
function on_volume_change(val){
window.Repaint();
}
//EOF
var weight_normal =400;
var weight_bold =800;
var italic_no =0;
var italic =1;
var uline_no =0;
var uline =1;
//--------
var align_top =0;
var align_middle=1;
var align_bottom=2;
var align_left =0;
var align_center=1;
var align_right =2;
var trim_no =0;
var trim_chara =1;
var trim_word =2;
var trim_elips_chara =3;
var trim_elips_word =4;
var trim_elips_path =5;
var flag_rtl =0x0001;
var flag_vert =0x0002;
var flag_nofit =0x0004;
var flag_dispctrl =0x0020;
var flag_nofallback =0x0400;
var flag_trailspace =0x0800;
var flag_nowrap =0x1000;
var flag_linelimit =0x2000;
var flag_noclip =0x4000;
var g_btn_img1 = gdi.Image(fb.ComponentPath.replace("components","images") +
"curacao/bt/seeker10.png");
function StrFmt(alignH,alignV,trim,flag){ return ((alignH<<28)|(alignV<<24)|(trim<<20)|flag);
}
//--------
function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
function RGBA(r,g,b,a){ return ((a<<24)|(r<<16)|(g<<8)|(b)); }
//--------
function TimeFmt(t){
var zpad = function(n){
var str = n.toString();
return (str.length<2) ? "0"+str : str;
}
var h = Math.floor(t/3600); t-=h*3600;
var m = Math.floor(t/60); t-=m*60;
var s = Math.floor(t);
if(h>0) return h.toString()+":"+zpad(m)+":"+zpad(s);
return m.toString()+":"+zpad(s);
}
//----------------------------------------------------------------------------
var g_titlefmt = fb.TitleFormat("");
var g_fileinfo = null;
var g_drag = 0;
var g_drag_seek = 0;
function on_paint(gr){
var ww = window.Width;
var wh = window.Height;
var pos = 0;
var length = fb.PlaybackLength;
var txt;
ww = ww-20;
if(length > 0){
if(g_drag){
pos = ww * g_drag_seek;
txt = "Seek " + TimeFmt(g_drag_seek * length) + " / " + TimeFmt
(length) + 00;
}
else{
pos = ww * (fb.PlaybackTime / length) + 00;
txt = g_titlefmt.Eval();
}
}
// background
gr.FillGradRect( 0, 0, window.Width+2, window.Height+2, 90, RGB(042,042,047), RGB
(042,042,047));
gr.FillGradRect( 11, 04, window.Width-22, 3, 90, RGB(0,0,0), RGB(0,0,0));
// orange progress bar
//gr.FillGradRect( 10, 04, pos+1, 3, 90, RGB(220,155,75), RGB(080,055,25));
//blue progress bar
gr.FillGradRect( 10, 04, pos+1, 3, 90, RGB(035,145,255), RGB(025,055,080));
//green progress bar
//gr.FillGradRect( 10, 04, pos+1, 3, 90, RGB(055,255,055), RGB(065,080,065));
gr.FillGradRect( 10, 03, window.Width-20, 1, 90, RGB(010,010,010), RGB(010,010,010));
gr.FillGradRect( 10, 08, window.Width-20, 1, 90, RGB(070,070,070), RGB(070,070,070));
gr.FillGradRect( 09, 04, 1, 4, 90, RGB(000,000,000), RGB(000,000,000));
gr.FillGradRect( window.Width-10, 4, 1, 4, 90, RGB(060,060,060), RGB(060,060,060));
gr.DrawImage(g_btn_img1,pos+2,1,17,17,0,0,17,17);
}
function on_size(){
}
function on_focus(gr){
//fb.trace("focus " + focused);
}
function on_key_down(key){
//fb.trace("key " + key);
}
function on_mouse_lbtn_down(x,y){
g_drag = 1;
}
function on_mouse_lbtn_up(x,y){
if(g_drag){
x = x-10;
g_drag = 0;
g_drag_seek = x / (window.Width-20);
g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
fb.PlaybackTime = fb.PlaybackLength * g_drag_seek;
}
}
function on_mouse_move(x,y){
if(g_drag){
x = x-10;
g_drag_seek = x / (window.Width-20);
g_drag_seek = (g_drag_seek<0) ? 0 : (g_drag_seek<1) ? g_drag_seek : 1;
window.Repaint();
}
}
function on_mouse_wheel(delta){
//fb.trace("wheel " + delta);
}
//--------
function on_playback_starting(cmd, paused){
}
function on_playback_new_track(info){
window.Repaint();
}
function on_playback_stop(){
window.Repaint();
}
function on_playback_seek(time){
window.Repaint();
}
function on_playback_pause(state){
}
function on_playback_edited(){
}
function on_playback_dynamic_info(){
}
function on_playback_dynamic_info_track(){
}
function on_playback_time(time){
window.Repaint();
}
function on_volume_change(val){
}
//EOF