Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==PREPROCESSOR==
- // @name "Search Toolbar panel"
- // @version "1.3"
- // @author "Br3tt"
- // @feature "dragdrop"
- // @import "%fb2k_profile_path%skins\xc4\scripts\Common.js"
- // ==/PREPROCESSOR==
- //=================================================// Read Options
- // ================================================== CUI Colours
- var g_instancetype = window.InstanceType;
- var c01, c02, c03, c04, c05, c06;
- function get_colors() {
- if (g_instancetype == 0) { // CUI
- c01 = window.GetColorCUI(ColorTypeCUI.background);
- c02 = window.GetColorCUI(ColorTypeCUI.selection_background);
- c03 = window.GetColorCUI(ColorTypeCUI.text);
- c04 = window.GetColorCUI(ColorTypeCUI.selection_text);
- c05 = window.GetColorCUI(ColorTypeCUI.inactive_selection_text);
- c06 = window.GetColorCUI(ColorTypeCUI.inactive_selection_background);
- }
- c01 = RGB(0,0,0);
- c02 = RGB(0,0,0);
- c03 = RGB(161,207,245);
- c04 = RGB(120,130,140);
- c05 = RGB(255,255,255);
- c06 = RGB(0,0,0);
- c03b = RGB(121,167,205);
- c03c = RGB(60,80,100);
- }
- get_colors();
- function on_colors_changed() {
- on_size();
- }
- // ================================================== CUI Colours
- //=================================================// Properties
- var AUTO_SEARCH = window.GetProperty("Autosearch", true);
- //var AUTO_SEARCH = true;
- var AUTO_PLS = window.GetProperty("Create AutoPlaylists", true);
- var LAST_SEARCH = window.GetProperty("Last entry", "");
- var TAG_SEARCH = window.GetProperty("Tags Used", 0);
- var g_searchresult = window.GetProperty("Always Send To #Search Result", true);
- var g_quicksearch = false;
- // SEARCH MODE : 1 = Filter (default mode) // 0 = new Search (activated with button)
- var SEARCH_MODE = window.GetProperty("Library Filter mode", 0);
- //===============================================//Genre Properties
- var g1 = window.GetProperty(" genre 1", "Pop");
- var g2 = window.GetProperty(" genre 2", "Rock");
- var g3 = window.GetProperty(" genre 3", "Sexy");
- var g4 = window.GetProperty(" genre 4", "Alternative");
- var g5 = window.GetProperty(" genre 5", "Alternative Rock");
- var g6 = window.GetProperty(" genre 6", "Hard Rock");
- var g7 = window.GetProperty(" genre 7", "General Rock");
- var g8 = window.GetProperty(" genre 8", "Funk Rock");
- var g9 = window.GetProperty(" genre 9", "Soul");
- var g10 = window.GetProperty(" genre 10", "Jazz");
- var g11 = window.GetProperty(" genre 11", "Blues");
- var g12 = window.GetProperty(" genre 12", "House");
- var g13 = window.GetProperty(" genre 13", "Progresive House");
- var g14 = window.GetProperty(" genre 14", "Disco");
- var g15 = window.GetProperty(" genre 15", "Euro Disco");
- var g16 = window.GetProperty(" genre 16", "Dance");
- var g17 = window.GetProperty(" genre 17", "Dance House");
- var g18 = window.GetProperty(" genre 18", "Metal");
- var g19 = window.GetProperty(" genre 19", "Heavy Metal");
- var g20 = window.GetProperty(" genre 20", "Death Metal");
- var g21 = window.GetProperty(" genre 21", "Industrial Metal");
- var g22 = window.GetProperty(" genre 22", "Industrial");
- var g23 = window.GetProperty(" genre 23", "Funk");
- var g24 = window.GetProperty(" genre 24", "Rap");
- var g25 = window.GetProperty(" genre 25", "Hip Hop");
- var g26 = window.GetProperty(" genre 26", "Hip-Hop");
- var g27 = window.GetProperty(" genre 27", "R&B");
- var g28 = window.GetProperty(" genre 28", "RandB");
- var g29 = window.GetProperty(" genre 29", "Reggae");
- var g30 = window.GetProperty(" genre 30", "Gangsta");
- var g31 = window.GetProperty(" genre 31", "Techno");
- var g32 = window.GetProperty(" genre 32", "Electronic");
- var g33 = window.GetProperty(" genre 33", "Meditative");
- var g34 = window.GetProperty(" genre 34", "New Age");
- var g35 = window.GetProperty(" genre 35", "New Wave");
- var g36 = window.GetProperty(" genre 36", "World");
- var g37 = window.GetProperty(" genre 37", "Ambient");
- var g38 = window.GetProperty(" genre 38", "Christian");
- var g39 = window.GetProperty(" genre 39", "Gospel");
- var g40 = window.GetProperty(" genre 40", "Easy Listening");
- var g41 = window.GetProperty(" genre 41", "Instrumental");
- var g42 = window.GetProperty(" genre 42", "Concert");
- var g43 = window.GetProperty(" genre 43", "Vocal");
- var g44 = window.GetProperty(" genre 44", "Ballad");
- var g45 = window.GetProperty(" genre 45", "Folk");
- var g46 = window.GetProperty(" genre 46", "Country");
- var g47 = window.GetProperty(" genre 47", "Indie");
- var g48 = window.GetProperty(" genre 48", "Indie Pop");
- var g49 = window.GetProperty(" genre 49", "Drum Bass");
- var g50 = window.GetProperty(" genre 50", "Thrash");
- //=================================================// Images
- var filter_img_off;
- var reset_img_off;
- var go_magnify_img_off;
- var settings_img;
- //=================================================// Globals
- var mybutton = Array(new button, new button, new button, new button);
- var myinputbox = Array(new searchbox);
- var g_metadb;
- var g_timer;
- var g_artist = "N/A";
- var g_album = "N/A";
- var g_title = "N/A";
- var g_genre = "N/A";
- var g_year = "N/A";
- var g_quick_search_text = "";
- var tooltip = window.CreateTooltip();
- // Common global variables
- var ww = window.Width;
- var wh = window.Height;
- var mouse_x;
- var mouse_y;
- var show_tooltip;
- var hand;
- //=================================================// Panel Callbacks
- function on_size() {
- var i;
- var autosearch_delay;
- // ask for grab title format info from main WSH panel, for notifying this panel
- window.NotifyOthers("Grab_TF", true);
- window.MinWidth = 120;
- ww = window.Width;
- wh = window.Height;
- get_colors();
- refresh_buttons();
- if(AUTO_SEARCH) {
- autosearch_delay = 500;
- } else {
- autosearch_delay = 0;
- }
- myinputbox[0].create(ww-39, 15, "Quick Search...", LAST_SEARCH, RGB(200,200,200), RGB(255,255,255), RGB(200,200,200), RGB(255,255,255), RGB(255,255,255), SearchIt, autosearch_delay);
- }
- function on_paint(gr) {
- var i;
- var box_colour, mag_colour, filter_colour;
- if(ww<1) return true;
- // InputBox bg(Length input box)
- gr.SetSmoothingMode(3);
- gr.FillRoundRect(-0, 0, ww-0, 22, 1, 1, RGBA(220, 220, 220, 40));
- gr.FillRoundRect(-0, 0, ww-0, 22, 1, 1, RGBA(0, 0, 0, 180));
- if(myinputbox[0].edit) {
- box_colour = RGBA(30, 30, 30, 160);
- mag_colour = RGBA(60, 60, 70, 255);
- filter_colour = RGBA(40, 80, 120, 255);
- } else {
- box_colour = RGBA(30, 30, 30, 160);
- mag_colour = RGBA(170, 170, 180, 255);
- filter_colour = RGBA(120, 170, 200, 255);
- }
- gr.FillRoundRect(0, 0, ww-0, 22, 3, 3, box_colour);
- // buttons
- for (i = 0; i < mybutton.length; i++) {
- switch (i) {
- case 0:
- // draw reset box button
- mybutton[i].create(reset_img_off, reset_img_off, reset_img_off, "", -01);
- mybutton[i].draw(gr, ww-16, 3, 255, "");
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- // search settings
- mybutton[i].draw(gr, 0, 1, 999, "");
- break;
- }
- }
- // input box
- gr.SetSmoothingMode(0);
- myinputbox[0].draw(gr, 24, 3);
- }
- // callbacks
- function on_mouse_lbtn_down(x, y) {
- var i;
- // buttons
- for (i = 0; i < mybutton.length; i++) {
- mybutton[i].checkstate("down", x, y, i);
- }
- // InputBox
- myinputbox[0].on_mouse_lbtn_down(x, y);
- window.Repaint();
- }
- function on_mouse_lbtn_up(x, y) {
- var i;
- // buttons
- for (i = 0; i < mybutton.length; i++) {
- switch (i) {
- case 0:
- // reset box
- if (mybutton[i].checkstate("up", x, y)== mybutton[i].ButtonStates.hover) {
- window.SetCursor(32650);
- myinputbox[0].Reset();
- window.SetProperty("Last entry", "");
- SearchIt("");
- }
- break;
- case 1:
- break;
- case 2:
- // enforce mode (filter if search mode and search if filter mode)
- if(myinputbox[0].text!=myinputbox[0].default_text && myinputbox[0].text.length>0) {
- if (mybutton[i].checkstate("up", x, y)== mybutton[i].ButtonStates.hover) {
- SEARCH_MODE = 0;
- SearchIt(myinputbox[0].text);
- //myinputbox[0].text = myinputbox[0].default_text;
- window.Repaint();
- }
- }
- break;
- case 3:
- // enforce mode (filter if search mode and search if filter mode)
- if (mybutton[i].checkstate("up", x, y)== mybutton[i].ButtonStates.hover) {
- settings_menu(10, 23);
- }
- break;
- }
- }
- // InputBox
- myinputbox[0].on_mouse_lbtn_up(x, y);
- }
- function on_mouse_move(x, y) {
- var i;
- mouse_x = x;
- mouse_y = y;
- // buttons
- hand=false;
- for (i = 0; i < mybutton.length; i++) {
- switch(i) {
- case 0:
- mybutton[i].checkstate("move", x, y, i);
- if(mybutton[i].is_hover) hand=true;
- break;
- case 1:
- mybutton[i].checkstate("move", x, y, i);
- if(mybutton[i].is_hover) hand=true;
- break;
- case 2:
- if(myinputbox[0].text!=myinputbox[0].default_text && myinputbox[0].text.length>0) {
- mybutton[i].checkstate("move", x, y, i);
- if(mybutton[i].is_hover) hand=true;
- }
- break;
- case 3:
- mybutton[i].checkstate("move", x, y, i);
- if(mybutton[i].is_hover) hand=true;
- break;
- }
- }
- // InputBox
- myinputbox[0].on_mouse_move(x, y);
- // Mouse Cursor
- window.SetCursor(hand? IDC_HAND : myinputbox[0].hover ? IDC_IBEAM : IDC_ARROW);
- }
- function on_mouse_leave() {
- var i;
- // buttons
- for (i = 0; i < mybutton.length; i++) {
- mybutton[i].checkstate("leave", 0, 0, i);
- }
- tooltip.Text="";
- }
- function on_key_down(vkey) {
- myinputbox[0].on_key_down(vkey);
- }
- function on_char(code) {
- myinputbox[0].on_char(code);
- }
- function on_focus(is_focused) {
- myinputbox[0].on_focus(is_focused);
- }
- function on_timer(id) {
- var i;
- // buttons
- for (i = 0; i < mybutton.length; i++) {
- mybutton[i].ontimer(id);
- }
- // InputBox
- myinputbox[0].on_timer(id);
- }
- function settings_menu(x, y) {
- var MF_SEPARATOR = 0x00000800;
- var MF_STRING = 0x00000000;
- var _menu = window.CreatePopupMenu();
- var idx;
- var total_area, visible_area;
- var bout, z;
- var gnr = window.CreatePopupMenu();
- var MF_POPUP = 0x00000010;
- var mode = window.CreatePopupMenu();
- // main menu
- _menu.AppendMenuItem(MF_STRING, 100, "Settings..");
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- _menu.AppendMenuItem(MF_STRING, 1, "AutoSearch");
- _menu.AppendMenuItem(MF_STRING, 2, "Create AutoPlaylists");
- _menu.AppendMenuItem(MF_STRING, 3, "Always send to #Search result");
- if(SEARCH_MODE==1) _menu.AppendMenuItem(MF_STRING, 17, "Library Filter Mode");
- if(SEARCH_MODE==0) _menu.AppendMenuItem(MF_STRING, 18, "Library Filter Mode");
- _menu.AppendMenuItem(MF_SEPARATOR, 0, "");
- _menu.AppendMenuItem(MF_STRING, 4, "All");
- _menu.AppendMenuItem(MF_STRING, 5, "Artist");
- _menu.AppendMenuItem(MF_STRING, 6, "Album");
- _menu.AppendMenuItem(MF_STRING, 7, "Title");
- _menu.AppendMenuItem(MF_STRING, 8, "Genre");
- _menu.AppendMenuItem(MF_STRING, 9, "Date");
- _menu.CheckMenuItem(1, AUTO_SEARCH?1:0);
- _menu.CheckMenuItem(2, AUTO_PLS?1:0);
- _menu.CheckMenuItem(3, g_searchresult?1:0);
- _menu.CheckMenuRadioItem(4, 9, TAG_SEARCH + 4);
- _menu.CheckMenuItem(17, SEARCH_MODE?1:0);
- //Quick Search menu..
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- if(g_artist!="N/A" && g_artist.length>1) _menu.AppendMenuItem(MF_STRING, 10, "#QuickSearch for same Artist");
- if(g_album!="N/A" && g_album.length>1) _menu.AppendMenuItem(MF_STRING, 11, "#QuickSearch for same Album");
- if(g_title!="N/A" && g_title.length>1) _menu.AppendMenuItem(MF_STRING, 12, "#QuickSearch for same Title");
- if(g_genre!="N/A" && g_genre.length>1) _menu.AppendMenuItem(MF_STRING, 13, "#QuickSearch for same Genre");
- if(g_year!="N/A" && g_year.length>1) _menu.AppendMenuItem(MF_STRING, 14, "#QuickSearch for same Year");
- //Mode Rating
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- _menu.AppendMenuItem(MF_STRING | MF_POPUP, mode.ID, "Mode Rating");
- mode.AppendMenuItem(MF_STRING, 70, "Loved Tracks");
- mode.AppendMenuItem(MF_STRING, 71, "Skipped Tracks");
- mode.AppendMenuItem(MF_STRING, 72, "Unrated Tracks");
- mode.AppendMenuItem(MF_STRING, 73, "Tracks rated 1");
- mode.AppendMenuItem(MF_STRING, 74, "Tracks rated 2");
- mode.AppendMenuItem(MF_STRING, 75, "Tracks rated 3");
- mode.AppendMenuItem(MF_STRING, 76, "Tracks rated 4");
- mode.AppendMenuItem(MF_STRING, 77, "Tracks rated 5");
- mode.AppendMenuItem(MF_STRING, 78, "Never Played Tracks");
- //genre menu
- _menu.AppendMenuItem(MF_SEPARATOR, 0, 0);
- _menu.AppendMenuItem(MF_STRING | MF_POPUP, gnr.ID, "Genre Preset");
- if(g1>"")
- gnr.AppendMenuItem(MF_STRING, 20, g1);
- if(g2>"")
- gnr.AppendMenuItem(MF_STRING, 21, g2);
- if(g3>"")
- gnr.AppendMenuItem(MF_STRING, 22, g3);
- if(g4>"")
- gnr.AppendMenuItem(MF_STRING, 23, g4);
- if(g5>"")
- gnr.AppendMenuItem(MF_STRING, 24, g5);
- if(g6>"")
- gnr.AppendMenuItem(MF_STRING, 25, g6);
- if(g7>"")
- gnr.AppendMenuItem(MF_STRING, 26, g7);
- if(g8>"")
- gnr.AppendMenuItem(MF_STRING, 27, g8);
- if(g9>"")
- gnr.AppendMenuItem(MF_STRING, 28, g9);
- if(g10>"")
- gnr.AppendMenuItem(MF_STRING, 29, g10);
- if(g11>"")
- gnr.AppendMenuItem(MF_STRING, 30, g11);
- if(g12>"")
- gnr.AppendMenuItem(MF_STRING, 31, g12);
- if(g13>"")
- gnr.AppendMenuItem(MF_STRING, 32, g13);
- if(g14>"")
- gnr.AppendMenuItem(MF_STRING, 33, g14);
- if(g15>"")
- gnr.AppendMenuItem(MF_STRING, 34, g15);
- if(g16>"")
- gnr.AppendMenuItem(MF_STRING, 35, g16);
- if(g17>"")
- gnr.AppendMenuItem(MF_STRING, 36, g17);
- if(g18>"")
- gnr.AppendMenuItem(MF_STRING, 37, g18);
- if(g19>"")
- gnr.AppendMenuItem(MF_STRING, 38, g19);
- if(g20>"")
- gnr.AppendMenuItem(MF_STRING, 39, g20);
- if(g21>"")
- gnr.AppendMenuItem(MF_STRING, 40, g21);
- if(g22>"")
- gnr.AppendMenuItem(MF_STRING, 41, g22);
- if(g23>"")
- gnr.AppendMenuItem(MF_STRING, 42, g23);
- if(g24>"")
- gnr.AppendMenuItem(MF_STRING, 43, g24);
- if(g25>"")
- gnr.AppendMenuItem(MF_STRING, 44, g25);
- if(g26>"")
- gnr.AppendMenuItem(MF_STRING, 45, g26);
- if(g27>"")
- gnr.AppendMenuItem(MF_STRING, 46, g27);
- if(g28>"")
- gnr.AppendMenuItem(MF_STRING, 47, g28);
- if(g29>"")
- gnr.AppendMenuItem(MF_STRING, 48, g29);
- if(g30>"")
- gnr.AppendMenuItem(MF_STRING, 49, g30);
- if(g31>"")
- gnr.AppendMenuItem(MF_STRING, 50, g31);
- if(g32>"")
- gnr.AppendMenuItem(MF_STRING, 51, g32);
- if(g33>"")
- gnr.AppendMenuItem(MF_STRING, 52, g33);
- if(g34>"")
- gnr.AppendMenuItem(MF_STRING, 53, g34);
- if(g35>"")
- gnr.AppendMenuItem(MF_STRING, 54, g35);
- if(g36>"")
- gnr.AppendMenuItem(MF_STRING, 55, g36);
- if(g37>"")
- gnr.AppendMenuItem(MF_STRING, 56, g37);
- if(g38>"")
- gnr.AppendMenuItem(MF_STRING, 57, g38);
- if(g39>"")
- gnr.AppendMenuItem(MF_STRING, 58, g39);
- if(g40>"")
- gnr.AppendMenuItem(MF_STRING, 59, g40);
- if(g41>"")
- gnr.AppendMenuItem(MF_STRING, 60, g41);
- if(g42>"")
- gnr.AppendMenuItem(MF_STRING, 61, g42);
- if(g43>"")
- gnr.AppendMenuItem(MF_STRING, 62, g43);
- if(g44>"")
- gnr.AppendMenuItem(MF_STRING, 63, g44);
- if(g45>"")
- gnr.AppendMenuItem(MF_STRING, 64, g45);
- if(g46>"")
- gnr.AppendMenuItem(MF_STRING, 65, g46);
- if(g47>"")
- gnr.AppendMenuItem(MF_STRING, 66, g47);
- if(g48>"")
- gnr.AppendMenuItem(MF_STRING, 67, g48);
- if(g49>"")
- gnr.AppendMenuItem(MF_STRING, 68, g49);
- if(g50>"")
- gnr.AppendMenuItem(MF_STRING, 69, g50);
- //main menu run
- idx = _menu.TrackPopupMenu(x, y);
- switch (idx) {
- case 100:
- { window.ShowProperties();
- }
- break;
- case 1:
- AUTO_SEARCH = !AUTO_SEARCH;
- window.SetProperty("Autosearch", AUTO_SEARCH);
- if(AUTO_SEARCH) {
- myinputbox[0].autotimer_value = 500;
- } else {
- myinputbox[0].autotimer_value = 0;
- }
- break;
- case 2:
- AUTO_PLS = !AUTO_PLS;
- window.SetProperty("Create AutoPlaylists", AUTO_PLS);
- break;
- case 3:
- g_searchresult = !g_searchresult;
- window.SetProperty("Always Send To #Search Result", g_searchresult);
- break;
- case 4:
- TAG_SEARCH = 0;
- window.SetProperty("Tags Used", TAG_SEARCH);
- if(myinputbox[0].text!=myinputbox[0].default_text) {
- SearchIt(myinputbox[0].text);
- }
- break;
- case 5:
- TAG_SEARCH = 1;
- window.SetProperty("Tags Used", TAG_SEARCH);
- if(myinputbox[0].text!=myinputbox[0].default_text) {
- SearchIt(myinputbox[0].text);
- }
- break;
- case 6:
- TAG_SEARCH = 2;
- window.SetProperty("Tags Used", TAG_SEARCH);
- if(myinputbox[0].text!=myinputbox[0].default_text) {
- SearchIt(myinputbox[0].text);
- }
- break;
- case 7:
- TAG_SEARCH = 3;
- window.SetProperty("Tags Used", TAG_SEARCH);
- if(myinputbox[0].text!=myinputbox[0].default_text) {
- SearchIt(myinputbox[0].text);
- }
- break;
- case 8:
- TAG_SEARCH = 4;
- window.SetProperty("Tags Used", TAG_SEARCH);
- if(myinputbox[0].text!=myinputbox[0].default_text) {
- SearchIt(myinputbox[0].text);
- }
- break;
- case 9:
- TAG_SEARCH = 5;
- window.SetProperty("Tags Used", TAG_SEARCH);
- if(myinputbox[0].text!=myinputbox[0].default_text) {
- SearchIt(myinputbox[0].text);
- }
- break;
- case 17:
- SEARCH_MODE = 0;
- window.SetProperty("Library Filter mode", 0);
- break;
- case 18:
- SEARCH_MODE = 1;
- window.SetProperty("Library Filter mode", 1);
- break;
- //Quick Search Run..
- case 10:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = g_artist;
- SearchIt("%artist% IS " + g_quick_search_text);
- break;
- case 11:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = g_album;
- SearchIt("%album% IS " + g_quick_search_text);
- break;
- case 12:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = g_title;
- SearchIt("%title% IS " + g_quick_search_text);
- break;
- case 13:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = g_genre;
- SearchIt("%genre% IS " + g_quick_search_text);
- break;
- case 14:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = g_year;
- SearchIt("%date% HAS " + g_quick_search_text);
- break;
- window.SetProperty("Last entry", myinputbox[0].text);
- window.Repaint();
- //End of Quick Search..
- //genre run
- case 20:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text=(g1);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 21:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g2);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 22:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g3);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 23:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g4);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 24:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g5);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 25:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g6);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 26:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g7);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 27:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g8);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 28:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g9);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 29:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g10);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 30:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g11);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 31:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g12);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 32:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g13);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 33:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g14);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 34:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g15);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 35:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g16);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 36:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g17);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 37:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g18);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 38:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g19);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 39:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g20);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 40:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g21);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 41:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g22);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 42:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g23);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 43:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g24);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 44:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g25);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 45:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g26);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 46:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g27);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 47:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g28);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 48:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g29);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 49:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g30);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 50:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g31);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 51:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g32);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 52:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g33);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 53:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g34);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 54:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g35);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 55:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g36);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 56:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g37);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 57:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g38);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 58:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g39);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 59:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g40);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 60:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g41);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 61:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g42);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 62:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g43);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 63:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g44);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 64:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g45);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 65:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g46);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 66:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g47);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 67:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g48);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 68:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g49);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- case 69:
- g_quicksearch = true;
- SEARCH_MODE = 0;
- g_quick_search_text = (g50);
- SearchIt("%genre% HAS " + g_quick_search_text);
- break;
- //Mode Rating Run..
- case 70:
- g_quicksearch = true;
- g_quick_search_text = "%mood% GREATER 0";
- SearchIt(g_quick_search_text);
- break;
- case 71:
- g_quicksearch = true;
- g_quick_search_text = "%skip% GREATER 0";
- SearchIt(g_quick_search_text);
- break;
- case 72:
- g_quicksearch = true;
- g_quick_search_text = "%rating% MISSING OR %rating% LESS 1";
- SearchIt(g_quick_search_text);
- break;
- case 73:
- g_quicksearch = true;
- g_quick_search_text = "%rating% IS 1";
- SearchIt(g_quick_search_text);
- break;
- case 74:
- g_quicksearch = true;
- g_quick_search_text = "%rating% IS 2";
- SearchIt(g_quick_search_text);
- break;
- case 75:
- g_quicksearch = true;
- g_quick_search_text = "%rating% IS 3";
- SearchIt(g_quick_search_text);
- break;
- case 76:
- g_quicksearch = true;
- g_quick_search_text = "%rating% IS 4";
- SearchIt(g_quick_search_text);
- break;
- case 77:
- g_quicksearch = true;
- g_quick_search_text = "%rating% IS 5";
- SearchIt(g_quick_search_text);
- break;
- case 78:
- g_quicksearch = true;
- var foo_playcount = utils.CheckComponent("foo_playcount", true);
- if(foo_playcount) {
- g_quick_search_text = "%play_count% MISSING OR %play_count% LESS 1";
- } else {
- g_quick_search_text = "%play_counter% MISSING OR %play_counter% LESS 1";
- }
- SearchIt(g_quick_search_text);
- break;
- _menu.Dispose();
- return true;
- }
- }
- function SearchIt(str) {
- var i, j;
- var last_id;
- var pl;
- var pl_name;
- var str_tag;
- var is_query = false;
- var query_count=0;
- var query_value=0;
- var query_value_read;
- var found = -1;
- if (arguments.length == 0) {
- return myinputbox[0].text;
- } else if(str.length>0 || (str.length==0 && SEARCH_MODE==1)) {
- if(g_quicksearch) {
- is_query = false;
- pl_name = "#Search result";
- g_quick_search_text = "";
- } else {
- if(str.substring(0,1)=="%") {
- is_query = true;
- if(g_searchresult) {
- pl_name = "#Search result";
- } else {
- pl_name = "Search Query #";
- }
- } else {
- is_query = false;
- if(g_searchresult) {
- pl_name = "#Search result";
- } else {
- pl_name = "Search " + str;
- }
- }
- }
- if(SEARCH_MODE==1) {
- if(str.length>0) {
- pl_name = "&&0&&Library (filtered)";
- } else {
- pl_name = "&&0&&Library";
- }
- }
- for (i = 0; i < fb.PlaylistCount; i++) {
- pl = fb.GetPlaylistName(i);
- if(pl.substring(0,14)=="Search Query #") {
- query_count++;
- } else {
- // not a query
- if(!is_query || SEARCH_MODE==1 || g_searchresult) {
- if(SEARCH_MODE==0) {
- if(pl==pl_name) {
- found = i;
- break;
- }
- } else {
- if(pl.substring(0,5)=="&&0&&") {
- found = i;
- break;
- }
- }
- }
- }
- }
- if(!g_searchresult && SEARCH_MODE==0 && is_query && query_count==0) {
- pl_name = pl_name + "0";
- }
- // if query enterred,
- if(SEARCH_MODE==0 && is_query && query_count>0) {
- // look for # to affect
- for (i = 0; i < query_count; i++) {
- for (j = 0; j < fb.PlaylistCount; j++) {
- pl = fb.GetPlaylistName(j);
- if(pl.substring(0,14)=="Search Query #") {
- query_value_read = Math.floor(pl.substring(14,pl.length));
- if(query_value_read==query_value) {
- query_value++;
- }
- }
- }
- }
- pl_name = pl_name + query_value.toString();
- }
- // Tags Used
- if(!is_query && !g_quicksearch) {
- switch(TAG_SEARCH) {
- case 0:
- str_tag = str;
- break;
- case 1:
- str_tag = "%artist% HAS " + str;
- break;
- case 2:
- str_tag = "%album% HAS " + str;
- break;
- case 3:
- str_tag = "%title% HAS " + str;
- break;
- case 4:
- str_tag = "%genre% HAS " + str;
- break;
- case 5:
- str_tag = "%date% HAS " + str;
- break;
- }
- } else {
- str_tag = str;
- }
- // run
- switch(SEARCH_MODE) {
- case 0: // Library Search mode : create a new playlist for each new search
- if(found>=0) {
- fb.RemovePlaylist(found);
- }
- last_id = fb.PlaylistCount;
- if(AUTO_PLS) {
- fb.CreateAutoPlaylist(last_id, pl_name, str_tag);
- } else {
- fb.CreateAutoPlaylist(last_id, "&tmp", str_tag);
- fb.DuplicatePlaylist(last_id, pl_name);
- fb.RemovePlaylist(last_id);
- }
- if(found>=0) {
- fb.MovePlaylist(last_id, found);
- fb.ActivePlaylist = found;
- } else {
- fb.ActivePlaylist = last_id;
- }
- break;
- case 1: // Library Filter mode : always sent item to the specified playlist : Library
- if(found>=0) {
- fb.RemovePlaylist(found);
- }
- fb.CreateAutoPlaylist(fb.PlaylistCount, pl_name, str.length>0?str_tag:"%path% PRESENT");
- if(found>=0) {
- fb.MovePlaylist(fb.PlaylistCount-1, found);
- fb.ActivePlaylist = found;
- } else {
- fb.MovePlaylist(fb.PlaylistCount-1, 0);
- fb.ActivePlaylist = 0;
- }
- break;
- }
- } else {
- myinputbox[0].Reset();
- }
- SEARCH_MODE = window.GetProperty("Library Filter mode", 0);
- window.SetProperty("Last entry", myinputbox[0].text);
- g_searchresult = window.GetProperty("Always Send To #Search Result", true);
- g_quicksearch = false;
- }
- function refresh_buttons() {
- var gb;
- reset_img_off = gdi.CreateImage(15, 15);
- gb = reset_img_off.GetGraphics();
- gb.SetSmoothingMode(2);
- gb.FillEllipse(0, 0, 14, 14, RGBA(100, 150, 180, 140));
- gb.DrawLine(4, 4, 10, 10, 2.0, RGBA(230, 230, 230, 255));
- gb.DrawLine(10, 4, 4, 10, 2.0, RGBA(230, 230, 230, 255));
- reset_img_off.ReleaseGraphics(gb);
- settings_img = gdi.CreateImage(22, 22);
- gb = settings_img.GetGraphics();
- gb.SetSmoothingMode(2);
- gb.FillRoundRect(1, 1, 20, 19, 3, 3, RGBA(0,0,0,080));
- gb.FillRoundRect(0, 0, 20, 19, 3, 3, RGB(20,20,20));
- gb.SetSmoothingMode(0);
- gb.FillGradRect(1, 2, 19, 16, 90, RGBA(0,0,0,0), RGBA(255,255,255,050), 0.3);
- gb.SetSmoothingMode(2);
- gb.DrawRoundRect(0, 0, 20, 19, 3, 3, 1.0, RGBA(0,0,0,100));
- gb.DrawRoundRect(1, 1, 18, 17, 2, 2, 1.0, RGBA(250,250,250,050));
- gb.DrawEllipse(5, 3, 11, 11, 2.0, RGB(250,250,250));
- gb.DrawLine(6, 13, 3, 16, 2.0, RGB(250,250,250));
- settings_img.ReleaseGraphics(gb);
- // initialize buttons
- for (i = 0; i < mybutton.length; i++) {
- switch (i) {
- case 0:
- mybutton[i].create(reset_img_off, reset_img_off, reset_img_off, "", -01);
- break;
- case 1:
- break;
- case 2:
- break;
- case 3:
- mybutton[i].create(settings_img, settings_img, settings_img, "", -04);
- break;
- }
- }
- CollectGarbage();
- }
- function on_notify_data(name, info) {
- switch(name) {
- case "rating":
- ratingmethod = info;
- break;
- case "moodskip_mode":
- moodskipmethod = info;
- break;
- case "g_artist":
- g_artist = info;
- break;
- case "g_album":
- g_album = info;
- break;
- case "g_title":
- g_title = info;
- break;
- case "g_genre":
- g_genre = info;
- break;
- case "g_year":
- g_year = info;
- break;
- }
- }
- function on_drag_enter(action) {
- action.Parsable = false;
- }
- function on_mouse_rbtn_up(x, y) {
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement