Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==PREPROCESSOR==
- // @import "%fb2k_path%scripts\marc2003\v2\common.js"
- // ==/PREPROCESSOR==
- var stopped_text = "foobar2000";
- var title_tf = fb.TitleFormat("%title%");
- var album_tf = fb.TitleFormat("[%album%]");
- var artist_tf = fb.TitleFormat("%artist%");
- var title_font = gdi.Font("Segoe UI", 30, 1);
- var album_font = gdi.Font("Segoe UI", 22, 1);
- var artist_font = gdi.Font("Segoe UI", 22, 1);
- var title_colour = RGB(240, 240, 240);
- var album_colour = RGB(210, 210, 210);
- var artist_colour = RGB(180, 180, 180);
- var top_c = RGB(255,0,0);
- var mid_c = RGB(0,255,0);
- var bot_c = RGB(0,0,255);
- var album_img = null;
- var artist_img = null;
- var album_img_size = window.GetProperty("album_img_size", 510) - 400;
- if(fb.IsPlaying) on_playback_new_track();
- function on_playback_stop(reason) {
- if(album_img) album_img.Dispose();
- if(artist_img) artist_img.Dispose();
- g_metadb = album_img = artist_img = arr = null;
- if(reason != 2) window.Repaint();
- }
- function on_playback_new_track() {
- g_metadb = fb.GetNowPlaying();
- artist = artist_tf.EvalWithMetadb(g_metadb);
- title = title_tf.EvalWithMetadb(g_metadb);
- album = album_tf.EvalWithMetadb(g_metadb);
- if(album_img) album_img.Dispose();
- album_img = utils.GetAlbumArtEmbedded(g_metadb.rawpath, 0);
- if(!album_img) utils.GetAlbumArtAsync(window.ID, g_metadb, 0);
- if(artist_img) artist_img.Dispose();
- artist_img = utils.GetAlbumArtEmbedded(g_metadb.rawpath, 4);
- if(!artist_img) utils.GetAlbumArtAsync(window.ID, g_metadb, 4);
- window.Repaint();
- }
- function on_get_album_art_done(metadb, art_id, im, ip) {
- if(art_id == 0) album_img = im;
- if(art_id == 4) artist_img = im;
- window.Repaint();
- }
- function on_size() {
- ww = window.width;
- wh = window.height;
- }
- function on_paint(gr) {
- if(artist_img) {
- scale(gr, artist_img, 0, 0, ww, wh, "max");
- } else {
- gr.FillGradRect(0, 0, ww, wh * 0.5, 90,top_c, mid_c);
- gr.FillGradRect(0, wh * 0.5, ww, wh * 0.5, 90,mid_c, bot_c);
- }
- gr.FillSolidRect(0,wh-130,ww,110,RGBA(0,0,0,156));
- if(album_img) {
- text_x = album_img_size + 10;
- scale(gr, album_img, 0, wh-20-album_img_size, album_img_size, album_img_size, "min");
- } else {
- text_x = 10;
- }
- if(fb.IsPlaying) {
- gr.GdiDrawText(title, title_font, title_colour, text_x, wh -127, ww-text_x-10, wh,DT_END_ELLIPSIS | DT_CALCRECT | DT_NOPREFIX);
- gr.GdiDrawText(album, album_font, album_colour, text_x, wh - 80, ww-text_x-10, wh,DT_END_ELLIPSIS | DT_CALCRECT | DT_NOPREFIX);
- gr.GdiDrawText(artist, artist_font, artist_colour, text_x, wh - 55, ww-text_x-10, wh,DT_END_ELLIPSIS | DT_CALCRECT | DT_NOPREFIX);
- } else {
- scale(gr, gdi.Image(images_path + "foobar.png"), 0, 0, ww, wh - 130, "min");
- gr.GdiDrawText(stopped_text, title_font, title_colour, 0, wh - 130, ww, 110,DT_CENTER | DT_VCENTER | DT_END_ELLIPSIS | DT_CALCRECT | DT_NOPREFIX);
- }
- }
- function on_mouse_rbtn_up(x, y) {
- var _menu = window.CreatePopupMenu();
- var _album = window.CreatePopupMenu();
- var idx;
- _album.AppendMenuItem(MF_STRING, 510, "Small");
- _album.AppendMenuItem(MF_STRING, 620, "Large");
- _album.CheckMenuRadioItem(510, 620, window.GetProperty("album_img_size"));
- _menu.AppendMenuItem(MF_STRING | MF_POPUP, _album.ID, "Cover image size");
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- //_menu.AppendMenuItem(MF_STRING, 99, "Properties");
- _menu.AppendMenuItem(MF_STRING, 100, "Configure...");
- idx = _menu.TrackPopupMenu(x, y);
- switch(idx) {
- case 510:
- case 620:
- window.SetProperty("album_img_size", idx);
- album_img_size = idx - 400;
- window.Repaint();
- break;
- case 99:
- window.ShowProperties();
- break;
- case 100:
- window.ShowConfigure();
- break;
- }
- _menu.Dispose();
- _album.Dispose();
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement