Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- óߪŸå‹J´£Ò £j³ ‰ì2EgÅgB³:Ko Panel Stack SplitterB¶§ulx$O›R×7Þ š
- WSH Panel ModNÞêÉc[³A²U^<<X BiographyÌá^HŠf÷C€IO[xl4 Lyric Show 3fæ 邨 C˜¶±,Q{
- ELPlaylist%”ÏÂ@yE«?âf=› Playlist switcherЩ–‘¿ÒA”H€g@ž‚ Quick Search Toolbar<ÆPó|ˆI„К,P¸ð Channel spectrum panel 8ÏàŽ^œC¸™™u¬
- Colours ç{)
- CÞÚIŽÈ؈Ï
- Misc fonts Í©¨AÚC€^þN³HÉ Fonts (unified) È ˆ \ õÿÿÿ 1P r o g g y T i n y S Z ˆ \ õÿÿÿ M o n t e C a r l o $ sÂ¥p«g¶K¶÷—Zhqý $ ³àø"èO² Ô¦~Hrù $ LÖû01 O©7òq¢á• $ úû5rEœK–¥ÅÕ7 $ êÕ¹'X¾@¨–0*q¼ªœ $ ¤6,”(NêL–Dò#ɨ8ì $ l·ÓÀM2ÓF»<è};Ë… $ ym‚¼iA@Ž*ã´@k¶ü $ +u¨üdÀÄA›ãá%ÇÇü4 $ ó?ÙîJ2Fµ¿ ÎÇmí $ púówœãøFŽŠnÌdÝâ4 $ hò{ÌNN£áEÚ–’¥ $ ¦–Z¯í–F‹¡Â%3Å4‘ $ =»_uÔ¨óF°º [
- $ Ä o†?ÅO€ê÷ªM•Qæ $ Æ.R|êòI®^p+ŒkK$ $ W7JHXC¤ï¿üê§ $ ;${E-fJy‡Wƒ‡7 $ 6þ’öËЩ@¥>’Öï¬e $ 7Rä%ûû´Kº×uá'g $ ½-Ëhnò
- BFcæZ ‹¢öšÿ>MúYñÖl Titles Q 2 //This is the default script for the content of the main status bar pane during playback.
- $rgb(73,141,229)$if(%ispaused%,'[PAUSED]','[PLAYING]')
- $rgb(70,70,70) |
- $rgb(143,99,153)%codec%
- $rgb(70,70,70) |
- $rgb(143,99,153)%bitrate% kbps
- $rgb(70,70,70) |
- $rgb(73,141,229)
- %playback_time%/%length%] ‘ //This is the default script for the content of the notification area icon tooltip during playback.
- [%title%]$crlf()[%artist%][$crlf()%album%] v //titleformat
- fb2k · $if(%ispaused%,'[Paused]' ,)[%artist%][ · %title%][ '['%source%']'][ | %album%][ '('%date%')']çFYea€F Ž„µv„Xè Colours (unified) u ÀÀÀ S©ÿ vwq ™™“ iii „ u —©8ë_;&A‡F&*©ÁùK ddd ÀÀÀ ÀÀÀ ¬Ó‚ÈÀßDœ~-óvE ~~~ ~~~ ~~~ u ©Ë-ã¿¢I«C"†( 777 ððð õõõ Ÿ ° êêê - `òbUO¦á¼JæW u ¯tgM’¬DŠ;Uܽô 777 ððð õõõ Ÿ ° êêê u íÎ NöBCG޳aTE~ 777 ððð Ÿ ° êêê - 7Š/†àtJ²~+sÛV} u ƒÞxL¸…ÇG ŠÏîÅ’ ddd ÿÿÿ ddd $$$ u ;${E-fJy‡Wƒ‡7 ddd ÿÿÿ ÒÒÒ $$$ - gßÎtŽJäé!®ë - \:ãy÷H‚ïžÄšœ£ - #îsRÖ?®H©MeIðV” c&€/Ñ=M®~c zœ+ Toolbars ”ˆªx,K}G²3ç§§f=$ Misc layout çª$^ØJ”âs
- !9ï Columns j ë
- Playing/Pause c $if(%isplaying%,
- $rgb(219,149,229),
- $rgb(143,99,153))
- $if(%ispaused%,||,
- $if(%isplaying%,>>))
- ' Í # F $if(%isplaying%,
- $rgb(219,149,229),
- $rgb(143,99,153))
- %tracknumber% TRACKNUMBER
- ' ½ Title = $if(%isplaying%,
- $rgb(9,226,229),
- $rgb(6,152,154))
- %title%
- @B , Ð Rating O $if(%isplaying%,
- $rgb(9,226,229),
- $rgb(6,152,154))
- $ifequal(%rating%,5,♪,)
- û
- Play Count v $if(%isplaying%,
- $rgb(219,149,229),
- $rgb(143,99,153))
- $if(%http_check%,,
- $ifgreater(%play_count%,0,%play_count%,))
- ö Length \ $if(%isplaying%,
- $rgb(73,141,229)
- %playback_time% / %length%,
- $rgb(52,101,164)
- %length%) $num(%_length_seconds%,6)
- I eð,×òxNŸÊÁÕn'Ø Layout «Â ‰ì2EgÅgB³:Ko Default€Â ( ¡ $set_ps_global(SKIN.PATH,%ps_foobar2000_path%/skins/masood_)
- //-------------- colors for top panel, except the volume.
- //-- PINK
- $set_ps_global(LIGHT.COLOR.1,100-80-151)
- $set_ps_global(DARK.COLOR.1,164-11-176)
- //-- WHITE
- $set_ps_global(LIGHT.COLOR.2,248-148-191)
- $set_ps_global(DARK.COLOR.2,248-148-191)
- //-- BLUE
- $set_ps_global(LIGHT.COLOR.3,50-22-181)
- $set_ps_global(DARK.COLOR.3,80-44-160)
- //-- BLACK/GRAY
- $set_ps_global(LINE.COLOR.1,21-21-21)
- $set_ps_global(LINE.COLOR.2,51-51-51-75)
- //-- BACKGROUND
- $set_ps_global(BG.COLOR,27-27-27)
- //----------------Font for gettextwidth
- $set_ps_global(FONT,MonteCarlo)
- //--------------media player / love track
- $if(%rating%,$textbutton($sub(%_width%,88),15,25,13,'[-l]','[-l]',
- CONTEXT:'Playback Statistics/Rating/<not set>';REFRESH,
- fontcolor:%DARK.COLOR.1% left,fontcolor:%LIGHT.COLOR.1% left)
- ,
- $textbutton($sub(%_width%,88),15,25,13,'[+l]','[+l]',
- CONTEXT:'Playback Statistics/Rating/5';REFRESH,
- fontcolor:%DARK.COLOR.1% left,fontcolor:%LIGHT.COLOR.1% left)
- )
- $if(%media player%,$textbutton($sub(%_width%,63),15,30,13,'[-m]','[-m]',
- CONTEXT:'Tagging/Quick Tagger/Set <Media Player> to/[Remove Field]';REFRESH,
- fontcolor:%DARK.COLOR.1% left,fontcolor:%LIGHT.COLOR.1% left)
- ,
- $textbutton($sub(%_width%,63),15,30,13,'[+m]','[+m]',
- CONTEXT:'Tagging/Quick Tagger/Set <Media Player> to/true';REFRESH,
- fontcolor:%DARK.COLOR.1% left,fontcolor:%LIGHT.COLOR.1% left)
- )
- //------------Tabs
- $textbutton(0,0,35,14,'[bio]','[bio]',
- PANELSHOW:Playlist:0;PANELSHOW:Playlists:0;PANELSHOW:Search:0;PANELSHOW:Bio:1;PANELSHOW:Lyrics:0;PANELSHOW:Visuals:0;
- REFRESH
- ,
- $if($isvisible_c(Bio),fontcolor:%DARK.COLOR.2% left,fontcolor:%DARK.COLOR.1% left),$if($isvisible_c(Bio),fontcolor:%LIGHT.COLOR.2% left,fontcolor:%LIGHT.COLOR.1% left))
- $textbutton(30,0,35,14,'[lyr]','[lyr]',
- PANELSHOW:Playlist:0;PANELSHOW:Playlists:0;PANELSHOW:Search:0;PANELSHOW:Bio:0;PANELSHOW:Lyrics:1;PANELSHOW:Visuals:0;
- REFRESH
- ,
- $if($isvisible_c(Lyrics),fontcolor:%DARK.COLOR.2% left,fontcolor:%DARK.COLOR.1% left),$if($isvisible_c(Lrics),fontcolor:%LIGHT.COLOR.2% left,fontcolor:%LIGHT.COLOR.1% left))
- $textbutton(60,0,35,14,'[vis]','[vis]',
- PANELSHOW:Playlist:0;PANELSHOW:Playlists:0;PANELSHOW:Search:0;PANELSHOW:Bio:0;PANELSHOW:Lyrics:0;PANELSHOW:Visuals:1;
- REFRESH
- ,
- $if($isvisible_c(Visuals),fontcolor:%DARK.COLOR.2% left,fontcolor:%DARK.COLOR.1% left),$if($isvisible_c(Visuals),fontcolor:%LIGHT.COLOR.2% left,fontcolor:%LIGHT.COLOR.1% left))
- $textbutton(0,15,55,13,
- $if(%ispaused%,'[paused]',$if(%isplaying%,'[playing]','[stopped]')),
- $if(%ispaused%,'[paused]',$if(%isplaying%,'[playing]','[stopped]')),
- $if($isvisible_c(Playlist),
- $if($isvisible_c(Playlists),
- $movepanel_c(Playlist,150,32,$sub(%_width%,150),$sub(%_height%,42))
- PANELSHOW:Playlist:1;PANELSHOW:Playlists:0;PANELSHOW:Search:0;PANELSHOW:Bio:0;PANELSHOW:Lyrics:0;PANELSHOW:Visuals:0;
- REFRESH,
- $movepanel_c(Playlist,0,32,%_width%,$sub(%_height%,42))
- PANELSHOW:Playlist:1;PANELSHOW:Playlists:1;PANELSHOW:Search:1;PANELSHOW:Bio:0;PANELSHOW:Lyrics:0;PANELSHOW:Visuals:0;
- REFRESH
- ),
- PANELSHOW:Playlist:1;PANELSHOW:Playlists:0;PANELSHOW:Search:0;PANELSHOW:Bio:0;PANELSHOW:Lyrics:0;PANELSHOW:Visuals:0;
- REFRESH
- ),
- $if($isvisible_c(Playlist),fontcolor:%DARK.COLOR.2% left,fontcolor:%DARK.COLOR.1% left),$if($isvisible_c(Playlist),fontcolor:%LIGHT.COLOR.2% left,fontcolor:%LIGHT.COLOR.1% left))
- $if(%ispaused%,,$drawtextex( %codec%,55,16,35,13,%LIGHT.COLOR.1%,))
- //------------Playback Order
- $if($stricmp($left(%ps_playback_order%,7),'default'),
- $textbutton($sub(%_width%,37),15,35,13,'[----]','[----]',
- COMMAND:'Playback/Order/Repeat (playlist)';
- REFRESH,
- fontcolor:%DARK.COLOR.2% right,fontcolor:%LIGHT.COLOR.2% right),
- $if($stricmp($left(%ps_playback_order%,9),'repeat (p'),
- $textbutton($sub(%_width%,37) right,15,35,13,'[r---]','[r---]',
- COMMAND:'Playback/Order/Repeat (track)';
- REFRESH,
- fontcolor:%DARK.COLOR.2% right,fontcolor:%LIGHT.COLOR.2% right),
- $if($stricmp($left(%ps_playback_order%,9),'repeat (t'),
- $textbutton($sub(%_width%,37),15,35,13,'[r-s-]','[r-s-]',
- COMMAND:'Playback/Order/Shuffle (tracks)';
- REFRESH,
- fontcolor:%DARK.COLOR.2% right,fontcolor:%LIGHT.COLOR.2% right),
- $textbutton($sub(%_width%,37),15,35,13,'[-z--]','[-z--]',
- COMMAND:'Playback/Order/Default';
- REFRESH,
- fontcolor:%DARK.COLOR.2% right,fontcolor:%LIGHT.COLOR.2% right)
- )
- )
- )
- //title / feat. artist
- $puts(t_y,$if($or(%album%,%artist%),13,26))
- $puts(a_format,[ $trim($replace(%track artist%,%album artist%,))])
- $puts(full_w,$div($gettextwidth([%title%]$get(a_format),%FONT%),2))
- $puts(title_w,$div($gettextwidth([%title%],%FONT%),2))
- $puts(artist_w,$div($gettextwidth($get(a_format),%FONT%),2))
- $drawtextex([%title%],-$get(artist_w),1,%_width%,$get(t_y),%LIGHT.COLOR.2%,hcenter vcenter)
- $drawtextex($get(a_format),$get(title_w),1,%_width%,$get(t_y),%LIGHT.COLOR.3%,hcenter vcenter end_ellipsis)
- //album artist / album
- $puts(aartist_map,$if(%album artist%,%album artist%$if($strcmp($right($lower(%album artist%),1),s),'',''s),))
- $drawtextex($get(aartist_map)[ %album%],0,15,%_width%,13,%LIGHT.COLOR.1%,hcenter vcenter end_ellipsis)
- $if(%title%,
- $font(Arial,7,)
- $drawstring(───,-$get(full_w),-1,$sub(%_width%,35),$get(t_y),%LINE.COLOR.1%,hcenter vcenter)
- $drawstring(───,-$get(full_w),0,$sub(%_width%,35),$get(t_y),%LINE.COLOR.2%,hcenter vcenter)
- $drawstring(───,$get(full_w),-1,$add(%_width%,30),$get(t_y),%LINE.COLOR.1%,hcenter vcenter)
- $drawstring(───,$get(full_w),0,$add(%_width%,30),$get(t_y),%LINE.COLOR.2%,hcenter vcenter)
- ,)
- $drawrect($sub(%_width%,90),0,90,31,%BG.COLOR%,,)
- $drawrect(1,31,$sub(%_width%,2),1,%LINE.COLOR.2%,,)
- $drawrect(1,30,$sub(%_width%,2),1,%LINE.COLOR.1%,,)ó $if(%playback_time_remaining%,$drawtextex(%playback_time_remaining%r @,$sub(%_width%,112),2,70,15,%DARK.COLOR.3%,right),)
- $if($strcmp($left(%path%,7),'http://'),$drawtextex(%playback_time%e @,$sub(%_width%,111),2,70,15,%DARK.COLOR.3%,right),) õÿÿÿ 1P r o g g y T i n y S Z ‰ì2EgÅgB³:Ko Volumey ø
- Y@ $sub(%_width%,42) 38 13 (
- ” õÿÿÿ c u r e . s e B¶§ulx$O›R×7Þ š Volumed &
- Y@ { t„“LÕ·ªA½hd~Ú$¡¾ , ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæ É JScript® function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
- var font = gdi.Font("ProggyTinyTTSZ", 16, 0);
- var g_drag = 0;
- var ww = 38;
- var wh = 14;
- //var color = RGB(52, 101, 164); // DARK.COLOR.3
- var color = RGB(42,127,160);
- var frameColor = RGB(27,27,27);
- function StringFormat()
- {
- var h_align = 0,
- v_align = 0,
- trimming = 0,
- flags = 0;
- switch (arguments.length)
- {
- case 4:
- flags = arguments[3];
- case 3:
- trimming = arguments[2];
- case 2:
- v_align = arguments[1];
- case 1:
- h_align = arguments[0];
- break;
- default:
- return 0;
- }
- return ((h_align << 28) | (v_align << 24) | (trimming << 20) | flags);
- }
- var StringAlignment =
- {
- Near: 0,
- Center: 1,
- Far: 2
- };
- function on_paint(e)
- {
- e.SetTextRenderingHint(5);
- var vol = Math.ceil(Math.pow((100 + fb.Volume) / 100, 2) * 100);
- var volume = -Math.ceil(fb.Volume);
- if (volume == 0 )
- //var txt = ("maxed");
- var txt = ("00" + volume + "dB");
- else if (volume < 10)
- var txt = ("-0" + volume + "dB");
- else if (volume == 100)
- var txt = ("muted");
- else
- var txt = ("-" + volume + "dB");
- // Draw frame background
- e.FillSolidRect(0, 0, ww, wh, frameColor);
- //e.DrawString(vol + "%", font, color, 0, 0, ww, wh, StringFormat(StringAlignment.Far, StringAlignment.Center));
- e.DrawString(txt, font, color, 0, 0, ww, wh, StringFormat(StringAlignment.Far, StringAlignment.Center));
- }
- function on_mouse_lbtn_down(x, y)
- {
- g_drag = 1;
- }
- function on_mouse_lbtn_up(x, y)
- {
- on_mouse_move(x, y);
- g_drag = 0;
- }
- function on_mouse_move(x, y)
- {
- if (g_drag)
- {
- var v = x / ww;
- v = v < 0 ? 0 : (v < 1 ? v : 1);
- v = 100 * (Math.pow(v, 1 / 2) - 1);
- fb.Volume = v;
- }
- }
- function on_mouse_wheel(delta)
- {
- if (delta > 0)
- fb.VolumeUp();
- else
- fb.VolumeDown();
- }
- function on_mouse_mbtn_down(x, y) {
- fb.VolumeMute();
- }
- function on_volume_change(val)
- {
- window.Repaint();
- }B¶§ulx$O›R×7Þ š Seekbar æ " ò 0 $sub(%_height%,12) %_width% 12
- { / 4õDPE¯å yoê´G , ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŠ 7 ´ ‚ JScript¬ function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }
- var font = gdi.Font("ProggyTinyTTSZ", 16, 0);
- var g_drag = 0;
- var color =
- {
- background: RGB(34, 34, 34),
- frame: RGB(27, 27, 27),
- //progress: RGB(143, 99, 153), // DARK.COLOR.1
- progress: RGB(42, 127, 160),
- //proghead: RGB(9, 226, 229) // LIGHT.COLOR.2
- proghead: RGB(221, 221, 221)
- };
- var barChar =
- {
- back: "â–“",
- body: "â–ˆ",
- head: "▌"
- };
- function on_paint(e)
- {
- e.SetTextRenderingHint(1);
- var ww = window.Width,
- wh = window.Height,
- pos = ww * fb.PlaybackTime / (fb.PlaybackLength == 0 ? 1 : fb.PlaybackLength),
- background = barChar.back,
- progress = barChar.body,
- bgWidth = e.MeasureString(barChar.back, font, 0, 0, ww, wh).Width,
- bodyWidth = e.MeasureString(barChar.body, font, 0, 0, ww, wh).Width;
- headWidth = e.MeasureString(barChar.head, font, 0, 0, ww, wh).Width;
- // generate background string
- for (var i = 0, MAX = Math.ceil(ww / bgWidth); i < MAX; i++)
- background += barChar.back;
- // generate progress string
- if (pos > 10)
- for (var i = 0, MAX = Math.floor((pos - headWidth) / bodyWidth); i < MAX; i++)
- progress += barChar.body;
- else
- progress = "";
- // Draw frame background
- e.FillSolidRect(0, 0, ww, wh, color.frame);
- // Draw the background
- e.DrawString(background, font, color.background, 0, 2, ww+10, wh);
- // Draw the progress head
- if (pos > 0)
- e.DrawString(barChar.head, font, color.proghead,Math.floor((pos - headWidth) / bodyWidth) * bodyWidth + (headWidth - 4), 2, ww, wh);
- // Draw the progress
- e.DrawString(progress, font, color.progress, 0, 2, ww, wh);
- }
- function on_mouse_lbtn_down(x, y)
- {
- g_drag = 1;
- }
- function on_mouse_lbtn_up(x, y)
- {
- on_mouse_move(x,y);
- g_drag = 0;
- }
- function on_mouse_move(x, y)
- {
- if (g_drag)
- fb.PlaybackTime = x / window.Width * fb.PlaybackLength;
- }
- function on_mouse_wheel(delta)
- {
- fb.PlaybackTime += delta;
- }
- function on_mouse_mbtn_down(x, y) {
- fb.PlayOrPause();
- }
- function on_playback_seek()
- {
- window.Repaint();
- }
- function on_playback_time()
- {
- window.Repaint();
- }
- function on_playback_stop()
- {
- window.Repaint();
- } NÞêÉc[³A²U^<<X Bio€ " î 32 %_width% $sub(%_height%,36) õÿÿÿ ” 1P r o g g y T i n y S Z ÀÀÀ ÀÀÀ ÿÿÔ ( ÿ ÿ Ìá^HŠf÷C€IO[xl4 Lyrics€ " æ 32 %_width% $sub(%_height%,44) † 0 * ––– õÿÿÿ ” 1P r o g g y T i n y S Z [ Artist: %artist%$crlf()Title: %title%$crlf()Album: %album%$crlf()%playback_time% / %length%õÿÿÿ M S S h e l l D l g €@ ) y¤Î„Çèøq[‰‹¢‘´@ðö ‰ì2EgÅgB³:Ko PlaylistÔ î # $if($isvisible_c(Playlists),150),0) 329 $if($isvisible_c(Playlists),$sub(%_width%,150)),%_width%) $sub(%_height%,36) J ” õÿÿÿ C a l i b r i fæ 邨 C˜¶±,Q{
- ELPlaylistd " È Y@ ßH
- p
- $puts(COLOR1,$if($or(%el_isplaying%,%el_selected%),
- %LIGHT.COLOR.1%,
- %DARK.COLOR.1%
- ))
- $puts(COLOR2,$if($or(%el_isplaying%,%el_selected%),
- %LIGHT.COLOR.2%,
- %DARK.COLOR.2%
- ))
- $puts(COLOR3,$if($or(%el_isplaying%,%el_selected%),
- %LIGHT.COLOR.3%,
- %DARK.COLOR.3%
- ))
- //-------------- selected bg
- $if(%el_selected%,
- $drawrect($sub(%TRACK.MARGIN%,$div(%ART.MARGIN%,2),1),0,%el_width%,%el_height%,%LINE.COLOR.1%-100,,)
- ,)
- //--------------track ind
- $drawtext($if(%ispaused%,||,$if(%isplaying%,>>,$if2(+%queue_index%,$if2($ifgreater(%discnumber%,1,[%discnumber%.],)[%tracknumber%],$add(%el_item_index%,1))))),$add(%TRACK.MARGIN%,4),0,24,%el_height%,$get(COLOR1),right vcenter mempos)
- //-------------- track information
- $drawtextex(%title%,$add(%TRACK.MARGIN%,38),0,
- $sub(%el_width%,$add(%TRACK.MARGIN%,114)),%el_height%,$get(COLOR2),vcenter end_ellipsis)
- //Non Grouped Views
- $if($strstr(%el_preset_name%,'/')
- ,,
- $drawtextex(%album_format%,$add(%TRACK.MARGIN%,$gettextwidth([%title%]%feat_format%),38),0,
- $sub(%el_width%,$add(%TRACK.MARGIN%,$gettextwidth([%title%]%feat_format%),114)),%el_height%,$get(COLOR1),vcenter end_ellipsis)
- )
- //Title + feat artist
- $drawtextex(%feat_format%,$add(%TRACK.MARGIN%,$gettextwidth([%title%]),38),0,
- $sub(%el_width%,$add(%TRACK.MARGIN%,$gettextwidth([%title%]),114)),%el_height%,$get(COLOR3),vcenter end_ellipsis)
- //-------------- play count
- $if(%HTTP.CHECK%,,
- $ifgreater(%LASTFM_PLAYCOUNT_DB%,0,
- $drawtext(%LASTFM_PLAYCOUNT_DB%,-45,0,,%el_height%,$get(COLOR1),vcenter right)
- ,)
- )
- //-------------- track length
- $if(%HTTP.CHECK%,,
- $if(%el_isplaying%,,$drawtext(%length%,0,0,,%el_height%,$get(COLOR3),vcenter right))
- )
- $font(ProfontWindows,7,)
- //-------------- rating
- $ifequal(%rating%,5,
- $drawtextex(♪,-65,0,,%el_height%,$get(COLOR2),vcenter right)
- ,)
- //$imageabs(%ART.MARGIN%,0,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\disc.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),6,%ART.OPACITY%),)
- //-------------- album art
- $if($strstr(%el_preset_name%,'/'),
- $ifequal(%ALBUM.ART%,0,,
- $enabledraw(1)
- $setworldtransform(2)
- $if(%HTTP.CHECK%,$imageabs(%ART.MARGIN%,0,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\radio.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),,%ART.OPACITY%),)
- $if(%LASTFM.CHECK%,$imageabs(%ART.MARGIN%,0,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\lfm_nocover.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),,%ART.OPACITY%),)
- $imageabs(%ART.MARGIN%,0,%ART.SIZE%,%ART.SIZE%,%el_group_first_path%,artreader $ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),,%ART.OPACITY%)
- $ifequal(%ART.REFLECTION%,0,,
- $if(%HTTP.CHECK%,$imageabs(%ART.MARGIN%,%ART.SIZE%,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\radio.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),6,%ART.OPACITY%),)
- $if(%LASTFM.CHECK%,$imageabs(%ART.MARGIN%,%ART.SIZE%,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\lfm_nocover.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),6,%ART.OPACITY%),)
- $imageabs(%ART.MARGIN%,%ART.SIZE%,%ART.SIZE%,%ART.SIZE%,%el_group_first_path%,artreader $ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),6,%ART.OPACITY%)
- $gradientrect(%ART.MARGIN%,%ART.SIZE%,%ART.SIZE%,$div(%ART.SIZE%,2),27-27-27-144,27-27-27)
- $drawrect(%ART.MARGIN%,$add(%ART.SIZE%,$div(%ART.SIZE%,2)),%ART.SIZE%,$div(%ART.SIZE%,2),27-27-27,,)
- )
- )) $ifequal(%el_group_depth%,0
- ,
- $if($strstr(%el_preset_name%,'/Artist'),
- $drawtextex([%album artist%],%HEADER.MARGIN%,0,$get(a_cutoff),%el_height%,%LIGHT.COLOR.1%,vcenter end_ellipsis)
- $puts(x_rect,$add($gettextwidth([%album artist% ]),%HEADER.MARGIN%))
- )
- $if($strstr(%el_preset_name%,'/Genre'),
- $drawtextex($if2(%genre%,Unkown Genre),%HEADER.MARGIN%,0,$get(a_cutoff),%el_height%,%LIGHT.COLOR.1%,vcenter end_ellipsis)
- $puts(x_rect,$add($gettextwidth($if2(%genre%,Unkown Genre) ),%HEADER.MARGIN%))
- )
- $if($strstr(%el_preset_name%,'/Source'),
- $drawtextex($if2(%source%,Unkown Source),%HEADER.MARGIN%,0,$get(a_cutoff),%el_height%,%LIGHT.COLOR.1%,vcenter end_ellipsis)
- $puts(x_rect,$add($gettextwidth($if2(%source%,Unkown Source) ),%HEADER.MARGIN%))
- )
- $if($strstr(%el_preset_name%,'//'),
- //-------------- group duration
- $drawtextex(%el_sum_length%,0,0,,%el_height%,%DARK.COLOR.2%,right vcenter)
- //-------------- draw line
- $puts(w_rect,$sub(%el_width%,$add($get(x_rect),$gettextwidth( %el_sum_length%))))
- $drawrect($get(x_rect),6,$get(w_rect),1,%LINE.COLOR.2%,,)
- $drawrect($get(x_rect),5,$get(w_rect),1,%LINE.COLOR.1%,,)
- )
- ,
- //-------------- codec && album length
- $drawtextex(%el_sum_length%,0,0,,%el_height%,%DARK.COLOR.2%,right vcenter)
- $if([%source% ][%genre% ],
- $drawtextex(|,-$gettextwidth(%el_sum_length%),1,,%el_height%,%LINE.COLOR.2%,right vcenter)
- $drawtextex(|,-$gettextwidth(%el_sum_length%),0,,%el_height%,%LINE.COLOR.1%,right vcenter)
- ,)
- $drawtextex([%source% ][%genre% ],-$gettextwidth(%el_sum_length%),0,,%el_height%,%DARK.COLOR.2%,right vcenter end_ellipsis)
- //-------------- album
- $puts(album,$if2(%album%,$if(%HTTP.CHECK%,Streaming~,Single)))
- $puts(a_cutoff,$sub(%el_width%,%HEADER.MARGIN%,$gettextwidth( [%source% ][%genre% ]%el_sum_length%)))
- $drawtextex([$get(album)],%HEADER.MARGIN%,0,$get(a_cutoff),%el_height%,%LIGHT.COLOR.3%,vcenter end_ellipsis)
- //-------------- album artist
- $puts(aa_cutoff,$sub(%el_width%,%HEADER.MARGIN%,$gettextwidth( [%album%] -[%source% ][%genre% ]%el_sum_length%)))
- $if(%album artist%,
- $drawtextex(-,$add($gettextwidth([%album% ]),%HEADER.MARGIN%),1,$get(aa_cutoff),%el_height%,%LINE.COLOR.2%,vcenter)
- $drawtextex(-,$add($gettextwidth([%album% ]),%HEADER.MARGIN%),0,$get(aa_cutoff),%el_height%,%LINE.COLOR.1%,vcenter)
- $drawtextex( %album artist%,$add($gettextwidth([%album% ]-),%HEADER.MARGIN%),0,$get(aa_cutoff),%el_height%,%LIGHT.COLOR.1%,vcenter end_ellipsis)
- ,)
- //-------------- date
- $puts(d_cutoff,$sub(%el_width%,%HEADER.MARGIN%,$gettextwidth( [%album%] - [%album artist%][%source% ][%genre% ]%el_sum_length%)))
- $if(%date%,
- $ifgreater(%el_width%,$get(n_r),
- $drawtextex( '('%date%')',$add($gettextwidth([%album% ]- [%album artist%]),%HEADER.MARGIN%),0,$get(d_cutoff),%el_height%,%LIGHT.COLOR.2%,vcenter end_ellipsis)
- ,)
- ,)
- //-------------- draw line
- $puts(x_rect,$add($gettextwidth([$get(album)] [- %album artist% ]['('%date%')' ]),%HEADER.MARGIN%))
- $puts(w_rect,$sub(%el_width%,$add($get(x_rect),$gettextwidth( %el_sum_length%[%source% ][%genre% ]))))
- $drawrect($get(x_rect),14,$get(w_rect),1,%LINE.COLOR.2%,,)
- $drawrect($get(x_rect),13,$get(w_rect),1,%LINE.COLOR.1%,,)
- )
- |||%album% H //-------------- track progress bar
- $ifgreater(%TRACK.PROGRESSBAR%,0,
- $puts(p_width,$sub(%el_width%,$sub(%TRACK.MARGIN%,$div(%ART.MARGIN%,2))))
- $puts(p_width,$div($mul($div($mul($get(p_width),100000),%length_seconds%),%playback_time_seconds%),100000))
- $drawblurrect($sub(%TRACK.MARGIN%,$div(%ART.MARGIN%,2)),$sub($div(%el_height%,2),$div(%el_height%,4)),$get(p_width),$div(%el_height%,2),%TRACK.PROGRESSBAR.COLOR%,2)
- ,)
- //-------------- track length
- $if(%HTTP.CHECK%,,
- $drawtextex(%playback_time_remaining%,0,0,,%el_height%,%LIGHT.COLOR.3%,vcenter right)
- ) " $ifgreater(%el_group_depth%,0,2,0) – $ifequal(%ALBUM.ART%,0,0,$div($add(%ART.SIZE%,$ifequal(%ART.REFLECTION%,0,%el_row_height%,$add($div(%ART.SIZE%,2),%el_row_height%))),%el_row_height%))A %album artist% - %album% - %discnumber% - %tracknumber% - %title% ðÿÿÿ M o n t e C a r l o 1 /Album
- |||%album%A %album artist% - %album% - %discnumber% - %tracknumber% - %title%" $ifgreater(%el_group_depth%,0,2,0)– $ifequal(%ALBUM.ART%,0,0,$div($add(%ART.SIZE%,$ifequal(%ART.REFLECTION%,0,%el_row_height%,$add($div(%ART.SIZE%,2),%el_row_height%))),%el_row_height%))
- I //Artist/Album %album artist% ||| %album%A %album artist% - %album% - %discnumber% - %tracknumber% - %title%" $ifgreater(%el_group_depth%,0,2,1)– $ifequal(%ALBUM.ART%,0,0,$div($add(%ART.SIZE%,$ifequal(%ART.REFLECTION%,0,%el_row_height%,$add($div(%ART.SIZE%,2),%el_row_height%))),%el_row_height%))
- K
- //Genre/Album %genre% ||| %album%K %genre% - %album artist% - %album% - %discnumber% - %tracknumber% - %title%" $ifgreater(%el_group_depth%,0,2,1)– $ifequal(%ALBUM.ART%,0,0,$div($add(%ART.SIZE%,$ifequal(%ART.REFLECTION%,0,%el_row_height%,$add($div(%ART.SIZE%,2),%el_row_height%))),%el_row_height%))
- N //Source/Album %source% ||| %album%L %source% - %album artist% - %album% - %discnumber% - %tracknumber% - %title%" $ifgreater(%el_group_depth%,0,2,1)– $ifequal(%ALBUM.ART%,0,0,$div($add(%ART.SIZE%,$ifequal(%ART.REFLECTION%,0,%el_row_height%,$add($div(%ART.SIZE%,2),%el_row_height%))),%el_row_height%))
- R Playcount ! $sub(99999,%LASTFM_PLAYCOUNT_DB%)
- 9
- Date Added %added%
- B First Played %first_played%
- @ Last Played
- %last_played%
- 2 Path %path%
- ALBUM.ART 1 ART.SIZE 220 ART.KEEPASPECTRATIO 1
- ART.MARGIN 1 ART.OPACITY 255 ART.REFLECTION 0
- HEADER.MARGIN 4 TRACK.PROGRESSBAR 0, TRACK.PROGRESSBAR.COLOR
- 52-101-164-75
- LIGHT.COLOR.1
- 239-61-141
- LIGHT.COLOR.2 248-248-248
- LIGHT.COLOR.3 168-10-80 DARK.COLOR.1
- 164-11-106 DARK.COLOR.2 221-221-221 DARK.COLOR.3 142-107-160 LINE.COLOR.1 21-21-21 LINE.COLOR.2 51-51-41-75\ TRACK.MARGINH $if($strstr(%el_preset_name%,'/'),$add(%ART.SIZE%,$mul(%ART.MARGIN%,2)))4
- HTTP.CHECK" $strcmp($left(%path%,7),'http://')C LASTFM.CHECK/ $strcmp($left(%path%,19),'FOO_LASTFM_RADIO://') SKIN.PATH skins\masood_\r
- artist_format] $if($strstr(%artist%,' ft. '),$substr(%artist%,1,$sub($strstr(%artist%,' ft. '),1)),%artist%)E feat_format2 [ $trim($replace(%track artist%,%album artist%,))]f album_formatR [ %album artist%$if($strcmp($right($lower(%album artist%),1),s),'',''s) ][%album%] defaultp
- $puts(COLOR1,$if($or(%el_isplaying%,%el_selected%),
- %LIGHT.COLOR.1%,
- %DARK.COLOR.1%
- ))
- $puts(COLOR2,$if($or(%el_isplaying%,%el_selected%),
- %LIGHT.COLOR.2%,
- %DARK.COLOR.2%
- ))
- $puts(COLOR3,$if($or(%el_isplaying%,%el_selected%),
- %LIGHT.COLOR.3%,
- %DARK.COLOR.3%
- ))
- //-------------- selected bg
- $if(%el_selected%,
- $drawrect($sub(%TRACK.MARGIN%,$div(%ART.MARGIN%,2),1),0,%el_width%,%el_height%,%LINE.COLOR.1%-100,,)
- ,)
- //--------------track ind
- $drawtext($if(%ispaused%,||,$if(%isplaying%,>>,$if2(+%queue_index%,$if2($ifgreater(%discnumber%,1,[%discnumber%.],)[%tracknumber%],$add(%el_item_index%,1))))),$add(%TRACK.MARGIN%,4),0,24,%el_height%,$get(COLOR1),right vcenter mempos)
- //-------------- track information
- $drawtextex(%title%,$add(%TRACK.MARGIN%,38),0,
- $sub(%el_width%,$add(%TRACK.MARGIN%,114)),%el_height%,$get(COLOR2),vcenter end_ellipsis)
- //Non Grouped Views
- $if($strstr(%el_preset_name%,'/')
- ,,
- $drawtextex(%album_format%,$add(%TRACK.MARGIN%,$gettextwidth([%title%]%feat_format%),38),0,
- $sub(%el_width%,$add(%TRACK.MARGIN%,$gettextwidth([%title%]%feat_format%),114)),%el_height%,$get(COLOR1),vcenter end_ellipsis)
- )
- //Title + feat artist
- $drawtextex(%feat_format%,$add(%TRACK.MARGIN%,$gettextwidth([%title%]),38),0,
- $sub(%el_width%,$add(%TRACK.MARGIN%,$gettextwidth([%title%]),114)),%el_height%,$get(COLOR3),vcenter end_ellipsis)
- //-------------- play count
- $if(%HTTP.CHECK%,,
- $ifgreater(%LASTFM_PLAYCOUNT_DB%,0,
- $drawtext(%LASTFM_PLAYCOUNT_DB%,-45,0,,%el_height%,$get(COLOR1),vcenter right)
- ,)
- )
- //-------------- track length
- $if(%HTTP.CHECK%,,
- $if(%el_isplaying%,,$drawtext(%length%,0,0,,%el_height%,$get(COLOR3),vcenter right))
- )
- $font(ProfontWindows,7,)
- //-------------- rating
- $ifequal(%rating%,5,
- $drawtextex(♪,-65,0,,%el_height%,$get(COLOR2),vcenter right)
- ,)
- //$imageabs(%ART.MARGIN%,0,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\disc.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),6,%ART.OPACITY%),)
- //-------------- album art
- $if($strstr(%el_preset_name%,'/'),
- $ifequal(%ALBUM.ART%,0,,
- $enabledraw(1)
- $setworldtransform(2)
- $if(%HTTP.CHECK%,$imageabs(%ART.MARGIN%,0,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\radio.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),,%ART.OPACITY%),)
- $if(%LASTFM.CHECK%,$imageabs(%ART.MARGIN%,0,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\lfm_nocover.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),,%ART.OPACITY%),)
- $imageabs(%ART.MARGIN%,0,%ART.SIZE%,%ART.SIZE%,%el_group_first_path%,artreader $ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),,%ART.OPACITY%)
- $ifequal(%ART.REFLECTION%,0,,
- $if(%HTTP.CHECK%,$imageabs(%ART.MARGIN%,%ART.SIZE%,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\radio.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),6,%ART.OPACITY%),)
- $if(%LASTFM.CHECK%,$imageabs(%ART.MARGIN%,%ART.SIZE%,%ART.SIZE%,%ART.SIZE%,%SKIN.PATH%cover\lfm_nocover.png,$ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),6,%ART.OPACITY%),)
- $imageabs(%ART.MARGIN%,%ART.SIZE%,%ART.SIZE%,%ART.SIZE%,%el_group_first_path%,artreader $ifgreater(%ART.KEEPASPECTRATIO%,0,,nokeepaspect),6,%ART.OPACITY%)
- $gradientrect(%ART.MARGIN%,%ART.SIZE%,%ART.SIZE%,$div(%ART.SIZE%,2),27-27-27-144,27-27-27)
- $drawrect(%ART.MARGIN%,$add(%ART.SIZE%,$div(%ART.SIZE%,2)),%ART.SIZE%,$div(%ART.SIZE%,2),27-27-27,,)
- )
- )) $ifequal(%el_group_depth%,0
- ,
- $if($strstr(%el_preset_name%,'/Artist'),
- $drawtextex([%album artist%],%HEADER.MARGIN%,0,$get(a_cutoff),%el_height%,%LIGHT.COLOR.1%,vcenter end_ellipsis)
- $puts(x_rect,$add($gettextwidth([%album artist% ]),%HEADER.MARGIN%))
- )
- $if($strstr(%el_preset_name%,'/Genre'),
- $drawtextex($if2(%genre%,Unkown Genre),%HEADER.MARGIN%,0,$get(a_cutoff),%el_height%,%LIGHT.COLOR.1%,vcenter end_ellipsis)
- $puts(x_rect,$add($gettextwidth($if2(%genre%,Unkown Genre) ),%HEADER.MARGIN%))
- )
- $if($strstr(%el_preset_name%,'/Source'),
- $drawtextex($if2(%source%,Unkown Source),%HEADER.MARGIN%,0,$get(a_cutoff),%el_height%,%LIGHT.COLOR.1%,vcenter end_ellipsis)
- $puts(x_rect,$add($gettextwidth($if2(%source%,Unkown Source) ),%HEADER.MARGIN%))
- )
- $if($strstr(%el_preset_name%,'//'),
- //-------------- group duration
- $drawtextex(%el_sum_length%,0,0,,%el_height%,%DARK.COLOR.2%,right vcenter)
- //-------------- draw line
- $puts(w_rect,$sub(%el_width%,$add($get(x_rect),$gettextwidth( %el_sum_length%))))
- $drawrect($get(x_rect),6,$get(w_rect),1,%LINE.COLOR.2%,,)
- $drawrect($get(x_rect),5,$get(w_rect),1,%LINE.COLOR.1%,,)
- )
- ,
- //-------------- codec && album length
- $drawtextex(%el_sum_length%,0,0,,%el_height%,%DARK.COLOR.2%,right vcenter)
- $if([%source% ][%genre% ],
- $drawtextex(|,-$gettextwidth(%el_sum_length%),1,,%el_height%,%LINE.COLOR.2%,right vcenter)
- $drawtextex(|,-$gettextwidth(%el_sum_length%),0,,%el_height%,%LINE.COLOR.1%,right vcenter)
- ,)
- $drawtextex([%source% ][%genre% ],-$gettextwidth(%el_sum_length%),0,,%el_height%,%DARK.COLOR.2%,right vcenter end_ellipsis)
- //-------------- album
- $puts(album,$if2(%album%,$if(%HTTP.CHECK%,Streaming~,Single)))
- $puts(a_cutoff,$sub(%el_width%,%HEADER.MARGIN%,$gettextwidth( [%source% ][%genre% ]%el_sum_length%)))
- $drawtextex([$get(album)],%HEADER.MARGIN%,0,$get(a_cutoff),%el_height%,%LIGHT.COLOR.3%,vcenter end_ellipsis)
- //-------------- album artist
- $puts(aa_cutoff,$sub(%el_width%,%HEADER.MARGIN%,$gettextwidth( [%album%] -[%source% ][%genre% ]%el_sum_length%)))
- $if(%album artist%,
- $drawtextex(-,$add($gettextwidth([%album% ]),%HEADER.MARGIN%),1,$get(aa_cutoff),%el_height%,%LINE.COLOR.2%,vcenter)
- $drawtextex(-,$add($gettextwidth([%album% ]),%HEADER.MARGIN%),0,$get(aa_cutoff),%el_height%,%LINE.COLOR.1%,vcenter)
- $drawtextex( %album artist%,$add($gettextwidth([%album% ]-),%HEADER.MARGIN%),0,$get(aa_cutoff),%el_height%,%LIGHT.COLOR.1%,vcenter end_ellipsis)
- ,)
- //-------------- date
- $puts(d_cutoff,$sub(%el_width%,%HEADER.MARGIN%,$gettextwidth( [%album%] - [%album artist%][%source% ][%genre% ]%el_sum_length%)))
- $if(%date%,
- $ifgreater(%el_width%,$get(n_r),
- $drawtextex( '('%date%')',$add($gettextwidth([%album% ]- [%album artist%]),%HEADER.MARGIN%),0,$get(d_cutoff),%el_height%,%LIGHT.COLOR.2%,vcenter end_ellipsis)
- ,)
- ,)
- //-------------- draw line
- $puts(x_rect,$add($gettextwidth([$get(album)] [- %album artist% ]['('%date%')' ]),%HEADER.MARGIN%))
- $puts(w_rect,$sub(%el_width%,$add($get(x_rect),$gettextwidth( %el_sum_length%[%source% ][%genre% ]))))
- $drawrect($get(x_rect),14,$get(w_rect),1,%LINE.COLOR.2%,,)
- $drawrect($get(x_rect),13,$get(w_rect),1,%LINE.COLOR.1%,,)
- )H //-------------- track progress bar
- $ifgreater(%TRACK.PROGRESSBAR%,0,
- $puts(p_width,$sub(%el_width%,$sub(%TRACK.MARGIN%,$div(%ART.MARGIN%,2))))
- $puts(p_width,$div($mul($div($mul($get(p_width),100000),%length_seconds%),%playback_time_seconds%),100000))
- $drawblurrect($sub(%TRACK.MARGIN%,$div(%ART.MARGIN%,2)),$sub($div(%el_height%,2),$div(%el_height%,4)),$get(p_width),$div(%el_height%,2),%TRACK.PROGRESSBAR.COLOR%,2)
- ,)
- //-------------- track length
- $if(%HTTP.CHECK%,,
- $drawtextex(%playback_time_remaining%,0,0,,%el_height%,%LIGHT.COLOR.3%,vcenter right)
- ) ð x À ( ( ð , $$$ D^× $$$ › Untitled 2L J ´ÿÿÿ 1µ ± 3 Untitledt h øÿÿÿ %”ÏÂ@yE«?âf=› Playlists| 6 – æ 0 54 150 $sub(%_height%,66) Щ–‘¿ÒA”H€g@ž‚ Searchl – * Y@ 0 32 150 10 Ò t-ara ÿÿÿÿA %artist% %album% %title% %source% %genre% %path% %date% %comment% Extended t-ara: C:\Apps\foobar2000\skins\masood_\butns\search-bri_dark.bmp ååå Ì@ B¶§ulx$O›R×7Þ š Playcount Sync{ ® Æ Y@ $sub(%_width%,116) 2 24 24 ; { K{öàÛÇH0zl
- yñX auto_correct auto_menu ÿÿ mode f panel_id selection_mode , ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ¥ e JScriptd: // ==PREPROCESSOR==
- // @import "%fb2k_path%scripts\masood_\common.js"
- // @import "%fb2k_path%scripts\masood_\tooltip_buttons.js"
- // @name "Playcount Sync"
- // @author "marc2003"
- // ==/PREPROCESSOR==
- var bw = 24;
- var bh = 24;
- var top_margin = 0;
- var left_margin = 0;
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- window.SetProperty("selection_mode", 1);
- var selection_mode = window.GetProperty("selection_mode");
- var panel_id = window.GetProperty("panel_id", window.id);
- var custom_background_file = settings_path + panel_id + "buttons_background";
- var custom_background = read(custom_background_file);
- var username_file = settings_path + "username";
- var username = read(username_file);
- var api_key_file = settings_path + "api_key";
- var api_key = read(api_key_file);
- var autolove_file = settings_path + "autolove";
- var autolove = read(autolove_file);
- var sql_file = data_folder + "test.sql";
- var loved_working = null;
- var playcount_working = null;
- var page = 0;
- var last_page = 0;
- var g_timer = window.CreateTimerInterval(15000);
- window.GetProperty("auto_menu", false);
- window.GetProperty("auto_correct", true);
- if(!g_metadb) Buttons = { but: new Button(left_margin, top_margin, bw, bh, {normal: images_path + "exclamation.png"}, null, "No selection") };
- on_item_focus_change();
- if(fb.IsPlaying) on_playback_new_track();
- function on_metadb_changed() {
- if(!g_metadb) return;
- //artist = fb.TitleFormat("%artist%").EvalWithMetadb(g_metadb);
- artist = fb.TitleFormat("$if($strstr(%artist%,' ft. '),$substr(%artist%,1,$sub($strstr(%artist%,' ft. '),1)),%artist%)").EvalWithMetadb(g_metadb);
- track = fb.TitleFormat("%title%").EvalWithMetadb(g_metadb);
- old_userloved = fb.TitleFormat("%LASTFM_LOVED_DB%").EvalWithMetadb(g_metadb) == 1 ? 1 : 0;
- old_userplaycount = fb.TitleFormat("%LASTFM_PLAYCOUNT_DB%").EvalWithMetadb(g_metadb);
- command = "Last.fm " + (old_userloved == 1 ? "Unlove" : "Love") + " Track '" + track + "' by '"+ artist + "'";
- //crc32 = fb.TitleFormat("$crc32($lower(%artist%%title%))").EvalWithMetadb(g_metadb);
- crc32 = fb.TitleFormat("$crc32($lower($if($strstr(%artist%,' ft. '),$substr(%artist%,1,$sub($strstr(%artist%,' ft. '),1)),%artist%)%title%))").EvalWithMetadb(g_metadb);
- switch(true) {
- case (username.length == 0):
- case (api_key.length != 32):
- n = "exclamation.png";
- h = "exclamation.png";
- tooltip = "Please use the context menu to set your Last.fm username and API KEY.";
- func = null;
- break;
- case (!utils.CheckComponent("foo_customdb", true)):
- n = "exclamation.png";
- h = "exclamation.png";
- tooltip = "The foo_customdb component is not installed. Please refer to the readme.";
- func = null;
- break;
- case (!utils.CheckComponent("foo_softplaylists", true)):
- n = "exclamation.png";
- h = "exclamation.png";
- tooltip = "The foo_softplaylists component is required to love tracks.";
- func = null;
- break;
- default:
- n = old_userloved == 1 ? "love_h.png" : "love.png";
- h = old_userloved == 1 ? "love.png" : "love_h.png";
- tooltip = command;
- func = function() {lfm_track();}
- break;
- }
- Buttons = {
- but: new Button(left_margin, top_margin, bw, bh, {normal: images_path + n, hover: images_path + h}, func, tooltip)
- };
- window.Repaint();
- }
- function on_timer(id) {
- var temp = page > 1 ? page - 1 : 1;
- if(loved_working && page == last_page) {
- xmlhttp.abort();
- sync_library_loved(temp);
- } else if(playcount_working && page == last_page) {
- xmlhttp.abort();
- sync_library_playcount(temp);
- } else {
- last_page = page;
- }
- }
- function on_notify_data(name, data) {
- if(name == "lastfm_update" && data == 1) {
- username = read(username_file);
- api_key = read(api_key_file);
- on_metadb_changed();
- loved_working = null;
- playcount_working = null;
- }
- }
- function on_playback_new_track() {
- time_elapsed = 0;
- switch(true) {
- case (fb.PlaybackLength == 0):
- target_time = 240;
- break;
- case (fb.PlaybackLength >= 30):
- target_time = Math.min(Math.floor(fb.PlaybackLength / 2),240);
- break;
- default:
- target_time = 5;
- break;
- }
- on_item_focus_change();
- }
- function on_playback_time(time) {
- time_elapsed++;
- if(time_elapsed == 3 && window.GetProperty("auto_menu") && fb.TitleFormat(autolove).Eval() == 1 && old_userloved == 0) {
- fb.trace("Playcount sync: Automatically loving this track....");
- lfm_track();
- }
- if(time_elapsed == target_time) sync();
- }
- function lfm_track() {
- fb.RunContextCommandWithMetadb(command, g_metadb);
- sync();
- }
- function sync() {
- if(username.length == 0 || api_key.length != 32) return(fb.trace("Playcount sync: Can't contact Last.fm. Check your username / API KEY settings."));
- if(loved_working || playcount_working) return;
- fb.trace("Playcount sync: Contacting Last.fm....");
- lastfm("&method=track.getinfo&artist=" + encodeURIComponent(artist) + "&track=" + encodeURIComponent(track) + "&autocorrect=" + (window.GetProperty("auto_correct") ? 1 : 0), "foo_playcount_sync", function() {process();});
- }
- function process() {
- parsed_data = JSON.parse(xmlhttp.responsetext);
- if(parsed_data.error > 0) {
- if(parsed_data.error == 6) fb.trace("Playcount sync: artist / track not found.");
- else fb.trace("Playcount sync: " + xmlhttp.responsetext);
- return;
- }
- fb.trace("Playcount sync: Last.fm responded 'OK'");
- userplaycount = parsed_data.track.userplaycount > 0 ? ++parsed_data.track.userplaycount : 1;
- userloved = parsed_data.track.userloved == 1 ? 1 : 0;
- if(fb.IsPlaying && time_elapsed >= target_time && fb.PlaybackLength > 29 && fb.PlaybackLength < 10800) {
- switch(true) {
- case (userplaycount < old_userplaycount):
- fb.trace("Playcount sync: Playcount returned from Last.fm is lower than current value. Not updating.");
- break;
- case (old_userplaycount != userplaycount):
- fb.RunContextCommandWithMetadb("Customdb Delete Playcount", g_metadb);
- if(old_userloved == 1) fb.RunContextCommandWithMetadb("Customdb Love 0", g_metadb);
- var attempt = 0;
- while(fb.TitleFormat("%LASTFM_PLAYCOUNT_DB%").EvalWithMetadb(g_metadb) != userplaycount && attempt <=3) {
- var query1 = '\"INSERT INTO quicktag(url,subsong,fieldname,value) VALUES(\\"' + crc32 + '\\",\\"-1\\",\\"LASTFM_PLAYCOUNT_DB\\",\\"' + userplaycount + '\\")\";';
- WshShell.Run(fso.GetFile(script_path + "sqlite3.exe").ShortPath + " " + fso.GetFile(fb.ProfilePath + "customdb_sqlite.db").ShortPath + " " + query1, 0, true);
- attempt++;
- }
- fb.RunContextCommandWithMetadb("Customdb Refresh", g_metadb);
- break;
- default:
- fb.trace("Playcount sync: No changes found. Not updating.");
- }
- }
- if(old_userloved != userloved) fb.RunContextCommandWithMetadb("Customdb Love " + userloved, g_metadb);
- }
- function sync_library_loved(p) {
- if(loved_working == null) return(fb.trace("Playcount sync: Import aborted."));
- page = p;
- lastfm("&method=user.getlovedtracks&limit=200&user=" + username + "&page=" + page, "foo_playcount_sync", function() {process_library_loved();});
- }
- function process_library_loved() {
- parsed_data = JSON.parse(xmlhttp.responsetext);
- if(parsed_data.error > 0) {
- loved_working = null;
- fb.ShowPopupMessage("There is a problem with the Last.fm web services. Please try again later.\n\n" + xmlhttp.responsetext, "Playcount sync");
- return;
- }
- if(page == 1) { try { pages = parsed_data.lovedtracks["@attr"].totalPages; } catch(e) {} }
- if(pages > 0) {
- for(i = 0; i < parsed_data.lovedtracks.track.length; i++) {
- var data = [];
- data[0] = parsed_data.lovedtracks.track[i].artist.name;
- data[1] = parsed_data.lovedtracks.track[i].name;
- data[2] = 1;
- if(data.length == 3) {
- fb.trace(r + ": " + data[0] + " - " + data[1]);
- url = fb.TitleFormat("$crc32($lower(" + tf(data[0]) + tf(data[1]) + "))").EvalWithMetadb(g_metadb);
- sql += 'INSERT OR REPLACE INTO quicktag(url,subsong,fieldname,value) VALUES("' + url + '","-1","LASTFM_LOVED_DB","' + data[2] + '");' + "\n";
- r++;
- }
- }
- fb.trace("Completed page " + page + " of " + pages + " (loved tracks)");
- }
- if(page < pages) {
- page++;
- sync_library_loved(page);
- } else {
- loved_working = null;
- playcount_working = true;
- pages = 0;
- r = 1;
- sync_library_playcount(1);
- }
- }
- function sync_library_playcount(p) {
- if(playcount_working == null) return(fb.trace("Playcount sync: Import aborted."));
- page = p;
- lastfm("&method=library.gettracks&limit=100&user=" + username + "&page=" + page, "foo_playcount_sync", function() {process_library_playcount();});
- }
- function process_library_playcount() {
- parsed_data = JSON.parse(xmlhttp.responsetext);
- if(parsed_data.error > 0) {
- playcount_working = null;
- fb.ShowPopupMessage("There is a problem with the Last.fm web services. Please try again later.\n\n" + xmlhttp.responsetext, "Playcount sync");
- return;
- }
- if(page == 1) { try { pages = parsed_data.tracks["@attr"].totalPages; } catch(e) {} }
- if(pages > 0) {
- for(i = 0; i < parsed_data.tracks.track.length; i++) {
- var data = [];
- data[0] = parsed_data.tracks.track[i].artist.name;
- data[1] = parsed_data.tracks.track[i].name;
- data[2] = parsed_data.tracks.track[i].playcount;
- if(data.length == 3) {
- fb.trace(r + ": " + data[0] + " - " + data[1] + " " + data[2]);
- url = fb.TitleFormat("$crc32($lower(" + tf(data[0]) + tf(data[1]) + "))").EvalWithMetadb(g_metadb);
- sql += 'INSERT OR REPLACE INTO quicktag(url,subsong,fieldname,value) VALUES("' + url + '","-1","LASTFM_PLAYCOUNT_DB","' + data[2] + '");' + "\n";
- r++;
- }
- }
- fb.trace("Completed page " + page + " of " + pages + " (playcount)");
- }
- if(page < pages) {
- page++;
- sync_library_playcount(page);
- } else {
- try {
- sql += "COMMIT;"
- ts = fso.OpenTextFile(sql_file, 2, true, 0);
- ts.WriteLine(sql);
- ts.close();
- import_sql();
- playcount_working = null;
- } catch(e) {
- }
- }
- }
- function import_sql() {
- try {
- cmd_file = fso.GetFile(script_path + "lastfm_sql.cmd").ShortPath;
- db_file = fso.GetFile(fb.ProfilePath + "customdb_sqlite.db").ShortPath;
- WshShell.Run(cmd_file + " " + fso.GetFile(script_path + "sqlite3.exe").ShortPath + " " + db_file + " " + fso.GetFile(sql_file).ShortPath);
- } catch(e) {
- }
- }
- function on_size() {
- ww = window.Width;
- wh = window.Height;
- }
- function on_mouse_rbtn_up(x, y) {
- var _menu = window.CreatePopupMenu();
- var _li = window.CreatePopupMenu();
- var _au = window.CreatePopupMenu();
- var _child = window.CreatePopupMenu();
- var _auto = window.CreatePopupMenu();
- var idx;
- _li.AppendMenuItem(utils.CheckComponent("foo_customdb", true) && !loved_working && !playcount_working && g_metadb && username.length > 0 && api_key.length == 32 ? MF_STRING : MF_GRAYED, 4, "Create and import SQL file");
- _li.AppendMenuItem(utils.CheckComponent("foo_customdb", true) && fso.FileExists(sql_file) ? MF_STRING : MF_GRAYED, 5, "Import SQL file");
- _menu.AppendMenuItem(MF_STRING | MF_POPUP, _li.ID, "Library import");
- _au.AppendMenuItem(MF_STRING, 6, "Use spelling correction");
- _au.CheckMenuItem(6, window.GetProperty("auto_correct"));
- _menu.AppendMenuItem(MF_STRING | MF_POPUP, _au.ID, "Auto-updates");
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- _auto.AppendMenuItem(MF_STRING, 200, "Off");
- _auto.AppendMenuItem(MF_STRING, 201, "On");
- _auto.AppendMenuItem(MF_SEPARATOR, 0, 0);
- _auto.AppendMenuItem(window.GetProperty("auto_menu") ? MF_STRING : MF_GRAYED, 202, "Condition");
- _auto.CheckMenuRadioItem(200, 201, window.GetProperty("auto_menu") ? 201 : 200);
- _menu.AppendMenuItem(MF_STRING | MF_POPUP, _auto.ID, "Automatically love tracks");
- _child.AppendMenuItem(MF_STRING, 101, "None");
- _child.AppendMenuItem(MF_STRING, 102, (dui ? "Default UI " : "Columns UI ") + "default");
- _child.AppendMenuItem(MF_STRING, 103, "Splitter");
- _child.AppendMenuItem(MF_STRING, 104, "Custom ");
- _child.AppendMenuItem(MF_SEPARATOR, 0, 0);
- _child.AppendMenuItem(window.GetProperty("mode") == 104 ? MF_STRING : MF_GRAYED, 105, "Set custom colour...");
- _child.CheckMenuRadioItem(101, 104, window.GetProperty("mode", 101));
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- _menu.AppendMenuItem(MF_STRING | MF_POPUP, _child.ID, "Background");
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- _menu.AppendMenuItem(username.length > 0 ? MF_STRING : MF_GRAYED, 1, "Visit your Last.fm user profile page");
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- _menu.AppendMenuItem(!loved_working && !playcount_working ? MF_STRING : MF_GRAYED, 2, "Set your Last.fm username...");
- _menu.AppendMenuItem(!loved_working && !playcount_working ? MF_STRING : MF_GRAYED, 3, "Set your API KEY...");
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- if(utils.IsKeyPressed(0x10)) _menu.AppendMenuItem(MF_STRING, 9, "Properties");
- _menu.AppendMenuItem(MF_STRING, 10, "Configure...");
- idx = _menu.TrackPopupMenu(x, y);
- switch(idx) {
- case 1:
- try {
- WshShell.run("http://www.last.fm/user/" + encodeURIComponent(username));
- } catch(e) {
- fb.ShowPopupMessage("Unable to launch your default browser.", "Playcount sync");
- }
- break;
- case 2:
- username = text_input_box("Playcount sync", "Please enter your Last.fm username", username_file);
- on_metadb_changed();
- window.NotifyOthers("lastfm_update", 1);
- break;
- case 3:
- api_key = text_input_box("Playcount sync", "Please enter your Last.fm API KEY\n\nhttp://www.last.fm/api/account", api_key_file);
- on_metadb_changed();
- window.NotifyOthers("lastfm_update", 1);
- break;
- case 4:
- pages = 0;
- r = 1;
- sql = "BEGIN TRANSACTION;\n";
- loved_working = true;
- sync_library_loved(1);
- break;
- case 5:
- import_sql();
- break;
- case 6:
- window.SetProperty("auto_correct", !window.GetProperty("auto_correct"));
- break;
- case 101:
- case 102:
- case 103:
- case 104:
- window.SetProperty("mode", idx);
- window.Repaint();
- break;
- case 105:
- custom_background = text_input_box("Playcount sync", "Enter a custom colour for the background. Uses RGB. Example usage:\n\n234-211-74", custom_background_file);
- window.Repaint();
- break;
- case 200:
- case 201:
- window.SetProperty("auto_menu", idx == 200 ? false : true);
- break;
- case 202:
- autolove = text_input_box("Playcount sync", "The result of the title formatting set here must equal 1 for a track to be automatically loved.\n\nExample:\n\n$ifequal(%rating%,5,1,0)", autolove_file);
- break;
- case 9:
- window.ShowProperties();
- break;
- case 10:
- window.ShowConfigure();
- break;
- }
- _menu.Dispose();
- _auto.Dispose();
- _li.Dispose();
- _au.Dispose();
- _child.Dispose();
- return true;
- }
- function on_paint(gr) {
- buttons_background(gr);
- buttonsDraw(gr);
- } ‰ì2EgÅgB³:Ko Visuals€ " æ Y@ 32 %_width% $sub(%_height%,44) ¯ ’ þ //Stream check
- $puts(HTTP.CHECK,$strcmp($left(%path%,7),'http://'))
- $puts(LASTFM.CHECK,$strcmp($left(%path%,19),'FOO_LASTFM_RADIO://'))
- //Aspect ratio
- $puts(cover_size,10)
- $puts(cover_y,10)
- $puts(h_resize,$sub($muldiv(%_height%,6,7),$get(cover_size)))
- $puts(w_resize,$sub(%_width%,20))
- $puts(aspect,$min(700,$get(h_resize),$get(w_resize)))
- $puts(cover_x,$sub($div(%_width%,2),$div($get(aspect),2)))
- $drawrect($get(cover_x),$get(cover_y),$get(aspect),$get(aspect),0-0-0,0-0-0,)
- //Cover
- $if($or(%ps_isplaying%,%ps_ispause%),
- $ifgreater($get(aspect),2,
- $if($get(HTTP.CHECK),
- $imageabs($get(cover_x),$get(cover_y),$get(aspect),$get(aspect),$get_ps_global(SKIN.PATH)\cover\radio.png,),
- $if($get(LASTFM.CHECK),
- $if2($imageabs($get(cover_x),$get(cover_y),$get(aspect),$get(aspect),%path%,artreader),
- $imageabs($get(cover_x),$get(cover_y),$get(aspect),$get(aspect),$get_ps_global(SKIN.PATH)\cover\lfm_nocover.png,)
- ),
- //try not to use embedded
- $if3($drawimage($get(cover_x),$get(cover_y),$get(aspect),$get(aspect),$directory_path(%path%)'\cover.jpg'),
- $drawimage($get(cover_x),$get(cover_y),$get(aspect),$get(aspect),%path%,artreader),
- $drawimage($get(cover_x),$get(cover_y),$get(aspect),$get(aspect),$get_ps_global(SKIN.PATH)\cover\disc.png)
- )))
- ,),) õÿÿÿ C a l i b r i <ÆPó|ˆI„К,P¸ð Channel spectrum panel“ … " Å Y@ $muldiv(%_height%,6,7) %_width% $div(%_height%,7) P * ½+ƒ
- Z Hš‰fC¡ÿQaüw Colours | 0 $if(%_is_group%,$set_style(text,$rgb(21,21,21))) ±‘R-9iD¹‘ +€ë{ Colours
Advertisement
Add Comment
Please, Sign In to add comment