Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var g_timer;
- var i = 0;
- var interval = 20;
- var tw = 0;
- //--------
- 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;
- 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_font = gdi.Font( "bitstream vera sans mono",40);
- var g_font1 = gdi.Font( "bitstream vera sans mono",40);
- var g_timeFmt = fb.TitleFormat("%playback_time%[ / %length%]");
- var g_titleFmt = fb.TitleFormat("%ARTIST% - %title%");
- var g_fileinfo = null;
- var g_drag = 0;
- var g_drag_seek = 0;
- var tic_ArtistAlbumText= { size:26, step:1};
- var tic_SongTimeText= { size:20, step: 2};
- function on_paint(gr){
- var pos = 0;
- var length = fb.PlaybackLength;
- var songTimeText;
- var artistAlbumText;
- if(length > 0){
- if(g_drag){
- pos = window.Width * g_drag_seek;
- songTimeText= "Seek " + TimeFmt(g_drag_seek * length) + " / " + TimeFmt(length);
- } else{
- pos = window.Width * (fb.PlaybackTime / length);
- songTimeText= g_timeFmt.Eval();
- artistAlbumText = g_titleFmt.Eval();
- }
- }
- gr.FillGradRect( 0, 50, pos, wh, 90, RGB(5,150,35), RGB(5,100,35)); //green scroll
- gr.FillGradRect(pos, 50, ww-pos, wh, 90, RGB(0,0,0), RGB(0,0,0)); //black background
- if(songTimeText==null) songTimeText= "";
- gr.DrawString(getScrolledText(songTimeText, tic_SongTimeText), g_font1, RGB(255,255,255), 0, 50, ww-20, wh-50, StrFmt(align_right, align_center, trim_no, flag_nowrap | flag_noclip));
- //-----------
- var g_font = gdi.font("Tahoma", 34, 0);
- gr.SetTextRenderingHint(5);
- var text = fb.TitleFormat("%title% - %artist% - %album%").Eval();
- tw = gr.CalcTextWidth(text, g_font);
- gr.FillGradRect(0,0,ww,50, 90, RGB(5,150,35), RGB(55,200,85));
- if (fb.IsPlaying) {
- if (g_timer) {
- gr.GdiDrawText(text, g_font, RGB(255,255,255), ww - i, 4, ww + tw, g_font.height + 5, format = 0)
- }
- }
- //----------
- }
- function getScrolledText(txt,tic) {
- if(txt.length<=tic.size)
- return txt;
- if(tic.val>=(txt.length+tic.spacer.length))
- tic.val= 0;
- else
- tic.val+= tic.step;
- return (txt+tic.spacer+txt).substring(tic.val, tic.val+tic.size);
- }
- function on_size(){
- ww = window.Width;
- wh = window.Height;
- if (i == ww + tw) i = 0;
- if (i == 0 && !g_timer) g_timer = window.CreateTimerInterval(interval);
- }
- function on_focus(focused){
- //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){
- g_drag = 0;
- g_drag_seek = x / window.Width;
- 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){
- g_drag_seek = x / window.Width;
- 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){
- i = 0;
- window.Repaint();
- }
- function on_playback_stop(reason){
- 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.RepaintRect(0,50,ww,wh);
- }
- function on_volume_change(val){
- }
- //EOF
- //================================0
- function on_timer(id) {
- i = i + 1 * 1;
- if (i == ww + tw) i = 0;
- window.RepaintRect(ww - i ,0, tw + 20, 50);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement