SHOW:
|
|
- or go back to the newest paste.
| 1 | // ==PREPROCESSOR== | |
| 2 | // @name "Youtube Radio" | |
| 3 | // @author "Mire777" | |
| 4 | // @feature "v1.4" | |
| 5 | // @feature "watch-metadb" | |
| 6 | // ==/PREPROCESSOR== | |
| 7 | ||
| 8 | - | // Paths |
| 8 | + | //Properties |
| 9 | - | var fbfolder = (fb.ProfilePath + "Artist_info"); |
| 9 | + | |
| 10 | - | var lfm_folder = fbfolder; |
| 10 | + | |
| 11 | START_ARTIST = window.GetProperty("YT Station", "");
| |
| 12 | - | //image download size |
| 12 | + | |
| 13 | - | size = "high"; |
| 13 | + | |
| 14 | gnr = window.GetProperty("YT Tag(27-100)", "27");
| |
| 15 | - | //Download server |
| 15 | + | |
| 16 | var MF_GRAYED = 0x00000001; | |
| 17 | - | //auto_lfm = window.GetProperty("LFM Radio", "0");
|
| 17 | + | |
| 18 | var IDC_ARROW = 32512; | |
| 19 | var IDC_HAND = 32649; | |
| 20 | ||
| 21 | ||
| 22 | - | //Download server |
| 22 | + | |
| 23 | return (0xff000000 | (r << 16) | (g << 8) | (b)); | |
| 24 | } | |
| 25 | ||
| 26 | function RGBA(r, g, b, a) {
| |
| 27 | - | //Search terms(google,yahoo) |
| 27 | + | |
| 28 | - | terms = ""; |
| 28 | + | |
| 29 | ||
| 30 | - | //Cycle |
| 30 | + | |
| 31 | - | cycle2 = 15; |
| 31 | + | |
| 32 | } | |
| 33 | - | var VERSION = "7.2013-10-19.01"; |
| 33 | + | |
| 34 | - | var DT_LEFT = 0x00000000; |
| 34 | + | |
| 35 | - | var DT_CENTER = 0x00000001; |
| 35 | + | |
| 36 | - | var DT_RIGHT = 0x00000002; |
| 36 | + | |
| 37 | - | var DT_VCENTER = 0x00000004; |
| 37 | + | |
| 38 | - | var DT_WORDBREAK = 0x00000010; |
| 38 | + | |
| 39 | - | var DT_CALCRECT = 0x00000400; |
| 39 | + | |
| 40 | - | var DT_NOPREFIX = 0x00000800; |
| 40 | + | |
| 41 | - | var DT_END_ELLIPSIS = 0x00008000; |
| 41 | + | |
| 42 | function on_playback_new_track() {
| |
| 43 | p.item_focus_change(); | |
| 44 | downloadLFM(); | |
| 45 | } | |
| 46 | ||
| 47 | function on_playback_dynamic_info_track() {
| |
| 48 | p.item_focus_change(); | |
| 49 | - | var ONE_DAY = 86400000; |
| 49 | + | |
| 50 | - | var ONE_WEEK = 604800000; |
| 50 | + | |
| 51 | function on_playback_stop() {
| |
| 52 | - | String.prototype.addCommas = function() {
|
| 52 | + | |
| 53 | - | return this.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
| 53 | + | |
| 54 | ||
| 55 | function on_item_focus_change() {
| |
| 56 | p.item_focus_change(); | |
| 57 | } | |
| 58 | ||
| 59 | function on_mouse_leave() {
| |
| 60 | - | String.prototype.ucfirst = function() {
|
| 60 | + | |
| 61 | - | return this.charAt(0).toUpperCase() + this.substr(1); |
| 61 | + | |
| 62 | ||
| 63 | function on_mouse_rbtn_up(x, y) {
| |
| 64 | p.rbtn_up(x, y); | |
| 65 | return true; | |
| 66 | } | |
| 67 | ||
| 68 | ||
| 69 | ||
| 70 | function panel(name, features) {
| |
| 71 | this.item_focus_change = function() {
| |
| 72 | if (!this.metadb_func) return; | |
| 73 | switch(this.selection_mode) {
| |
| 74 | case 0: | |
| 75 | this.metadb = fb.GetSelection(); | |
| 76 | - | function on_font_changed() {
|
| 76 | + | |
| 77 | - | p.font_changed(); |
| 77 | + | |
| 78 | this.metadb = fb.IsPlaying ? fb.GetNowPlaying() : fb.GetFocusItem(); | |
| 79 | break; | |
| 80 | case 2: | |
| 81 | this.metadb = fb.GetFocusItem(); | |
| 82 | break; | |
| 83 | } | |
| 84 | if (this.metadb) on_metadb_changed(); | |
| 85 | } | |
| 86 | ||
| 87 | //Metadb | |
| 88 | this.metadb = fb.IsPlaying ? fb.GetNowPlaying() : fb.GetFocusItem(); | |
| 89 | ||
| 90 | - | //im.download(); |
| 90 | + | |
| 91 | - | im.downloadLFM(); |
| 91 | + | //Size |
| 92 | this.size = function() {
| |
| 93 | this.w = window.Width; | |
| 94 | this.h = window.Height; | |
| 95 | } | |
| 96 | ||
| 97 | //Move | |
| 98 | this.move = function(x, y) {
| |
| 99 | this.mx = x; | |
| 100 | this.my = y; | |
| 101 | } | |
| 102 | ||
| 103 | //Menu | |
| 104 | this.rbtn_up = function(x, y) {
| |
| 105 | var _menu = window.CreatePopupMenu(); | |
| 106 | var idx; | |
| 107 | - | if (typeof b == "object") b.leave(); |
| 107 | + | |
| 108 | - | if (typeof r == "object") r.leave(); |
| 108 | + | |
| 109 | - | if (typeof li == "object") li.leave(); |
| 109 | + | |
| 110 | - | if (typeof s == "object") s.leave(); |
| 110 | + | |
| 111 | case typeof im == "object": | |
| 112 | {
| |
| 113 | ||
| 114 | if(auto_yt==1) _menu.AppendMenuItem(MF_STRING, 1902, "Youtube Radio"); | |
| 115 | if(auto_yt==0) _menu.AppendMenuItem(MF_STRING, 1903, "Youtube Radio"); | |
| 116 | _menu.CheckMenuItem(1902, auto_yt?1:0); | |
| 117 | ||
| 118 | - | function on_notify_data(name, data) {
|
| 118 | + | |
| 119 | - | if (name == "lastfm" && data == "update" && typeof l == "object") l.notify_data(name, data); |
| 119 | + | |
| 120 | - | if (name == "autoplaylists" && data == "update" && typeof li == "object" && li.mode == "autoplaylists") li.update(); |
| 120 | + | |
| 121 | - | if (name == "images" && data == "update" && typeof im == "object") im.update(); |
| 121 | + | |
| 122 | - | if (name == "love" && typeof ps == "object") l.post(fb.TitleFormat("%LASTFM_LOVED_DB%").EvalWithMetadb(data) == 1 ? "track.unlove" : "track.love", data);
|
| 122 | + | |
| 123 | if (auto_yt=="0") _menu.AppendMenuItem(MF_STRING, 21, "Get Next Video"); | |
| 124 | ||
| 125 | _menu.AppendMenuItem(MF_STRING, 401, "Search Videos"); | |
| 126 | _menu.AppendMenuSeparator(); | |
| 127 | ||
| 128 | _menu.AppendMenuItem(MF_STRING, 1914, "Start Radio Station"); | |
| 129 | p.artist = p.eval("%artist%");
| |
| 130 | if (p.artist == "" || p.artist == "?") {_menu.AppendMenuItem(MF_STRING| MF_GRAYED, 2000, "Same Artist Station");}
| |
| 131 | else | |
| 132 | {_menu.AppendMenuItem(MF_STRING, 1915, "Same Artist Station");}
| |
| 133 | ||
| 134 | _menu.AppendMenuSeparator(); | |
| 135 | _menu.AppendMenuItem(MF_STRING, 403, "Open Same Video"); | |
| 136 | _menu.AppendMenuItem(MF_STRING, 404, "Find in Browser"); | |
| 137 | ||
| 138 | ||
| 139 | _menu.AppendMenuSeparator(); | |
| 140 | } | |
| 141 | } | |
| 142 | - | this.colors_changed = function() {
|
| 142 | + | |
| 143 | - | if (this.dui) {
|
| 143 | + | _menu.AppendMenuItem(MF_STRING, 9, "Properties..."); |
| 144 | - | this.background_mode=(1); |
| 144 | + | |
| 145 | - | this.textcolour = window.GetColorDUI(0); |
| 145 | + | } |
| 146 | - | this.textcolour_hl = window.GetColorDUI(2); |
| 146 | + | |
| 147 | - | this.backcolour = window.GetColorDUI(1); |
| 147 | + | |
| 148 | idx = _menu.TrackPopupMenu(x, y); | |
| 149 | - | this.background_mode=(0); |
| 149 | + | |
| 150 | - | this.textcolour = window.GetColorCUI(0); |
| 150 | + | |
| 151 | - | this.textcolour_hl = window.GetColorCUI(0); |
| 151 | + | |
| 152 | - | this.backcolour = window.GetColorCUI(3); |
| 152 | + | |
| 153 | case 10: | |
| 154 | - | window.Repaint(); |
| 154 | + | |
| 155 | break; | |
| 156 | case 21: | |
| 157 | - | this.font_changed = function() {
|
| 157 | + | downloadLFM1(); |
| 158 | - | this.font = this.dui ? window.GetFontDUI(0) : window.GetFontCUI(0); |
| 158 | + | |
| 159 | case 22: | |
| 160 | - | this.font_name = this.font.Name; |
| 160 | + | downloadLFM1(); |
| 161 | break; | |
| 162 | - | this.console("Unable to use your default font. Using Segoe UI instead.");
|
| 162 | + | |
| 163 | - | this.font_name = "Segoe ui"; |
| 163 | + | |
| 164 | break; | |
| 165 | - | this.title_font = gdi.Font(this.font_name, 16, 1); |
| 165 | + | case 403: |
| 166 | - | this.normal_font = gdi.Font("segoe ui", 12, 1);
|
| 166 | + | this.metadb = fb.IsPlaying ? fb.GetNowPlaying() : fb.GetFocusItem(); |
| 167 | - | this.fixed_font = gdi.Font("Lucida Console", this.normal_font_size);
|
| 167 | + | |
| 168 | - | this.list_font = gdi.Font(this.font_name, this.list_font_size); |
| 168 | + | downloadART_TITLE(); |
| 169 | - | this.row_height = this.normal_font.Height + 2; |
| 169 | + | |
| 170 | - | if (typeof t == "object") t.size(); |
| 170 | + | |
| 171 | - | window.Repaint(); |
| 171 | + | |
| 172 | p.browser("http://www.youtube.com/results?search_query=" + encodeURIComponent(p.artist));
| |
| 173 | break; | |
| 174 | case 1902: | |
| 175 | auto_yt = 0; | |
| 176 | window.SetProperty("YT Radio", "0");
| |
| 177 | break; | |
| 178 | ||
| 179 | case 1903: | |
| 180 | auto_yt = 1; | |
| 181 | window.SetProperty("YT Radio", "1");
| |
| 182 | break; | |
| 183 | case 1914: | |
| 184 | Start = START_ARTIST; | |
| 185 | START_ARTIST = this.InputBox("Type Artist to Start Station\n\n( *genre - will play genre station)", this.name, START_ARTIST);
| |
| 186 | - | var _custom_background = window.CreatePopupMenu(); |
| 186 | + | |
| 187 | - | var _metadb = window.CreatePopupMenu(); |
| 187 | + | |
| 188 | - | var _cover = window.CreatePopupMenu(); |
| 188 | + | |
| 189 | - | var _font = window.CreatePopupMenu(); |
| 189 | + | |
| 190 | - | var _sub1 = window.CreatePopupMenu(); |
| 190 | + | |
| 191 | - | var _sub2 = window.CreatePopupMenu(); |
| 191 | + | |
| 192 | - | var _sub3 = window.CreatePopupMenu(); |
| 192 | + | |
| 193 | - | var _sub4 = window.CreatePopupMenu(); |
| 193 | + | |
| 194 | - | var _sub5 = window.CreatePopupMenu(); |
| 194 | + | downloadLFM0(); |
| 195 | } | |
| 196 | break; | |
| 197 | - | case typeof a == "object" && a.trace(x, y): |
| 197 | + | |
| 198 | - | /*_menu.AppendMenuItem(MF_STRING, 1, "Refresh"); |
| 198 | + | case 1915: |
| 199 | - | _menu.AppendMenuSeparator(); |
| 199 | + | this.metadb = fb.IsPlaying ? fb.GetNowPlaying() : fb.GetFocusItem(); |
| 200 | - | _menu.AppendMenuItem(MF_STRING, 2, "Front"); |
| 200 | + | |
| 201 | - | _menu.AppendMenuItem(MF_STRING, 3, "Back"); |
| 201 | + | |
| 202 | - | _menu.AppendMenuItem(MF_STRING, 4, "Disc"); |
| 202 | + | |
| 203 | - | _menu.AppendMenuItem(MF_STRING, 5, "Icon"); |
| 203 | + | |
| 204 | - | _menu.AppendMenuItem(MF_STRING, 6, "Artist"); |
| 204 | + | |
| 205 | - | _menu.CheckMenuRadioItem(2, 6, a.id + 2); |
| 205 | + | |
| 206 | - | _menu.AppendMenuSeparator();*/ |
| 206 | + | |
| 207 | - | _menu.AppendMenuItem(MF_STRING, 15, "Crop (focus on centre)"); |
| 207 | + | |
| 208 | - | _menu.AppendMenuItem(MF_STRING, 16, "Crop (focus on top)"); |
| 208 | + | |
| 209 | - | _menu.AppendMenuItem(MF_STRING, 17, "adjust"); |
| 209 | + | |
| 210 | - | _menu.AppendMenuItem(MF_STRING, 18, "Stretch"); |
| 210 | + | |
| 211 | - | _menu.CheckMenuRadioItem(15, 18, a.type == "centre" ? 15 : a.type == "top" ? 16 : a.type == "adjust" ? 17 : 18); |
| 211 | + | |
| 212 | - | _menu.AppendMenuSeparator(); |
| 212 | + | |
| 213 | - | _cover.AppendMenuItem(this.metadb ? MF_STRING : MF_GRAYED, 21, "Google images (launches browser)"); |
| 213 | + | downloadLFM0(); |
| 214 | - | _cover.AppendMenuItem(this.metadb ? MF_STRING : MF_GRAYED, 22, "Album Art Downloader"); |
| 214 | + | |
| 215 | - | _cover.AppendMenuSeparator(); |
| 215 | + | |
| 216 | - | //_cover.AppendMenuItem(MF_STRING, 23, "Help"); |
| 216 | + | |
| 217 | - | //_cover.AppendTo(_menu, MF_STRING, "Cover search"); |
| 217 | + | |
| 218 | - | //_menu.AppendMenuSeparator(); |
| 218 | + | |
| 219 | _menu.Dispose(); | |
| 220 | - | case typeof c == "object" && c.trace(x, y): |
| 220 | + | |
| 221 | - | if (this.check_feature("now_playing") && !np_cd) break;
|
| 221 | + | |
| 222 | - | /*_menu.AppendMenuItem(MF_STRING, 1, "Refresh"); |
| 222 | + | |
| 223 | - | _menu.AppendMenuSeparator(); |
| 223 | + | //Features init |
| 224 | - | _menu.AppendMenuItem(MF_STRING, 11, "Gloss effect"); |
| 224 | + | |
| 225 | - | _menu.CheckMenuItem(11, c.gloss); |
| 225 | + | |
| 226 | - | _menu.AppendMenuItem(MF_STRING, 12, "Shadow effect"); |
| 226 | + | |
| 227 | - | _menu.CheckMenuItem(12, c.shadow); |
| 227 | + | |
| 228 | - | _menu.AppendMenuSeparator(); |
| 228 | + | |
| 229 | - | _cover.AppendMenuItem(this.metadb ? MF_STRING : MF_GRAYED, 21, "Google images (launches browser)"); |
| 229 | + | |
| 230 | - | _cover.AppendMenuItem(this.metadb ? MF_STRING : MF_GRAYED, 22, "Album Art Downloader"); |
| 230 | + | |
| 231 | - | _cover.AppendMenuSeparator(); |
| 231 | + | |
| 232 | - | _cover.AppendMenuItem(MF_STRING, 23, "Help"); |
| 232 | + | |
| 233 | - | _cover.AppendTo(_menu, MF_STRING, "Cover search"); |
| 233 | + | |
| 234 | - | _menu.AppendMenuSeparator();*/ |
| 234 | + | |
| 235 | } | |
| 236 | - | case typeof li == "object" && li.trace(x, y): |
| 236 | + | |
| 237 | - | switch(li.mode) {
|
| 237 | + | |
| 238 | - | case "autoplaylists": |
| 238 | + | |
| 239 | - | _menu.AppendMenuItem(MF_STRING, 600, "Change title..."); |
| 239 | + | |
| 240 | - | _menu.AppendMenuSeparator(); |
| 240 | + | |
| 241 | - | for (i = 1; i < 9; i++) {
|
| 241 | + | |
| 242 | - | _sub1.AppendMenuItem(MF_STRING, i + 600, i); |
| 242 | + | |
| 243 | - | } |
| 243 | + | |
| 244 | - | _sub1.AppendTo(_menu, MF_STRING, "Save slot"); |
| 244 | + | |
| 245 | - | _sub1.CheckMenuRadioItem(601, 608, li.autoplaylists_slot + 600); |
| 245 | + | |
| 246 | - | _menu.AppendMenuSeparator(); |
| 246 | + | |
| 247 | - | _sub2.AppendMenuItem(MF_STRING, 610, "run query"); |
| 247 | + | |
| 248 | - | _sub2.AppendMenuItem(MF_STRING, 611, "do nothing"); |
| 248 | + | |
| 249 | - | _sub2.CheckMenuRadioItem(610, 611, li.autoplaylists_success ? 610 : 611); |
| 249 | + | |
| 250 | - | _sub2.AppendTo(_menu, MF_STRING, "On successful creation/edit"); |
| 250 | + | |
| 251 | - | for (i = 0; i < li.autoplaylists_deleted_items.length; i++) {
|
| 251 | + | |
| 252 | - | var temp = li.autoplaylists_deleted_items[i].split("¬");
|
| 252 | + | |
| 253 | - | _sub3.AppendMenuItem(MF_STRING, i + 620, temp[0]); |
| 253 | + | //Console Msg |
| 254 | - | } |
| 254 | + | |
| 255 | - | if (li.autoplaylists_deleted_items.length > 0) _sub3.AppendTo(_menu, MF_STRING, "Restore"); |
| 255 | + | this.name = "Youtube Radio" |
| 256 | - | _menu.AppendMenuSeparator(); |
| 256 | + | fb.trace(this.name + ": " + message); |
| 257 | - | _menu.AppendMenuItem(MF_STRING, 650, "Replace exisiting playlists with the same name"); |
| 257 | + | |
| 258 | - | _menu.CheckMenuItem(650, li.autoplaylists_remove_duplicates); |
| 258 | + | |
| 259 | - | _menu.AppendMenuSeparator(); |
| 259 | + | //Input Box |
| 260 | - | break; |
| 260 | + | |
| 261 | - | case "discogs": |
| 261 | + | |
| 262 | - | _menu.AppendMenuItem(MF_STRING, 29, "Show exact artist matches only"); |
| 262 | + | } |
| 263 | - | _menu.CheckMenuItem(29, li.discogs_match); |
| 263 | + | |
| 264 | - | _menu.AppendMenuSeparator(); |
| 264 | + | |
| 265 | - | _menu.AppendMenuItem(MF_STRING, 28, "Show timestamp"); |
| 265 | + | |
| 266 | - | _menu.CheckMenuItem(28, li.show_timestamp); |
| 266 | + | //title = title.replace(/"/g, '" + Chr(34) + "'); |
| 267 | - | _menu.AppendMenuSeparator(); |
| 267 | + | |
| 268 | - | break; |
| 268 | + | |
| 269 | - | case "echonest": |
| 269 | + | |
| 270 | - | for (i = 0; i < li.echonest_modes.length; i++) {
|
| 270 | + | |
| 271 | - | _menu.AppendMenuItem(MF_STRING, i + 500, li.echonest_modes[i].ucfirst()); |
| 271 | + | |
| 272 | - | } |
| 272 | + | |
| 273 | - | _menu.CheckMenuRadioItem(500, 502, li.echonest_mode + 500); |
| 273 | + | |
| 274 | - | _menu.AppendMenuSeparator(); |
| 274 | + | //Msg Box |
| 275 | - | _menu.AppendMenuItem(MF_STRING, 28, "Show timestamp"); |
| 275 | + | |
| 276 | - | _menu.CheckMenuItem(28, li.show_timestamp); |
| 276 | + | |
| 277 | - | _menu.AppendMenuSeparator(); |
| 277 | + | |
| 278 | - | break; |
| 278 | + | |
| 279 | - | case "lastfm": |
| 279 | + | |
| 280 | - | for (i = 0; i < li.lastfm_modes.length; i++) {
|
| 280 | + | |
| 281 | - | _menu.AppendMenuItem(MF_STRING, 801 + i, li.lastfm_modes[i].ucfirst()); |
| 281 | + | //Browser |
| 282 | - | } |
| 282 | + | |
| 283 | - | _menu.CheckMenuRadioItem(801, 805, li.lastfm_mode + 801); |
| 283 | + | |
| 284 | - | _menu.AppendMenuSeparator(); |
| 284 | + | |
| 285 | - | if (li.lastfm_mode == 0) {
|
| 285 | + | |
| 286 | - | if (li.lastfm_button == "spotify") {
|
| 286 | + | //Run Command |
| 287 | - | _menu.AppendMenuItem(MF_STRING, 810, "Pause playback when launching Spotify"); |
| 287 | + | |
| 288 | - | _menu.CheckMenuItem(810, li.lastfm_pause); |
| 288 | + | |
| 289 | - | _menu.AppendMenuSeparator(); |
| 289 | + | |
| 290 | - | } |
| 290 | + | |
| 291 | - | /*_sub1.AppendMenuItem(MF_STRING, 811, "Spotify"); |
| 291 | + | |
| 292 | - | _sub1.AppendMenuItem(MF_STRING, 812, "Autoplaylist"); |
| 292 | + | |
| 293 | - | _sub1.CheckMenuRadioItem(811, 812, li.lastfm_button == "spotify" ? 811 : 812); |
| 293 | + | |
| 294 | - | _sub1.AppendTo(_menu, MF_STRING, "Buttons"); |
| 294 | + | |
| 295 | - | _menu.AppendMenuSeparator();*/ |
| 295 | + | |
| 296 | - | } |
| 296 | + | |
| 297 | - | /*_menu.AppendMenuItem(MF_STRING, 28, "Show timestamp"); |
| 297 | + | |
| 298 | - | _menu.CheckMenuItem(28, li.show_timestamp); |
| 298 | + | //futures |
| 299 | - | _menu.AppendMenuSeparator(); |
| 299 | + | this.metadb_func = typeof on_metadb_changed == "function"; |
| 300 | - | _menu.AppendMenuItem(MF_STRING, 51, "Last.fm auto-correct"); |
| 300 | + | |
| 301 | - | _menu.CheckMenuItem(51, l.auto_correct); |
| 301 | + | |
| 302 | - | _menu.AppendMenuSeparator();*/ |
| 302 | + | |
| 303 | - | break; |
| 303 | + | |
| 304 | - | case "lastfm_charts": |
| 304 | + | |
| 305 | - | _menu.AppendMenuItem(l.username.length > 0 ? MF_STRING : MF_GRAYED, 1000, "Refresh"); |
| 305 | + | |
| 306 | - | _menu.AppendMenuSeparator(); |
| 306 | + | |
| 307 | - | for (i = 0; i < li.lastfm_charts_modes.length; i++) {
|
| 307 | + | |
| 308 | - | _menu.AppendMenuItem(MF_STRING, i + 1001, li.lastfm_charts_modes[i].ucfirst()); |
| 308 | + | |
| 309 | - | } |
| 309 | + | this.metadb = fb.IsPlaying ? fb.GetNowPlaying() : fb.GetFocusItem(); |
| 310 | - | _menu.CheckMenuRadioItem(1001, 1003, li.lastfm_charts_mode + 1001); |
| 310 | + | if (fb.GetFocusItem()) |
| 311 | - | _menu.AppendMenuSeparator(); |
| 311 | + | {this.artist = fb.TitleFormat(this.artist_tf).EvalWithMetadb(this.metadb);}
|
| 312 | - | for (i = 0; i < li.lastfm_charts_periods_display.length; i++) {
|
| 312 | + | |
| 313 | - | _menu.AppendMenuItem(MF_STRING, i + 1004, li.lastfm_charts_periods_display[i].ucfirst()); |
| 313 | + | |
| 314 | - | } |
| 314 | + | |
| 315 | - | /*_menu.CheckMenuRadioItem(1004, 1009, li.lastfm_charts_period + 1004); |
| 315 | + | |
| 316 | - | _menu.AppendMenuSeparator(); |
| 316 | + | |
| 317 | - | _menu.AppendMenuItem(MF_STRING, 1010, "Bar colour..."); |
| 317 | + | |
| 318 | - | _menu.AppendMenuSeparator(); |
| 318 | + | //YT RADIO------------------------------------------------- |
| 319 | - | _menu.AppendMenuItem(MF_STRING, 28, "Show timestamp"); |
| 319 | + | |
| 320 | - | _menu.CheckMenuItem(28, li.show_timestamp); |
| 320 | + | |
| 321 | - | _menu.AppendMenuSeparator();*/ |
| 321 | + | |
| 322 | - | break; |
| 322 | + | |
| 323 | - | case "musicbrainz": |
| 323 | + | |
| 324 | - | _menu.AppendMenuItem(MF_STRING, 700, "Releases"); |
| 324 | + | |
| 325 | - | _menu.AppendMenuItem(MF_STRING, 701, "Links"); |
| 325 | + | |
| 326 | - | _menu.CheckMenuRadioItem(700, 701, li.musicbrainz_mode == "releases" ? 700 : 701); |
| 326 | + | |
| 327 | - | _menu.AppendMenuSeparator(); |
| 327 | + | |
| 328 | - | if (li.musicbrainz_mode == "releases") {
|
| 328 | + | p.artist = p.eval("%path%");
|
| 329 | - | /*_menu.AppendMenuItem(MF_STRING, 702, "Include albums"); |
| 329 | + | |
| 330 | - | _menu.CheckMenuItem(702, li.musicbrainz_album); |
| 330 | + | |
| 331 | - | _menu.AppendMenuItem(MF_STRING, 703, "Include EPs"); |
| 331 | + | |
| 332 | - | _menu.CheckMenuItem(703, li.musicbrainz_ep); |
| 332 | + | |
| 333 | - | _menu.AppendMenuItem(MF_STRING, 704, "Include singles"); |
| 333 | + | |
| 334 | - | _menu.CheckMenuItem(704, li.musicbrainz_single); |
| 334 | + | |
| 335 | - | _menu.AppendMenuSeparator(); |
| 335 | + | |
| 336 | - | _menu.AppendMenuItem(MF_STRING, 705, "Include 'Live' releases"); |
| 336 | + | |
| 337 | - | _menu.CheckMenuItem(705, li.musicbrainz_live); |
| 337 | + | |
| 338 | - | _menu.AppendMenuItem(MF_STRING, 706, "Include 'Remix' releases"); |
| 338 | + | |
| 339 | - | _menu.CheckMenuItem(706, li.musicbrainz_remix); |
| 339 | + | |
| 340 | - | _menu.AppendMenuItem(MF_STRING, 707, "Include 'Compilation' releases"); |
| 340 | + | if (this.xmlhttp.readyState == 4) {
|
| 341 | - | _menu.CheckMenuItem(707, li.musicbrainz_compilation); |
| 341 | + | if (this.xmlhttp.status == 200) {
|
| 342 | - | _menu.AppendMenuSeparator(); |
| 342 | + | var text = this.xmlhttp.responsetext; |
| 343 | - | _menu.AppendMenuItem(MF_STRING, 708, "Show release type"); |
| 343 | + | if (!this.doc) this.doc = new ActiveXObject("htmlfile");
|
| 344 | - | _menu.CheckMenuItem(708, li.musicbrainz_show_release_type); |
| 344 | + | this.doc.open(); |
| 345 | - | _menu.AppendMenuSeparator();*/ |
| 345 | + | var div = this.doc.createElement("div");
|
| 346 | - | } |
| 346 | + | |
| 347 | - | /*_menu.AppendMenuItem(MF_STRING, 28, "Show timestamp"); |
| 347 | + | |
| 348 | - | _menu.CheckMenuItem(28, li.show_timestamp); |
| 348 | + | |
| 349 | - | _menu.AppendMenuSeparator();*/ |
| 349 | + | |
| 350 | - | break; |
| 350 | + | |
| 351 | - | } |
| 351 | + | |
| 352 | for (i = 0; i < data.length; i++) {
| |
| 353 | - | case typeof ps == "object" && b.buttons.ps.trace(x, y): |
| 353 | + | |
| 354 | - | /*_sub1.AppendMenuItem(utils.CheckComponent("foo_customdb", true) && !ps.loved_working && !ps.playcount_working && l.username.length > 0 ? MF_STRING : MF_GRAYED, 1100, "loved tracks and playcount");
|
| 354 | + | |
| 355 | - | _sub1.AppendMenuItem(utils.CheckComponent("foo_customdb", true) && !ps.loved_working && !ps.playcount_working && l.username.length > 0 ? MF_STRING : MF_GRAYED, 1109, "loved tracks only");
|
| 355 | + | |
| 356 | - | _sub1.AppendMenuSeparator(); |
| 356 | + | |
| 357 | - | _sub1.AppendMenuItem(utils.CheckComponent("foo_customdb", true) && this.fso.FileExists(ps.sql_file) ? MF_STRING : MF_GRAYED, 1101, "from file");
|
| 357 | + | |
| 358 | - | _sub1.AppendMenuSeparator(); |
| 358 | + | |
| 359 | - | _sub1.AppendMenuItem(MF_STRING, 1102, "Show console"); |
| 359 | + | |
| 360 | - | _sub1.CheckMenuItem(1102, ps.show_console); |
| 360 | + | |
| 361 | - | _sub1.AppendTo(_menu, MF_STRING, "Library import"); |
| 361 | + | |
| 362 | - | _menu.AppendMenuSeparator(); |
| 362 | + | |
| 363 | - | _sub2.AppendMenuItem(MF_STRING, 1103, "Only update tracks in library"); |
| 363 | + | |
| 364 | - | _sub2.CheckMenuItem(1103, ps.library); |
| 364 | + | |
| 365 | - | _sub2.AppendMenuItem(MF_STRING, 52, "Last.fm auto-correct"); |
| 365 | + | |
| 366 | - | _sub2.CheckMenuItem(52, l.auto_correct); |
| 366 | + | |
| 367 | - | _sub2.AppendTo(_menu, MF_STRING, "Auto-updates"); |
| 367 | + | |
| 368 | - | _menu.AppendMenuSeparator(); |
| 368 | + | |
| 369 | - | _sub3.AppendMenuItem(MF_STRING, 1104, "Off"); |
| 369 | + | |
| 370 | - | _sub3.AppendMenuItem(MF_STRING, 1105, "On"); |
| 370 | + | |
| 371 | - | _sub3.CheckMenuRadioItem(1104, 1105, ps.auto_love ? 1105 : 1104); |
| 371 | + | |
| 372 | - | _sub3.AppendMenuSeparator(); |
| 372 | + | |
| 373 | - | _sub3.AppendMenuItem(ps.auto_love ? MF_STRING : MF_GRAYED, 1106, "Condition"); |
| 373 | + | |
| 374 | - | _sub3.AppendTo(_menu, MF_STRING, "Automatically love tracks"); |
| 374 | + | |
| 375 | - | _menu.AppendMenuSeparator(); |
| 375 | + | |
| 376 | - | _sub4.AppendMenuItem(MF_STRING, 1107, "tango"); |
| 376 | + | |
| 377 | - | _sub4.AppendMenuItem(MF_STRING, 1108, "silk"); |
| 377 | + | |
| 378 | - | _sub4.CheckMenuRadioItem(1107, 1108, ps.icon == "tango" ? 1107 : 1108); |
| 378 | + | |
| 379 | - | _sub4.AppendTo(_menu, MF_STRING, "Icon"); |
| 379 | + | |
| 380 | - | _menu.AppendMenuSeparator();*/ |
| 380 | + | |
| 381 | } | |
| 382 | - | case typeof s == "object" && s.mode == "spectrogram" && s.trace(x, y) : |
| 382 | + | |
| 383 | - | /*_menu.AppendMenuItem(MF_STRING, 1804, "SoX options..."); |
| 383 | + | |
| 384 | - | _menu.AppendMenuSeparator(); |
| 384 | + | |
| 385 | - | _menu.AppendMenuItem(MF_STRING, 1805, "Marker colour..."); |
| 385 | + | this.doc.close(); |
| 386 | - | _menu.AppendMenuSeparator(); |
| 386 | + | this.working=false; |
| 387 | - | _menu.AppendMenuItem(MF_STRING, 1803, "Only analyse tracks in library"); |
| 387 | + | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
|
| 388 | - | _menu.CheckMenuItem(1803, s.library); |
| 388 | + | |
| 389 | - | _menu.AppendMenuSeparator(); |
| 389 | + | if (last_fm == "" || last_fm == "?") {downloadLFM();}
|
| 390 | - | _sub1.AppendMenuItem(MF_STRING, 1800, "Clear all"); |
| 390 | + | |
| 391 | - | _sub1.AppendMenuItem(MF_STRING, 1801, "Clear older than 1 day"); |
| 391 | + | downloadTRACK(); |
| 392 | - | _sub1.AppendMenuItem(MF_STRING, 1802, "Clear older than 1 week"); |
| 392 | + | |
| 393 | - | _sub1.AppendMenuSeparator(); |
| 393 | + | if (START_ARTIST.indexOf("*")== 0) {} else {p.console("HTTP error: " + this.xmlhttp.status);}
|
| 394 | - | _sub1.AppendMenuItem(MF_GRAYED, 1803, "In use: " + (this.fso.GetFolder(spectrogram_cache).size / 1048576).toFixed(2) + "MB"); |
| 394 | + | |
| 395 | - | _sub1.AppendTo(_menu, MF_STRING, "Cached images"); |
| 395 | + | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
|
| 396 | - | _menu.AppendMenuSeparator();*/ |
| 396 | + | |
| 397 | if (this.xmlhttp.status == 404) {downloadLFM();}
| |
| 398 | - | case typeof t == "object" && t.trace(x, y): |
| 398 | + | |
| 399 | - | if (this.check_feature("now_playing") && !np_bio) break;
|
| 399 | + | |
| 400 | - | /*_font.AppendMenuItem(MF_STRING, 30, 12); |
| 400 | + | |
| 401 | - | _font.AppendMenuItem(MF_STRING, 31, 14); |
| 401 | + | |
| 402 | - | _font.AppendMenuItem(MF_STRING, 32, 16); |
| 402 | + | |
| 403 | - | _font.AppendTo(_menu, MF_STRING, "Font size"); |
| 403 | + | |
| 404 | - | _font.CheckMenuRadioItem(30, 33, this.normal_font_size == 12 ? 30 : this.normal_font_size == 14 ? 31 : 32); |
| 404 | + | |
| 405 | - | _menu.AppendMenuSeparator();*/ |
| 405 | + | |
| 406 | - | switch(t.mode) {
|
| 406 | + | |
| 407 | - | case "lastfm_album": |
| 407 | + | |
| 408 | - | /*_menu.AppendMenuItem(MF_STRING, 53, "Last.fm auto-correct"); |
| 408 | + | |
| 409 | - | _menu.CheckMenuItem(53, l.auto_correct); |
| 409 | + | |
| 410 | - | _menu.AppendMenuSeparator();*/ |
| 410 | + | |
| 411 | - | break; |
| 411 | + | |
| 412 | - | case "lastfm_wiki": |
| 412 | + | |
| 413 | - | /*_menu.AppendMenuItem(MF_STRING, 25, "Last.fm"); |
| 413 | + | |
| 414 | - | _menu.AppendMenuItem(MF_STRING, 26, "Wikipedia"); |
| 414 | + | |
| 415 | - | _menu.CheckMenuRadioItem(25, 26, t.source == "last.fm" ? 25 : 26); |
| 415 | + | |
| 416 | - | _menu.AppendMenuSeparator();*/ |
| 416 | + | |
| 417 | - | break; |
| 417 | + | |
| 418 | - | case "simple_tag": |
| 418 | + | |
| 419 | - | /*_menu.AppendMenuItem(MF_STRING, 1700, "Custom title..."); |
| 419 | + | |
| 420 | - | _menu.AppendMenuItem(MF_STRING, 1701, "Custom tag..."); |
| 420 | + | |
| 421 | - | _menu.AppendMenuSeparator(); |
| 421 | + | |
| 422 | - | _menu.AppendMenuItem(MF_STRING, 1702, "Centre text"); |
| 422 | + | |
| 423 | - | _menu.CheckMenuItem(1702, t.centre); |
| 423 | + | if (this.xmlhttp.readyState == 4) {
|
| 424 | - | _menu.AppendMenuSeparator();*/ |
| 424 | + | if (this.xmlhttp.status == 200) {
|
| 425 | - | break; |
| 425 | + | var text = this.xmlhttp.responsetext; |
| 426 | - | case "simple_text": |
| 426 | + | if (!this.doc) this.doc = new ActiveXObject("htmlfile");
|
| 427 | - | /*_menu.AppendMenuItem(MF_STRING, 1700, "Custom title..."); |
| 427 | + | this.doc.open(); |
| 428 | - | _menu.AppendMenuItem(MF_STRING, 200, "Custom path..."); |
| 428 | + | var div = this.doc.createElement("tr");
|
| 429 | - | _menu.AppendMenuSeparator(); |
| 429 | + | |
| 430 | - | _menu.AppendMenuItem(MF_STRING, 201, "Fixed width font"); |
| 430 | + | |
| 431 | - | _menu.CheckMenuItem(201, t.fixed); |
| 431 | + | |
| 432 | - | _menu.AppendMenuSeparator();*/ |
| 432 | + | |
| 433 | - | break; |
| 433 | + | |
| 434 | - | } |
| 434 | + | |
| 435 | for (i = 0; i < data.length; i++) {
| |
| 436 | if (data[i].title) urls.push(data[i].title.replace(/about:\//,"").replace(",","").replace("1","").replace("2","").replace("3","").replace("4","").replace("5","").replace("6","").replace("7","").replace("8","").replace("9","").replace("0","").replace("listeners","").replace("listener","").split("(")[0].split("[")[0].split(",")[0].split("{")[0].replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'"));
| |
| 437 | - | case typeof im == "object" && im.trace(x, y): |
| 437 | + | |
| 438 | - | if (im.mode == "last.fm") {
|
| 438 | + | |
| 439 | - | /*_menu.AppendMenuItem(this.metadb ? MF_STRING : MF_GRAYED, 450, "Download artist art from Last.fm"); |
| 439 | + | |
| 440 | - | _menu.AppendMenuSeparator(); |
| 440 | + | |
| 441 | - | _sub1.AppendMenuItem(MF_STRING, 451, "Off"); |
| 441 | + | |
| 442 | - | _sub1.AppendMenuItem(MF_STRING, 452, "Library tracks only"); |
| 442 | + | |
| 443 | - | _sub1.AppendMenuItem(MF_STRING, 453, "All tracks"); |
| 443 | + | |
| 444 | - | _sub1.CheckMenuRadioItem(451, 453, im.auto_download == "off" ? 451 : im.auto_download == "library" ? 452 : 453); |
| 444 | + | |
| 445 | - | //_sub1.AppendTo(_menu, MF_STRING, "Automatic download"); |
| 445 | + | |
| 446 | - | _sub2.AppendMenuItem(MF_STRING, 461, "1"); |
| 446 | + | |
| 447 | - | _sub2.AppendMenuItem(MF_STRING, 463, "3"); |
| 447 | + | |
| 448 | - | _sub2.AppendMenuItem(MF_STRING, 465, "5"); |
| 448 | + | |
| 449 | - | //_sub2.AppendMenuItem(MF_STRING, 470, "10"); |
| 449 | + | |
| 450 | - | //_sub2.AppendMenuItem(MF_STRING, 480, "20"); |
| 450 | + | //clean track name |
| 451 | - | _sub2.CheckMenuRadioItem(461, 480, im.limit + 460); |
| 451 | + | var urls0 = ((urls[i]).trim().replace(" ","").replace(" ","").replace(" 1 ","").replace(" 2 ","").replace(" 3 ","").replace(" 4 ","").replace(" 5 ","").replace(" 6 ","").replace(" 7 ","").replace(" 8 ","").replace(" 9 ","").replace(" 0 ","").replace("1","").replace("2","").replace("3","").replace("4","").replace("5","").replace("6","").replace("7","").replace("8","").replace("9","").replace("0","").replace(".mp","").replace(" - Remastered ","").replace(" - Remastered","").replace("- "," ").replace(decodeURIComponent(last_fm) + " -"," ").replace(decodeURIComponent(last_fm) + " - ","").replace(" - Live ","").replace(" - Live","").replace(" Pt.1","").replace(" - Demo;2 Digital Remaster 66 ","").replace(" - Demo;2 Digital Remaster","").replace(" - Demo;","").replace(" - Demo","").replace("Digital Remaster","").replace("Original- ","").replace("Original- ","").replace("Original-","").replace(" - Vocal Version","").replace(" Mega-Mix","").replace("Mega-Mix","").replace(" - Original Mix","").replace(" Pop Radio Edit","").replace(" Radio Edit","").replace(" - Single Version","").replace(" - Edited Version","").replace(" - "," ").replace(" - Extended Version","").replace(" -Remaster","").replace("`","'").replace(". "," ").replace(" Version","").replace(" edit","").replace(" - Edit","").replace(" Simple Mix","").replace(" Almighty Mix","").replace(" - Vocal","").replace(" Vocal","").replace(" Remix","").replace(" Extended Version","").replace(" - Explicit Version","").replace("- Explicit Version","").replace(" Explicit Version","").replace("Explicit Version","").replace(" Anthology", "").replace("The " + decodeURIComponent(last_fm), "").replace(" - Survival Remix","").replace(" Survival Remix","").replace("Survival Remix","").replace(decodeURIComponent(last_fm) + "-"," ").replace(decodeURIComponent(last_fm)," ").replace(" Club Mix","").replace(" wwwi.info","").replace(" Edit","").replace("feat","").replace("ft","").replace("live","").replace("Single","").replace(" Acoustic","").replace("Remix","").replace("Part","").replace("Part&","").replace(" +","").replace(" % ","").replace(' /"/"',"").replace(" remastered","").replace(" // СЛУШАЮТ:","").split(" | '' |")[0].split(" |")[0].split("| On:")[0].trim());
|
| 452 | - | //_sub2.AppendTo(_menu, MF_STRING, "Limit");*/ |
| 452 | + | p.console("" + last_fm + " - " + urls0);
|
| 453 | ||
| 454 | ooo2 = window.SetProperty("YT Track", urls0);
| |
| 455 | - | //_menu.AppendMenuItem(MF_STRING, 442, "Set custom folder..."); |
| 455 | + | ooo2 = urls0; |
| 456 | - | } |
| 456 | + | window.SetProperty("YT Track", urls0);
|
| 457 | - | var _settings = window.CreatePopupMenu(); |
| 457 | + | |
| 458 | - | var _auto_cycle = window.CreatePopupMenu(); |
| 458 | + | |
| 459 | - | var _download_source = window.CreatePopupMenu(); |
| 459 | + | |
| 460 | - | var _download_limit = window.CreatePopupMenu(); |
| 460 | + | |
| 461 | - | var _download_quality = window.CreatePopupMenu(); |
| 461 | + | |
| 462 | - | var _thumbs = window.CreatePopupMenu(); |
| 462 | + | |
| 463 | - | var MF_POPUP = 0x00000010; |
| 463 | + | |
| 464 | - | var MF_GRAYED = 0x00000001; |
| 464 | + | |
| 465 | - | //_menu.AppendMenuSeparator(); |
| 465 | + | |
| 466 | - | //_menu.AppendMenuItem(MF_STRING, 403, "Auto YT"); |
| 466 | + | |
| 467 | - | //_menu.AppendMenuSeparator(); |
| 467 | + | this.doc.close(); |
| 468 | this.working=false; | |
| 469 | if (ooo2 == "" || ooo2 == "?") {downloadLFM();}
| |
| 470 | - | //Settings Menu |
| 470 | + | |
| 471 | - | //_menu.AppendMenuItem(MF_STRING | MF_POPUP, _settings.ID, "Auto YT"); |
| 471 | + | do_youtube_search1(decodeURIComponent(last_fm), decodeURIComponent(ooo2)); |
| 472 | } else {
| |
| 473 | - | //_menu.AppendMenuSeparator(); |
| 473 | + | p.console("HTTP error: " + this.xmlhttp.status);
|
| 474 | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
| |
| 475 | - | //_settings.AppendMenuItem(MF_STRING | MF_POPUP, _auto_cycle.ID, "Auto Cycle"); |
| 475 | + | |
| 476 | if (this.xmlhttp.status == 404) {downloadLFM();}
| |
| 477 | - | //_auto_cycle.AppendMenuItem(MF_STRING, 415, "05 sec"); |
| 477 | + | |
| 478 | - | //_auto_cycle.AppendMenuItem(MF_STRING, 420, "10 sec"); |
| 478 | + | |
| 479 | - | //_auto_cycle.AppendMenuItem(MF_STRING, 425, "15 sec"); |
| 479 | + | |
| 480 | - | //_auto_cycle.AppendMenuItem(MF_STRING, 430, "20 sec"); |
| 480 | + | |
| 481 | - | //_auto_cycle.AppendMenuItem(MF_STRING, 410, "Off"); |
| 481 | + | |
| 482 | - | //_auto_cycle.CheckMenuRadioItem(410, 430, cycle2 + 410); |
| 482 | + | |
| 483 | ||
| 484 | ||
| 485 | - | //_settings.AppendMenuItem(MF_STRING | MF_POPUP, _download_source.ID, "Download Source"); |
| 485 | + | //YT RADIO(One)-------------------------------------------- |
| 486 | ||
| 487 | //open simmilar artist | |
| 488 | - | if(auto_yt==1) _menu.AppendMenuItem(MF_STRING, 1902, "Youtube Radio"); |
| 488 | + | |
| 489 | - | if(auto_yt==0) _menu.AppendMenuItem(MF_STRING, 1903, "Youtube Radio"); |
| 489 | + | |
| 490 | - | _menu.CheckMenuItem(1902, auto_yt?1:0); |
| 490 | + | |
| 491 | {
| |
| 492 | - | //if(auto_lfm==1) _menu.AppendMenuItem(MF_STRING, 1905, "Last.fm Radio"); |
| 492 | + | |
| 493 | - | //if(auto_lfm==0) _menu.AppendMenuItem(MF_STRING, 1906, "Last.fm Radio"); |
| 493 | + | |
| 494 | - | //_menu.CheckMenuItem(1905, auto_lfm?1:0); |
| 494 | + | |
| 495 | ||
| 496 | ||
| 497 | - | _menu.AppendMenuSeparator(); |
| 497 | + | |
| 498 | var a=randomnumber; | |
| 499 | this.working=true; | |
| 500 | - | //_settings.AppendMenuItem(MF_STRING | MF_POPUP, _download_limit.ID, "Download Limit"); |
| 500 | + | |
| 501 | - | |
| 501 | + | |
| 502 | - | //_download_limit.AppendMenuItem(MF_STRING, 1905, "1x"); |
| 502 | + | |
| 503 | - | //_download_limit.AppendMenuItem(MF_STRING, 1906, "2x"); |
| 503 | + | |
| 504 | - | //_download_limit.AppendMenuItem(MF_STRING, 1907, "3x"); |
| 504 | + | |
| 505 | - | //_download_limit.AppendMenuItem(MF_STRING, 1908, "4x"); |
| 505 | + | if (this.xmlhttp.readyState == 4) {
|
| 506 | - | //_download_limit.AppendMenuItem(MF_STRING, 1909, "5x"); |
| 506 | + | if (this.xmlhttp.status == 200) {
|
| 507 | - | //_download_limit.AppendMenuItem(MF_STRING, 1910, "6x"); |
| 507 | + | var text = this.xmlhttp.responsetext; |
| 508 | - | //_download_limit.CheckMenuRadioItem(1905, 1910, im.limit + 1904); |
| 508 | + | if (!this.doc) this.doc = new ActiveXObject("htmlfile");
|
| 509 | this.doc.open(); | |
| 510 | var div = this.doc.createElement("div");
| |
| 511 | - | //if (server=="last.fm") _settings.AppendMenuItem(MF_STRING | MF_POPUP, _download_quality.ID, "Download Quality"); |
| 511 | + | |
| 512 | - | /*_download_quality.AppendMenuItem(MF_STRING, 1911, "Low"); |
| 512 | + | |
| 513 | - | _download_quality.AppendMenuItem(MF_STRING, 1912, "Medium"); |
| 513 | + | |
| 514 | - | _download_quality.AppendMenuItem(MF_STRING, 1913, "High"); |
| 514 | + | |
| 515 | - | _download_quality.CheckMenuRadioItem(1911, 1913, size == "low" ? 1911 : size == "medium" ? 1912 : size == "high" ? 1913 : 1913); |
| 515 | + | |
| 516 | ||
| 517 | for (i = 0; i < data.length; i++) {
| |
| 518 | if (data[i].href.indexOf("about:/music/") == 0) urls.push(data[i].href.replace(/about:\//,"").replace("music/","").replace("/_/"," - ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("+"," ").replace("free-music-downloads","").replace("/+similar?page=2","").replace("/+events","").replace("/+wiki","").replace("-+","").replace("/+albums","").replace("/+tags","").replace("/+images","").replace("/journal","").replace("/charts","").replace("/images","").replace("/listeners","").replace("/similar?page=17","").replace("/news","").replace("/groups","").replace("/albums","").replace("/videos","").replace("/tracks","").replace("/similar","").replace("/tags","").replace("noredirect/","").replace("listeners/+tracks","").replace("videos/+tracks","").replace("/+videos/","").replace("?page=1","").replace("?page=8","").replace("?page=5","").replace("?page=7","").replace("?page=9","").replace("?page=8","").replace(" wiki/edit","").replace("/ similar","").replace("?page=","'").replace("/ charts","'").replace("-","").replace("%2F%E3%82%A4%E3%83%95%E3%83%BB%E3%83%8E%E3%83%83%E3%83%88%E3%83%BB%E3%83%95%E3%82%A9%E3%83%BE3%83%BB%E3%83%A6%E3%83%BC","").replace("Ajoutez ce titre sur Deezer exclusivement sur www.hotmixradio.fr","").replace("www.Hituri.net","").replace("%E3%81%97%E3%82%83%E3%81%AB%E3%82%80%E3%81%AB%E3%82%B7%E3%82%A7%E3%82%A4%E3%82%AF%EF","").replace("%B81%E3%82%B7%E3%82%A7%E3%82%A4%E3%82%AF%EF%B81","").replace("%E4%BD%95%E3%82%88%E3%82%8A%E3%82%82%E5%83%95%E3%82%89%E3%81%97%E3%81%8F%E3%80%81%E4%BD%95%E3%82%88%E3%82%8A","").replace("%E3%82%82%E5%90%9B%E3%82%89%E3%81%97%E3%81%8F","").replace("%D0%91%D1%8D0%B5%D1%82 %D0%BF%D0%BE %D0%B3%D0%BB%D0%B0%D0%B7%D0%B0%D0%BC","").replace("%E3%83%9E%E3%82%A4%E3%83%BB%E3%83%9E3%83%87%E3%82%A3","").replace("%D0%9B%D0%B5%D1%82%D0%B5%D1%82%D1%8C","").replace("%2F%2F %D0%A1%D0%9B%D0%A3%D0%A8%D0%90%D0%AE%D0%A2","").replace("%D0%9F%D0%BE%D0%BF-%D0%A5%D0%B8%D1%82","").replace("/","").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'"));
| |
| 519 | - | _settings.AppendMenuItem(MF_STRING | MF_POPUP, _thumbs.ID, "Thumbs"); |
| 519 | + | |
| 520 | ||
| 521 | - | _thumbs.AppendMenuItem(MF_STRING, 1201, "Left"); |
| 521 | + | |
| 522 | - | _thumbs.AppendMenuItem(MF_STRING, 1202, "Right"); |
| 522 | + | |
| 523 | - | _thumbs.AppendMenuItem(MF_STRING, 1203, "Top"); |
| 523 | + | |
| 524 | - | _thumbs.AppendMenuItem(MF_STRING, 1204, "Bottom"); |
| 524 | + | |
| 525 | - | _thumbs.AppendMenuItem(MF_STRING, 1205, "Off"); |
| 525 | + | |
| 526 | - | _thumbs.CheckMenuRadioItem(1200, 1205, th.mode == "grid" ? 1200 : th.mode == "left" ? 1201 : th.mode == "right" ? 1202 : th.mode == "top" ? 1203 : th.mode == "bottom" ? 1204 : 1205); |
| 526 | + | |
| 527 | i=randomnumber; | |
| 528 | ||
| 529 | {
| |
| 530 | - | if (th.mode == "left" | th.mode == "right" | th.mode == "top" | th.mode == "bottom") |
| 530 | + | |
| 531 | //do something with urls[i] | |
| 532 | - | _thumbs.AppendMenuSeparator(); |
| 532 | + | |
| 533 | - | _thumbs.AppendMenuItem(MF_STRING, 1240, "40px"); |
| 533 | + | |
| 534 | - | _thumbs.AppendMenuItem(MF_STRING, 1250, "50px"); |
| 534 | + | |
| 535 | - | _thumbs.AppendMenuItem(MF_STRING, 1260, "60px"); |
| 535 | + | |
| 536 | - | _thumbs.AppendMenuItem(MF_STRING, 1270, "70px"); |
| 536 | + | |
| 537 | - | _thumbs.AppendMenuItem(MF_STRING, 1280, "80px"); |
| 537 | + | |
| 538 | - | _thumbs.AppendMenuItem(MF_STRING, 1290, "90px"); |
| 538 | + | |
| 539 | - | _thumbs.AppendMenuItem(MF_STRING, 1300, "100px"); |
| 539 | + | |
| 540 | - | _thumbs.AppendMenuItem(MF_STRING, 1350, "150px"); |
| 540 | + | |
| 541 | - | _thumbs.AppendMenuItem(MF_STRING, 1400, "200px"); |
| 541 | + | |
| 542 | - | _thumbs.AppendMenuItem(MF_STRING, 1450, "250px"); |
| 542 | + | |
| 543 | - | _thumbs.AppendMenuItem(MF_STRING, 1500, "300px"); |
| 543 | + | |
| 544 | - | _thumbs.CheckMenuRadioItem(1240, 1500, th.px + 1200); |
| 544 | + | |
| 545 | - | }*/ |
| 545 | + | |
| 546 | ||
| 547 | - | /* _sub3.AppendMenuItem(MF_STRING, 440, "Last.fm artist art"); |
| 547 | + | |
| 548 | - | _sub3.AppendMenuItem(MF_STRING, 441, "Custom folder"); |
| 548 | + | |
| 549 | - | _sub3.CheckMenuRadioItem(440, 441, im.mode == "last.fm" ? 440 : 441); |
| 549 | + | this.doc.close(); |
| 550 | - | //_sub3.AppendTo(_menu, MF_STRING, "Image source"); |
| 550 | + | this.working=false; |
| 551 | - | |
| 551 | + | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
|
| 552 | - | _menu.AppendMenuSeparator(); |
| 552 | + | |
| 553 | - | /*_sub4.AppendMenuItem(MF_STRING, 410, "Off"); |
| 553 | + | if (last_fm == "" || last_fm == "?") {downloadLFM1();}
|
| 554 | - | _sub4.AppendMenuItem(MF_STRING, 415, "5 seconds"); |
| 554 | + | |
| 555 | - | _sub4.AppendMenuItem(MF_STRING, 420, "10 seconds"); |
| 555 | + | downloadTRACK1(); |
| 556 | - | _sub4.AppendMenuItem(MF_STRING, 430, "20 seconds"); |
| 556 | + | |
| 557 | - | _sub4.CheckMenuRadioItem(410, 430, im.cycle + 410); |
| 557 | + | if (START_ARTIST.indexOf("*")== 0) {} else {p.console("HTTP error: " + this.xmlhttp.status);}
|
| 558 | - | _sub4.CheckMenuRadioItem(410, 430, im.cycle + 410); |
| 558 | + | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
|
| 559 | - | _menu.AppendMenuSeparator();*/ |
| 559 | + | |
| 560 | - | if (typeof th == "object") {
|
| 560 | + | if (this.xmlhttp.status == 404) {downloadLFM1();}
|
| 561 | - | if (!this.check_feature("now_playing")) _sub5.AppendMenuItem(MF_STRING, 1200, "Grid");
|
| 561 | + | |
| 562 | - | /*_sub5.AppendMenuItem(MF_STRING, 1201, "Left"); |
| 562 | + | |
| 563 | - | _sub5.AppendMenuItem(MF_STRING, 1202, "Right"); |
| 563 | + | |
| 564 | - | _sub5.AppendMenuItem(MF_STRING, 1203, "Top"); |
| 564 | + | |
| 565 | - | _sub5.AppendMenuItem(MF_STRING, 1204, "Bottom"); |
| 565 | + | |
| 566 | - | _sub5.AppendMenuItem(MF_STRING, 1205, "Off"); |
| 566 | + | |
| 567 | - | _sub5.CheckMenuRadioItem(1200, 1205, th.mode == "grid" ? 1200 : th.mode == "left" ? 1201 : th.mode == "right" ? 1202 : th.mode == "top" ? 1203 : th.mode == "bottom" ? 1204 : 1205);*/ |
| 567 | + | |
| 568 | - | if (th.mode != "off") {
|
| 568 | + | |
| 569 | - | /*_sub5.AppendMenuSeparator(); |
| 569 | + | |
| 570 | - | _sub5.AppendMenuItem(MF_STRING, 1275, "75px"); |
| 570 | + | |
| 571 | - | _sub5.AppendMenuItem(MF_STRING, 1300, "100px"); |
| 571 | + | |
| 572 | - | _sub5.AppendMenuItem(MF_STRING, 1350, "150px"); |
| 572 | + | |
| 573 | - | _sub5.AppendMenuItem(MF_STRING, 1400, "200px"); |
| 573 | + | |
| 574 | - | _sub5.AppendMenuItem(MF_STRING, 1450, "250px"); |
| 574 | + | |
| 575 | - | _sub5.AppendMenuItem(MF_STRING, 1500, "300px"); |
| 575 | + | |
| 576 | - | _sub5.CheckMenuRadioItem(1275, 1500, th.px + 1200);*/ |
| 576 | + | |
| 577 | - | } |
| 577 | + | |
| 578 | - | //_sub5.AppendTo(_menu, MF_STRING, "Thumbs"); |
| 578 | + | |
| 579 | - | //_menu.AppendMenuSeparator(); |
| 579 | + | |
| 580 | - | } |
| 580 | + | |
| 581 | - | //if (im.trace(x, y) && im.images.length > 0 && (!this.check_feature("thumbs") || th.mode != "grid"))
|
| 581 | + | |
| 582 | - | {
|
| 582 | + | |
| 583 | this.xmlhttp.send(); | |
| 584 | - | //if (auto_lfm=="1") _menu.AppendMenuItem(MF_STRING, 22, "Get Next Video"); |
| 584 | + | |
| 585 | if (this.xmlhttp.readyState == 4) {
| |
| 586 | - | //_menu.AppendMenuItem(MF_STRING, 400, "Get All Videos") |
| 586 | + | if (this.xmlhttp.status == 200) {
|
| 587 | var text = this.xmlhttp.responsetext; | |
| 588 | if (!this.doc) this.doc = new ActiveXObject("htmlfile");
| |
| 589 | - | //_menu.AppendMenuItem(MF_STRING, 402, "Search For Artist"); |
| 589 | + | this.doc.open(); |
| 590 | var div = this.doc.createElement("tr");
| |
| 591 | div.innerHTML = text; | |
| 592 | var data = div.getElementsByTagName("td");
| |
| 593 | var urls = []; | |
| 594 | ||
| 595 | ||
| 596 | ||
| 597 | for (i = 0; i < data.length; i++) {
| |
| 598 | if (data[i].title) urls.push(data[i].title.replace(/about:\//,"").replace(",","").replace("1","").replace("2","").replace("3","").replace("4","").replace("5","").replace("6","").replace("7","").replace("8","").replace("9","").replace("0","").replace("listeners","").replace("listener","").split("(")[0].split("[")[0].split(",")[0].split("{")[0].replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'").replace("%27","'"));
| |
| 599 | - | //_menu.AppendMenuItem(MF_STRING, 402, "Delete image"); |
| 599 | + | |
| 600 | - | //_menu.AppendMenuSeparator(); |
| 600 | + | |
| 601 | - | //_menu.AppendMenuItem(MF_STRING, 405, "Top"); |
| 601 | + | |
| 602 | - | //_menu.AppendMenuItem(MF_STRING, 404, "Centre"); |
| 602 | + | |
| 603 | - | //_menu.AppendMenuItem(MF_STRING, 406, "Adjust"); |
| 603 | + | |
| 604 | - | //_menu.AppendMenuItem(MF_STRING, 407, "Stretch"); |
| 604 | + | |
| 605 | - | _menu.CheckMenuRadioItem(404, 407, im.type == "centre" ? 404 : im.type == "top" ? 405 : im.type == "adjust" ? 406 : 407); |
| 605 | + | |
| 606 | - | _menu.AppendMenuSeparator(); |
| 606 | + | |
| 607 | - | } |
| 607 | + | |
| 608 | if (urls[i] > "") | |
| 609 | ||
| 610 | - | if (this.check_feature("now_playing")) {
|
| 610 | + | |
| 611 | - | /*_menu.AppendMenuItem(MF_STRING, 44, "Top style"); |
| 611 | + | //clean track name |
| 612 | - | _menu.AppendMenuItem(MF_STRING, 45, "Bottom style"); |
| 612 | + | var urls0 = ((urls[i]).trim().replace(" ","").replace(" ","").replace(" 1 ","").replace(" 2 ","").replace(" 3 ","").replace(" 4 ","").replace(" 5 ","").replace(" 6 ","").replace(" 7 ","").replace(" 8 ","").replace(" 9 ","").replace(" 0 ","").replace("1","").replace("2","").replace("3","").replace("4","").replace("5","").replace("6","").replace("7","").replace("8","").replace("9","").replace("0","").replace(".mp","").replace(" - Remastered ","").replace(" - Remastered","").replace("- "," ").replace(decodeURIComponent(last_fm) + " -"," ").replace(decodeURIComponent(last_fm) + " - ","").replace(" - Live ","").replace(" - Live","").replace(" Pt.1","").replace(" - Demo;2 Digital Remaster 66 ","").replace(" - Demo;2 Digital Remaster","").replace(" - Demo;","").replace(" - Demo","").replace("Digital Remaster","").replace("Original- ","").replace("Original- ","").replace("Original-","").replace(" - Vocal Version","").replace(" Mega-Mix","").replace("Mega-Mix","").replace(" - Original Mix","").replace(" Pop Radio Edit","").replace(" Radio Edit","").replace(" - Single Version","").replace(" - Edited Version","").replace(" - "," ").replace(" - Extended Version","").replace(" -Remaster","").replace("`","'").replace(". "," ").replace(" Version","").replace(" edit","").replace(" - Edit","").replace(" Simple Mix","").replace(" Almighty Mix","").replace(" - Vocal","").replace(" Vocal","").replace(" Remix","").replace(" Extended Version","").replace(" - Explicit Version","").replace("- Explicit Version","").replace(" Explicit Version","").replace("Explicit Version","").replace(" Anthology", "").replace("The " + decodeURIComponent(last_fm), "").replace(" - Survival Remix","").replace(" Survival Remix","").replace("Survival Remix","").replace(decodeURIComponent(last_fm) + "-"," ").replace(decodeURIComponent(last_fm)," ").replace(" Club Mix","").replace(" wwwi.info","").replace(" Edit","").replace("feat","").replace("ft","").replace("live","").replace("Single","").replace(" Acoustic","").replace("Remix","").replace("Part","").replace("Part&","").replace(" +","").replace(" % ","").replace(' /"/"',"").replace(" remastered","").replace(" // СЛУШАЮТ:","").split(" | '' |")[0].split(" |")[0].split("| On:")[0].trim());
|
| 613 | - | _menu.CheckMenuRadioItem(44, 45, np_track_top ? 44 : 45); |
| 613 | + | p.console("" + last_fm + " - " + urls0);
|
| 614 | - | _menu.AppendMenuSeparator(); |
| 614 | + | |
| 615 | - | _menu.AppendMenuItem(MF_STRING, 41, "Show CD cover"); |
| 615 | + | ooo2 = window.SetProperty("YT Track", urls0);
|
| 616 | - | _menu.CheckMenuItem(41, np_cd); |
| 616 | + | ooo2 = urls0; |
| 617 | - | _menu.AppendMenuItem(MF_STRING, 42, "Show track info"); |
| 617 | + | window.SetProperty("YT Track", urls0);
|
| 618 | - | _menu.CheckMenuItem(42, np_track); |
| 618 | + | |
| 619 | - | _menu.AppendMenuItem(MF_STRING, 46, "Show rating"); |
| 619 | + | |
| 620 | - | _menu.CheckMenuItem(46, np_rating); |
| 620 | + | |
| 621 | - | _menu.AppendMenuItem(MF_STRING, 40, "Show web links"); |
| 621 | + | |
| 622 | - | _menu.CheckMenuItem(40, np_buttons); |
| 622 | + | |
| 623 | - | _menu.AppendMenuItem(MF_STRING, 43, "Show biography"); |
| 623 | + | |
| 624 | - | _menu.CheckMenuItem(43, np_bio); |
| 624 | + | |
| 625 | - | _menu.AppendMenuSeparator();*/ |
| 625 | + | |
| 626 | } | |
| 627 | - | if (this.check_feature("custom_background")) {
|
| 627 | + | |
| 628 | - | if (!this.dui) _custom_background.AppendMenuItem(MF_STRING, 100, "None"); |
| 628 | + | this.doc.close(); |
| 629 | - | /*_custom_background.AppendMenuItem(MF_STRING, 101, this.dui ? "Use default UI setting" : "Use columns UI setting"); |
| 629 | + | this.working=false; |
| 630 | - | _custom_background.AppendMenuItem(MF_STRING, 102, "Splitter"); |
| 630 | + | if (ooo2 == "" || ooo2 == "?") {downloadLFM1();}
|
| 631 | - | _custom_background.AppendMenuItem(MF_STRING, 104, "Pattern"); |
| 631 | + | |
| 632 | - | _custom_background.AppendMenuItem(MF_STRING, 103, "Custom"); |
| 632 | + | do_youtube_search1(decodeURIComponent(last_fm), decodeURIComponent(ooo2)); |
| 633 | - | _custom_background.AppendMenuSeparator(); |
| 633 | + | |
| 634 | - | _custom_background.AppendMenuItem(this.background_mode == 3 ? MF_STRING : MF_GRAYED, 105, "Set custom colour..."); |
| 634 | + | p.console("HTTP error: " + this.xmlhttp.status);
|
| 635 | - | _custom_background.CheckMenuRadioItem(101, 104, this.background_mode + 100); |
| 635 | + | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
|
| 636 | - | _custom_background.AppendTo(_menu, MF_STRING, "Background"); |
| 636 | + | |
| 637 | - | _menu.AppendMenuSeparator();*/ |
| 637 | + | if (this.xmlhttp.status == 404) {downloadLFM1();}
|
| 638 | ||
| 639 | - | if (typeof l == "object") {
|
| 639 | + | |
| 640 | - | //_menu.AppendMenuItem(MF_STRING, 1900, "Last.fm username..."); |
| 640 | + | |
| 641 | - | if (typeof ps == "object") _menu.AppendMenuItem(l.username.length > 0 ? MF_STRING : MF_GRAYED, 1901, "Last.fm password..."); |
| 641 | + | |
| 642 | - | //_menu.AppendMenuSeparator(); |
| 642 | + | |
| 643 | }}} | |
| 644 | - | if (this.check_feature("metadb")) {
|
| 644 | + | |
| 645 | - | /*_metadb.AppendMenuItem(MF_STRING, 900, "Use display preferences"); |
| 645 | + | |
| 646 | - | _metadb.AppendMenuItem(MF_STRING, 901, "Prefer now playing"); |
| 646 | + | |
| 647 | - | _metadb.AppendMenuItem(MF_STRING, 902, "Follow selected track"); |
| 647 | + | //CHECK IF ARTIST EXIST------------------------------------ |
| 648 | - | _metadb.CheckMenuRadioItem(900, 903, this.selection_mode + 900);*/ |
| 648 | + | |
| 649 | - | //_metadb.AppendTo(_menu, MF_STRING, "Selection mode"); |
| 649 | + | |
| 650 | - | //_menu.AppendMenuSeparator(); |
| 650 | + | |
| 651 | {
| |
| 652 | - | if (this.check_feature("remap")) {
|
| 652 | + | |
| 653 | - | //_menu.AppendMenuItem(MF_STRING, 7, "Artist field remapping..."); |
| 653 | + | |
| 654 | - | //_menu.AppendMenuSeparator(); |
| 654 | + | |
| 655 | this.xmlhttp.open("GET", "http://www.last.fm/music/" + encodeURIComponent(START_ARTIST) + "/+similar", true);
| |
| 656 | - | //_menu.AppendMenuItem(MF_STRING, 20, "Update script"); |
| 656 | + | |
| 657 | - | //_menu.AppendMenuSeparator(); |
| 657 | + | |
| 658 | - | //if (utils.IsKeyPressed(0x10)) _menu.AppendMenuItem(MF_STRING, 9, "Properties"); |
| 658 | + | if (this.xmlhttp.readyState == 4) {
|
| 659 | - | _menu.AppendMenuItem(MF_STRING, 9, "Properties..."); |
| 659 | + | if (this.xmlhttp.status == 200) {
|
| 660 | var text = this.xmlhttp.responsetext; | |
| 661 | if (!this.doc) this.doc = new ActiveXObject("htmlfile");
| |
| 662 | this.doc.open(); | |
| 663 | var div = this.doc.createElement("div");
| |
| 664 | - | on_item_focus_change(); |
| 664 | + | |
| 665 | var data = div.getElementsByTagName("a");
| |
| 666 | var urls = []; | |
| 667 | - | case 3: |
| 667 | + | |
| 668 | - | case 4: |
| 668 | + | |
| 669 | - | case 5: |
| 669 | + | |
| 670 | - | case 6: |
| 670 | + | |
| 671 | - | a.id = idx - 2; |
| 671 | + | this.doc.close(); |
| 672 | - | window.SetProperty("artreader_id", a.id);
|
| 672 | + | this.working=false; |
| 673 | - | on_item_focus_change(); |
| 673 | + | downloadLFM000(); |
| 674 | ||
| 675 | - | case 7: |
| 675 | + | |
| 676 | - | this.artist_tf = this.InputBox("The default is %artist%\n\nYou can use the full foobar2000 title formatting syntax here.", "Artist field remapping", this.artist_tf);
|
| 676 | + | if (START_ARTIST.indexOf("*")== 0) {} else {p.console("HTTP error: " + this.xmlhttp.status);}
|
| 677 | - | if (this.artist_tf == "") this.artist_tf = "%path%"; |
| 677 | + | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
|
| 678 | - | window.SetProperty("YT Search", this.artist_tf);
|
| 678 | + | |
| 679 | - | on_item_focus_change(); |
| 679 | + | if (this.xmlhttp.status == 404) |
| 680 | {
| |
| 681 | p.MsgBox("This Artist Not Found!", 0, p.name);
| |
| 682 | } | |
| 683 | ||
| 684 | - | case 10: |
| 684 | + | |
| 685 | } | |
| 686 | } | |
| 687 | - | case 11: |
| 687 | + | |
| 688 | - | c.gloss = !c.gloss; |
| 688 | + | |
| 689 | - | window.SetProperty("cd_gloss", c.gloss);
|
| 689 | + | |
| 690 | - | window.Repaint(); |
| 690 | + | |
| 691 | ||
| 692 | - | case 12: |
| 692 | + | //START ARTIST RADIO(same artist)-------------------------- |
| 693 | - | c.shadow = !c.shadow; |
| 693 | + | |
| 694 | - | window.SetProperty("cd_shadow", c.shadow);
|
| 694 | + | |
| 695 | - | window.Repaint(); |
| 695 | + | |
| 696 | {
| |
| 697 | - | case 15: |
| 697 | + | |
| 698 | - | case 16: |
| 698 | + | |
| 699 | - | case 17: |
| 699 | + | |
| 700 | - | case 18: |
| 700 | + | |
| 701 | - | a.type = idx == 15 ? "centre" : idx == 16 ? "top" : idx == 17 ? "adjust" : "stretch"; |
| 701 | + | |
| 702 | - | window.SetProperty("artreader_image_type", a.type);
|
| 702 | + | |
| 703 | - | window.RepaintRect(a.x, a.y, a.w, a.h); |
| 703 | + | |
| 704 | { var randomnumber=Math.floor(Math.random()*18)
| |
| 705 | - | case 20: |
| 705 | + | |
| 706 | - | this.update_script(); |
| 706 | + | |
| 707 | if (START_ARTIST == "" || START_ARTIST == "?") return; | |
| 708 | - | case 21: |
| 708 | + | |
| 709 | - | im.downloadLFM1(); |
| 709 | + | |
| 710 | this.xmlhttp.send(); | |
| 711 | this.xmlhttp.onreadystatechange = function() {
| |
| 712 | - | im.downloadLFM1(); |
| 712 | + | if (this.xmlhttp.readyState == 4) {
|
| 713 | if (this.xmlhttp.status == 200) {
| |
| 714 | - | case 23: |
| 714 | + | var text = this.xmlhttp.responsetext; |
| 715 | - | fb.ShowPopupMessage("You can get Album Art Downloader here:\n\nhttp://www.hydrogenaudio.org/forums/index.php?showtopic=57392", this.name);
|
| 715 | + | if (!this.doc) this.doc = new ActiveXObject("htmlfile");
|
| 716 | this.doc.open(); | |
| 717 | - | case 25: |
| 717 | + | var div = this.doc.createElement("div");
|
| 718 | - | case 26: |
| 718 | + | |
| 719 | - | t.source = idx == 25 ? "last.fm" : "wikipedia"; |
| 719 | + | |
| 720 | - | window.SetProperty("biography_source", t.source);
|
| 720 | + | |
| 721 | - | t.artist = ""; |
| 721 | + | |
| 722 | - | on_item_focus_change(); |
| 722 | + | |
| 723 | ||
| 724 | - | case 28: |
| 724 | + | |
| 725 | - | li.show_timestamp = !li.show_timestamp; |
| 725 | + | |
| 726 | - | window.SetProperty("show_timestamp", li.show_timestamp);
|
| 726 | + | |
| 727 | - | window.RepaintRect(li.x, li.y, li.w, li.h); |
| 727 | + | |
| 728 | ||
| 729 | - | case 29: |
| 729 | + | |
| 730 | - | li.discogs_match = !li.discogs_match; |
| 730 | + | |
| 731 | - | window.SetProperty("discogs_match", li.discogs_match);
|
| 731 | + | |
| 732 | - | li.artist = ""; |
| 732 | + | |
| 733 | - | on_item_focus_change(); |
| 733 | + | |
| 734 | i=randomnumber; | |
| 735 | - | case 30: |
| 735 | + | |
| 736 | - | case 31: |
| 736 | + | |
| 737 | - | case 32: |
| 737 | + | |
| 738 | - | this.normal_font_size = idx == 30 ? 12 : idx == 31 ? 14 : 16; |
| 738 | + | |
| 739 | - | window.SetProperty("normal_font_size", this.normal_font_size);
|
| 739 | + | |
| 740 | - | this.font_changed(); |
| 740 | + | |
| 741 | {
| |
| 742 | - | case 40: |
| 742 | + | |
| 743 | - | np_buttons = !np_buttons; |
| 743 | + | |
| 744 | - | window.SetProperty("np_buttons", np_buttons);
|
| 744 | + | |
| 745 | - | on_size(); |
| 745 | + | |
| 746 | - | window.Repaint(); |
| 746 | + | |
| 747 | else | |
| 748 | - | case 41: |
| 748 | + | |
| 749 | - | np_cd = !np_cd; |
| 749 | + | |
| 750 | - | window.SetProperty("np_cd", np_cd);
|
| 750 | + | |
| 751 | - | window.Repaint(); |
| 751 | + | |
| 752 | window.SetProperty("YT Similar", "");
| |
| 753 | - | case 42: |
| 753 | + | |
| 754 | - | np_track = !np_track; |
| 754 | + | |
| 755 | - | window.SetProperty("np_track", np_track);
|
| 755 | + | |
| 756 | - | on_size(); |
| 756 | + | |
| 757 | - | window.Repaint(); |
| 757 | + | this.doc.close(); |
| 758 | this.working=false; | |
| 759 | - | case 43: |
| 759 | + | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
|
| 760 | - | np_bio = !np_bio; |
| 760 | + | |
| 761 | - | window.SetProperty("np_bio", np_bio);
|
| 761 | + | if (last_fm == "" || last_fm == "?") {downloadLFM000();}
|
| 762 | - | window.Repaint(); |
| 762 | + | |
| 763 | downloadTRACK11(); | |
| 764 | - | case 44: |
| 764 | + | |
| 765 | - | case 45: |
| 765 | + | |
| 766 | - | np_track_top = idx == 44 ? true : false; |
| 766 | + | if (START_ARTIST.indexOf("*")== 0) {} else {p.console("HTTP error: " + this.xmlhttp.status);}
|
| 767 | - | window.SetProperty("np_track_top", np_track_top);
|
| 767 | + | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
|
| 768 | - | on_size(); |
| 768 | + | |
| 769 | - | window.Repaint(); |
| 769 | + | if (this.xmlhttp.status == 404) {downloadLFM000();}
|
| 770 | ||
| 771 | - | case 46: |
| 771 | + | |
| 772 | - | np_rating = !np_rating; |
| 772 | + | |
| 773 | - | window.SetProperty("np_rating", np_rating);
|
| 773 | + | |
| 774 | - | on_size(); |
| 774 | + | |
| 775 | - | window.Repaint(); |
| 775 | + | |
| 776 | ||
| 777 | - | case 51: |
| 777 | + | |
| 778 | - | case 52: |
| 778 | + | |
| 779 | - | case 53: |
| 779 | + | |
| 780 | - | l.auto_correct = !l.auto_correct; |
| 780 | + | |
| 781 | - | window.SetProperty("lastfm_auto_correct", l.auto_correct);
|
| 781 | + | |
| 782 | - | if (this.metadb) {
|
| 782 | + | |
| 783 | - | if (idx == 51) li.get(); |
| 783 | + | |
| 784 | - | if (idx == 53) t.get(); |
| 784 | + | |
| 785 | - | } |
| 785 | + | |
| 786 | ||
| 787 | - | case 100: |
| 787 | + | |
| 788 | - | case 101: |
| 788 | + | |
| 789 | - | case 102: |
| 789 | + | |
| 790 | - | case 103: |
| 790 | + | |
| 791 | - | case 104: |
| 791 | + | |
| 792 | - | this.background_mode = idx - 100; |
| 792 | + | |
| 793 | - | window.SetProperty("background_mode", this.background_mode);
|
| 793 | + | |
| 794 | - | window.Repaint(); |
| 794 | + | |
| 795 | if (this.xmlhttp.readyState == 4) {
| |
| 796 | - | case 105: |
| 796 | + | if (this.xmlhttp.status == 200) {
|
| 797 | - | this.background_custom_colour = this.InputBox("Enter a custom colour for the background. Uses RGB. Example usage:\n\n234-211-74", this.name, this.background_custom_colour);
|
| 797 | + | var text = this.xmlhttp.responsetext; |
| 798 | - | window.SetProperty("background_custom_colour", this.background_custom_colour);
|
| 798 | + | if (!this.doc) this.doc = new ActiveXObject("htmlfile");
|
| 799 | - | window.Repaint(); |
| 799 | + | this.doc.open(); |
| 800 | var div = this.doc.createElement("tr");
| |
| 801 | - | case 200: |
| 801 | + | |
| 802 | - | t.filename_tf = this.InputBox("Use title formatting to specify a path to your text file. eg: $directory_path(%path%)\\info.txt\n\nIf you prefer, you can specify just the path to a folder and the first txt or log file will be used.", this.name, t.filename_tf);
|
| 802 | + | |
| 803 | - | window.SetProperty("text_filename_tf", t.filename_tf);
|
| 803 | + | |
| 804 | - | on_item_focus_change(); |
| 804 | + | |
| 805 | ||
| 806 | - | case 201: |
| 806 | + | |
| 807 | - | t.fixed = !t.fixed; |
| 807 | + | |
| 808 | - | window.SetProperty("text_fixed_font", t.fixed);
|
| 808 | + | |
| 809 | - | t.calc(); |
| 809 | + | |
| 810 | - | window.RepaintRect(t.x, t.y, t.w, t.h); |
| 810 | + | |
| 811 | //select random URL | |
| 812 | - | case 400: |
| 812 | + | |
| 813 | - | im.downloadALL(); |
| 813 | + | |
| 814 | ||
| 815 | {
| |
| 816 | ||
| 817 | //do something with urls[i] | |
| 818 | - | case 402: |
| 818 | + | |
| 819 | - | im.downloadART(); |
| 819 | + | |
| 820 | {
| |
| 821 | - | case 403: |
| 821 | + | //clean track name |
| 822 | - | im.downloadART_TITLE(); |
| 822 | + | var urls0 = ((urls[i]).trim().replace(" ","").replace(" ","").replace(" 1 ","").replace(" 2 ","").replace(" 3 ","").replace(" 4 ","").replace(" 5 ","").replace(" 6 ","").replace(" 7 ","").replace(" 8 ","").replace(" 9 ","").replace(" 0 ","").replace("1","").replace("2","").replace("3","").replace("4","").replace("5","").replace("6","").replace("7","").replace("8","").replace("9","").replace("0","").replace(".mp","").replace(" - Remastered ","").replace(" - Remastered","").replace("- "," ").replace(decodeURIComponent(last_fm) + " -"," ").replace(decodeURIComponent(last_fm) + " - ","").replace(" - Live ","").replace(" - Live","").replace(" Pt.1","").replace(" - Demo;2 Digital Remaster 66 ","").replace(" - Demo;2 Digital Remaster","").replace(" - Demo;","").replace(" - Demo","").replace("Digital Remaster","").replace("Original- ","").replace("Original- ","").replace("Original-","").replace(" - Vocal Version","").replace(" Mega-Mix","").replace("Mega-Mix","").replace(" - Original Mix","").replace(" Pop Radio Edit","").replace(" Radio Edit","").replace(" - Single Version","").replace(" - Edited Version","").replace(" - "," ").replace(" - Extended Version","").replace(" -Remaster","").replace("`","'").replace(". "," ").replace(" Version","").replace(" edit","").replace(" - Edit","").replace(" Simple Mix","").replace(" Almighty Mix","").replace(" - Vocal","").replace(" Vocal","").replace(" Remix","").replace(" Extended Version","").replace(" - Explicit Version","").replace("- Explicit Version","").replace(" Explicit Version","").replace("Explicit Version","").replace(" Anthology", "").replace("The " + decodeURIComponent(last_fm), "").replace(" - Survival Remix","").replace(" Survival Remix","").replace("Survival Remix","").replace(decodeURIComponent(last_fm) + "-"," ").replace(decodeURIComponent(last_fm)," ").replace(" Club Mix","").replace(" wwwi.info","").replace(" Edit","").replace("feat","").replace("ft","").replace("live","").replace("Single","").replace(" Acoustic","").replace("Remix","").replace("Part","").replace("Part&","").replace(" +","").replace(" % ","").replace(' /"/"',"").replace(" remastered","").replace(" // СЛУШАЮТ:","").split(" | '' |")[0].split(" |")[0].split("| On:")[0].trim());
|
| 823 | p.console("" + last_fm + " - " + urls0);
| |
| 824 | ||
| 825 | ooo2 = window.SetProperty("YT Track", urls0);
| |
| 826 | ooo2 = urls0; | |
| 827 | window.SetProperty("YT Track", urls0);
| |
| 828 | - | case 405: |
| 828 | + | |
| 829 | - | case 406: |
| 829 | + | |
| 830 | - | case 407: |
| 830 | + | |
| 831 | - | im.type = idx == 404 ? "centre" : idx == 405 ? "top" : idx == 406 ? "adjust" : "stretch"; |
| 831 | + | |
| 832 | - | //window.SetProperty("Image type", im.type);
|
| 832 | + | |
| 833 | - | window.Repaint(); |
| 833 | + | |
| 834 | window.SetProperty("YT Track", "");
| |
| 835 | - | case 410: |
| 835 | + | |
| 836 | - | case 415: |
| 836 | + | |
| 837 | - | case 420: |
| 837 | + | |
| 838 | - | case 425: |
| 838 | + | this.doc.close(); |
| 839 | - | case 430: |
| 839 | + | this.working=false; |
| 840 | - | cycle2 = idx - 410; |
| 840 | + | if (ooo2 == "" || ooo2 == "?") {downloadLFM000();}
|
| 841 | - | window.SetProperty("Image cycle", cycle2);
|
| 841 | + | |
| 842 | - | cicleTimer = undefined; |
| 842 | + | do_youtube_search1(decodeURIComponent(last_fm), decodeURIComponent(ooo2)); |
| 843 | - | cicleTimerStarted = false; |
| 843 | + | |
| 844 | - | stopTimer(); |
| 844 | + | p.console("HTTP error: " + this.xmlhttp.status);
|
| 845 | - | startTimer(); |
| 845 | + | if (START_ARTIST.indexOf("*")== 0) {downloadGENRE2();}
|
| 846 | - | cicleTimerStarted = true; |
| 846 | + | |
| 847 | if (this.xmlhttp.status == 404) {downloadLFM000();}
| |
| 848 | - | case 440: |
| 848 | + | |
| 849 | - | case 441: |
| 849 | + | |
| 850 | - | im.mode = idx == 440 ? "last.fm" : "custom"; |
| 850 | + | |
| 851 | - | window.SetProperty("image_mode", im.mode);
|
| 851 | + | |
| 852 | - | im.artist = ""; |
| 852 | + | |
| 853 | - | im.folder = ""; |
| 853 | + | |
| 854 | - | on_item_focus_change(); |
| 854 | + | |
| 855 | ||
| 856 | - | case 442: |
| 856 | + | |
| 857 | - | im.custom_folder_tf = this.InputBox("Enter title formatting or an absolute path to a folder. You can specify multiple folders using | as a separator.", this.name, im.custom_folder_tf);
|
| 857 | + | //DOWNLOAD YOUTUBE VIDEO----------------------------------- |
| 858 | - | if (im.custom_folder_tf == "") im.custom_folder_tf = "$directory_path(%path%)"; |
| 858 | + | strip_title = function (t1, t2) |
| 859 | - | window.SetProperty("image_custom_folder_tf", im.custom_folder_tf);
|
| 859 | + | |
| 860 | - | im.folder = ""; |
| 860 | + | try |
| 861 | - | on_item_focus_change(); |
| 861 | + | |
| 862 | var a = "(by |the |\\(|\\[|)"; | |
| 863 | - | case 450: |
| 863 | + | var b = "(\\) |\\] | - |-| \/\/ |, | |)"; |
| 864 | - | im.download(); |
| 864 | + | return t1.replace(RegExp((a + t2 + b), "gi"), ""); |
| 865 | } | |
| 866 | - | case 451: |
| 866 | + | catch (e) |
| 867 | - | case 452: |
| 867 | + | {}
|
| 868 | - | case 453: |
| 868 | + | |
| 869 | - | im.auto_download = idx == 451 ? "on" : idx == 452 ? "library" : "off"; |
| 869 | + | |
| 870 | - | window.SetProperty("image_auto_download", im.auto_download);
|
| 870 | + | |
| 871 | ||
| 872 | - | case 461: |
| 872 | + | convert = function(min) |
| 873 | - | case 463: |
| 873 | + | |
| 874 | - | case 465: |
| 874 | + | var parts = min.split(':'),
|
| 875 | - | im.limit = idx - 460; |
| 875 | + | minutes = +parts[0], |
| 876 | - | window.SetProperty("image_limit", 50);
|
| 876 | + | seconds = +parts[1]; |
| 877 | return minutes * 60 + seconds; | |
| 878 | - | case 490: |
| 878 | + | |
| 879 | - | case 491: |
| 879 | + | |
| 880 | - | case 492: |
| 880 | + | |
| 881 | - | case 493: |
| 881 | + | |
| 882 | - | im.type = idx == 490 ? "centre" : idx == 491 ? "top" : idx == 492 ? "adjust" : "stretch"; |
| 882 | + | strip = function (t) |
| 883 | - | window.SetProperty("image_type", im.type);
|
| 883 | + | |
| 884 | - | window.RepaintRect(im.x, im.y, im.w, im.h); |
| 884 | + | try |
| 885 | {
| |
| 886 | - | case 500: |
| 886 | + | t = t.replace(/\//g, "\\/"); t = t.replace(/\?/g, "\\?"); t = t.replace(/\+/g, "\\+"); t = t.replace(/\-/g, "\\-"); t = t.replace(/\*/g, "\\*"); |
| 887 | - | case 501: |
| 887 | + | t = t.replace(/\^/g, "\\^"); t = t.replace(/\[/g, "\\["); t = t.replace(/\]/g, "\\]"); t = t.replace(/\(/g, "\\("); t = t.replace(/\)/g, "\\)"); t = t.replace(/\{/g, "\\{");
|
| 888 | - | case 502: |
| 888 | + | t = t.replace(/\}/g, "\\}"); t = t.replace(/\&/g, "\\&"); t = t.replace(/\|/g, "\\|"); t = t.replace(/\!/g, "\\!"); t = t.replace(/\:/g, "\\:"); return t; |
| 889 | - | li.echonest_mode = idx - 500; |
| 889 | + | } catch (e) {}
|
| 890 | - | window.SetProperty("echonest_mode", li.echonest_mode);
|
| 890 | + | |
| 891 | - | li.artist = ""; |
| 891 | + | |
| 892 | - | on_item_focus_change(); |
| 892 | + | clean = function (t) |
| 893 | {
| |
| 894 | - | case 600: |
| 894 | + | try |
| 895 | - | li.autoplaylists_title = this.InputBox("Enter a new title", this.name, li.autoplaylists_title);
|
| 895 | + | |
| 896 | - | if (li.autoplaylists_title == "") li.autoplaylists_title = "Autoplaylists"; |
| 896 | + | return t.replace(/'/g, "’").toLowerCase(); |
| 897 | - | window.SetProperty("autoplaylists_title", li.autoplaylists_title);
|
| 897 | + | } catch (e) {}
|
| 898 | - | window.Repaint(); |
| 898 | + | |
| 899 | ||
| 900 | - | case 601: |
| 900 | + | |
| 901 | - | case 602: |
| 901 | + | |
| 902 | - | case 603: |
| 902 | + | |
| 903 | - | case 604: |
| 903 | + | youtube_search = function (state_change_callback, p_on_search_finished_callback) |
| 904 | - | case 605: |
| 904 | + | |
| 905 | - | case 606: |
| 905 | + | this.xmlhttp = null; |
| 906 | - | case 607: |
| 906 | + | this.http_callback_funct = null; |
| 907 | - | case 608: |
| 907 | + | this.ready_state_change_callback = state_change_callback; |
| 908 | - | li.autoplaylists_slot = idx - 600; |
| 908 | + | this.search_done = false; |
| 909 | - | window.SetProperty("autoplaylists_slot", li.autoplaylists_slot);
|
| 909 | + | this.on_search_finished_callback = p_on_search_finished_callback; |
| 910 | - | li.filename = this.settings_folder + "autoplaylists" + li.autoplaylists_slot; |
| 910 | + | this.yt_link; |
| 911 | - | li.offset = 0; |
| 911 | + | this.search_artist; |
| 912 | - | li.update(); |
| 912 | + | this.search_title; |
| 913 | this.metadata; | |
| 914 | - | case 610: |
| 914 | + | |
| 915 | - | case 611: |
| 915 | + | this.on_state_change = function () |
| 916 | - | li.autoplaylists_success = idx == 610 ? true : false; |
| 916 | + | |
| 917 | - | window.SetProperty("autoplaylists_success", li.autoplaylists_success);
|
| 917 | + | if (this.xmlhttp != null && this.xmlhttp.readyState == 4 && this.xmlhttp.status == 200 && this.http_callback_funct != null) |
| 918 | this.http_callback_funct(); | |
| 919 | - | case 620: |
| 919 | + | } |
| 920 | - | case 621: |
| 920 | + | |
| 921 | - | case 622: |
| 921 | + | this.StartSearch = function (p_artist, p_title, p_extra_metadata) |
| 922 | - | case 623: |
| 922 | + | |
| 923 | - | case 624: |
| 923 | + | this.search_artist = p_artist; |
| 924 | - | case 625: |
| 924 | + | this.search_title = p_title; |
| 925 | - | case 626: |
| 925 | + | this.metadata = p_extra_metadata; |
| 926 | - | case 627: |
| 926 | + | this.http_callback_funct = null; |
| 927 | - | li.data.push(li.autoplaylists_deleted_items[idx - 620]); |
| 927 | + | this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
| 928 | - | if (li.data.length > li.rows) li.offset = li.data.length - li.rows; |
| 928 | + | |
| 929 | - | li.autoplaylists_deleted_items.splice(idx - 620, 1); |
| 929 | + | var URL = "http://www.youtube.com/results?search_query=" + encodeURIComponent(p_artist + " " + p_title); |
| 930 | - | this.save(li.data.join("\n"), li.filename);
|
| 930 | + | |
| 931 | - | window.NotifyOthers("autoplaylists", "update");
|
| 931 | + | this.http_callback_funct = this.AnalyseSearch; |
| 932 | - | li.update(); |
| 932 | + | this.xmlhttp.open("GET", URL);
|
| 933 | this.xmlhttp.onreadystatechange = this.ready_state_change_callback; | |
| 934 | - | case 650: |
| 934 | + | this.xmlhttp.send(); |
| 935 | - | li.autoplaylists_remove_duplicates = !li.autoplaylists_remove_duplicates |
| 935 | + | } |
| 936 | - | window.SetProperty("autoplaylists_remove_duplicates", li.autoplaylists_remove_duplicates);
|
| 936 | + | |
| 937 | this.AnalyseSearch = function () | |
| 938 | - | case 700: |
| 938 | + | |
| 939 | - | case 701: |
| 939 | + | var text = this.xmlhttp.responsetext; |
| 940 | - | li.musicbrainz_mode = idx == 700 ? "releases" : "URLs"; |
| 940 | + | var doc = new ActiveXObject("htmlfile");
|
| 941 | - | window.SetProperty("musicbrainz_mode", li.musicbrainz_mode);
|
| 941 | + | doc.open(); |
| 942 | - | li.artist = ""; |
| 942 | + | var div = doc.createElement("div");
|
| 943 | - | on_item_focus_change(); |
| 943 | + | div.innerHTML = text; |
| 944 | var data = div.getElementsByTagName("a");
| |
| 945 | - | case 702: |
| 945 | + | var url = ""; |
| 946 | - | li.musicbrainz_album = !li.musicbrainz_album; |
| 946 | + | var first_match; |
| 947 | - | window.SetProperty("musicbrainz_album", li.musicbrainz_album);
|
| 947 | + | |
| 948 | - | li.artist = ""; |
| 948 | + | re_test: |
| 949 | - | on_item_focus_change(); |
| 949 | + | |
| 950 | for (var i = 0; i < data.length; i++) | |
| 951 | - | case 703: |
| 951 | + | |
| 952 | - | li.musicbrainz_ep = !li.musicbrainz_ep; |
| 952 | + | if (data[i].href.indexOf("about:/watch?v=") == 0)
|
| 953 | - | window.SetProperty("musicbrainz_ep", li.musicbrainz_ep);
|
| 953 | + | |
| 954 | - | li.artist = ""; |
| 954 | + | i++; //the title is on the second link |
| 955 | - | on_item_focus_change(); |
| 955 | + | |
| 956 | //check if track exist? | |
| 957 | - | case 704: |
| 957 | + | //if((data[i].title.toLowerCase()).indexOf(decodeURIComponent(last_fm.toLowerCase()).split(" ")[0]) > 0)
|
| 958 | - | li.musicbrainz_single = !li.musicbrainz_single; |
| 958 | + | //if((data[i].title.toLowerCase()).indexOf(decodeURIComponent(ooo2.toLowerCase()).split(" ")[0]) > 0)
|
| 959 | - | window.SetProperty("musicbrainz_single", li.musicbrainz_single);
|
| 959 | + | //if((data[i].title.toLowerCase()).indexOf(decodeURIComponent(ooo2.toLowerCase()).split(" ")[1]) > 0)
|
| 960 | - | li.artist = ""; |
| 960 | + | //if((data[i].title.toLowerCase()).indexOf(decodeURIComponent(ooo2.toLowerCase()).split(" ")[2]) > 0)
|
| 961 | - | on_item_focus_change(); |
| 961 | + | |
| 962 | var radio_on = (auto_yt ? 1:0); | |
| 963 | - | case 705: |
| 963 | + | var s = text.indexOf( data[i].href.replace("about:/watch?", "") );
|
| 964 | - | li.musicbrainz_live = !li.musicbrainz_live; |
| 964 | + | var str = "<span class=\"video-time\">"; |
| 965 | - | window.SetProperty("musicbrainz_live", li.musicbrainz_live);
|
| 965 | + | s = text.indexOf(str, s) + str.length; |
| 966 | - | li.artist = ""; |
| 966 | + | var e = text.indexOf("</span>", s);
|
| 967 | - | on_item_focus_change(); |
| 967 | + | var length = text.substr(s, e - s); |
| 968 | length = convert(length); | |
| 969 | - | case 706: |
| 969 | + | length = length ? length : ""; |
| 970 | - | li.musicbrainz_remix = !li.musicbrainz_remix; |
| 970 | + | if (!first_match) |
| 971 | - | window.SetProperty("musicbrainz_remix", li.musicbrainz_remix);
|
| 971 | + | {
|
| 972 | - | li.artist = ""; |
| 972 | + | // title stripped of artist name if same as search_artist |
| 973 | - | on_item_focus_change(); |
| 973 | + | var stripped_title = strip_title(data[i].title, this.search_artist); |
| 974 | first_match = "3dydfy://www.youtube.com/watch?" + (this.metadata ? this.metadata + "&" : "") + "fb2k_title=" + encodeURIComponent(stripped_title + (!radio_on ? " [" + this.search_title + "]" : "")) + "&3dydfy_alt_length=" + encodeURIComponent(length) + "&fb2k_artist=" + encodeURIComponent(this.search_artist) + "&" + data[i].href.replace("about:/watch?", "");
| |
| 975 | - | case 707: |
| 975 | + | |
| 976 | - | li.musicbrainz_compilation = !li.musicbrainz_compilation; |
| 976 | + | //3dydfy |
| 977 | - | window.SetProperty("musicbrainz_compilation", li.musicbrainz_compilation);
|
| 977 | + | if (!this.IsGoodMatch(data[i].title)) |
| 978 | - | li.artist = ""; |
| 978 | + | continue; |
| 979 | - | on_item_focus_change(); |
| 979 | + | |
| 980 | url = "3dydfy://www.youtube.com/watch?" + (this.metadata ? this.metadata + "&" : "") + "fb2k_title=" + encodeURIComponent(this.search_title) + "&3dydfy_alt_length=" + encodeURIComponent(length) + "&fb2k_artist=" + encodeURIComponent(this.search_artist) + "&" + data[i].href.replace("about:/watch?", "");
| |
| 981 | - | case 708: |
| 981 | + | |
| 982 | - | li.musicbrainz_show_release_type = !li.musicbrainz_show_release_type; |
| 982 | + | |
| 983 | - | window.SetProperty("musicbrainz_show_release_type", li.musicbrainz_show_release_type);
|
| 983 | + | |
| 984 | - | window.RepaintRect(li.x, li.y, li.w, li.h); |
| 984 | + | |
| 985 | ||
| 986 | - | case 801: |
| 986 | + | |
| 987 | - | case 802: |
| 987 | + | if (!url.length) |
| 988 | - | case 803: |
| 988 | + | url = first_match; |
| 989 | - | case 804: |
| 989 | + | |
| 990 | - | case 805: |
| 990 | + | this.yt_link = url; |
| 991 | - | li.lastfm_mode = idx - 801; |
| 991 | + | |
| 992 | - | window.SetProperty("lastfm_mode", li.lastfm_mode);
|
| 992 | + | doc.close(); |
| 993 | - | li.artist = ""; |
| 993 | + | |
| 994 | - | on_item_focus_change(); |
| 994 | + | this.on_search_finished_callback(url, this.search_artist, this.search_title); |
| 995 | } | |
| 996 | - | case 810: |
| 996 | + | |
| 997 | - | li.lastfm_pause = !li.lastfm_pause; |
| 997 | + | |
| 998 | - | window.SetProperty("lastfm_pause", li.lastfm_pause);
|
| 998 | + | this.IsGoodMatch = function (video_name) |
| 999 | {
| |
| 1000 | - | case 811: |
| 1000 | + | var clean_vid_name = clean(strip(video_name)); |
| 1001 | - | case 812: |
| 1001 | + | var clean_artist = clean(strip(this.search_artist)); |
| 1002 | - | li.lastfm_button = idx == 811 ? "spotify" : "auto"; |
| 1002 | + | var clean_title = clean(strip(this.search_title)); |
| 1003 | - | window.SetProperty("lastfm_button", li.lastfm_button);
|
| 1003 | + | |
| 1004 | - | window.RepaintRect(li.x, li.y, li.w, li.h); |
| 1004 | + | if (clean_vid_name.indexOf(clean_artist) != -1 && clean_vid_name.indexOf(clean_title) != -1 && clean_vid_name.indexOf("full album") == -1)
|
| 1005 | {
| |
| 1006 | - | case 900: |
| 1006 | + | //p.console("GOOD MATCH");
|
| 1007 | - | case 901: |
| 1007 | + | return true; |
| 1008 | - | case 902: |
| 1008 | + | |
| 1009 | - | this.selection_mode = idx - 900; |
| 1009 | + | else |
| 1010 | - | window.SetProperty("selection_mode", this.selection_mode);
|
| 1010 | + | |
| 1011 | - | on_item_focus_change(); |
| 1011 | + | //p.console("BAD MATCH");
|
| 1012 | return false; | |
| 1013 | - | case 1000: |
| 1013 | + | |
| 1014 | - | li.get(); |
| 1014 | + | } |
| 1015 | ||
| 1016 | - | case 1001: |
| 1016 | + | |
| 1017 | - | case 1002: |
| 1017 | + | |
| 1018 | - | case 1003: |
| 1018 | + | //Call Search |
| 1019 | - | li.lastfm_charts_mode = idx - 1001; |
| 1019 | + | do_youtube_search1 = function (p_artist, p_title) |
| 1020 | - | window.SetProperty("lastfm_charts_mode", li.lastfm_charts_mode);
|
| 1020 | + | |
| 1021 | - | li.update(); |
| 1021 | + | var yt_search1 = new youtube_search(function () |
| 1022 | {
| |
| 1023 | - | case 1004: |
| 1023 | + | yt_search1.on_state_change(); |
| 1024 | - | case 1005: |
| 1024 | + | }, on_youtube_search1_done); |
| 1025 | - | case 1006: |
| 1025 | + | yt_search1.StartSearch(p_artist, p_title); |
| 1026 | - | case 1007: |
| 1026 | + | } |
| 1027 | - | case 1008: |
| 1027 | + | |
| 1028 | - | case 1009: |
| 1028 | + | on_youtube_search1_done = function (link, p_artist, p_title) |
| 1029 | - | li.lastfm_charts_period = idx - 1004; |
| 1029 | + | |
| 1030 | - | window.SetProperty("lastfm_charts_period", li.lastfm_charts_period);
|
| 1030 | + | var url2=""; |
| 1031 | - | li.update(); |
| 1031 | + | url2 = link; |
| 1032 | if (!url2) | |
| 1033 | - | case 1010: |
| 1033 | + | {p.console("Track Or Artist - Not Exist!"); downloadLFM1();}
|
| 1034 | - | li.lastfm_charts_bar_colour = this.InputBox("Enter a custom colour for the bars. Uses RGB. Example usage:\n\n234-211-74", this.name, li.lastfm_charts_bar_colour);
|
| 1034 | + | |
| 1035 | - | window.SetProperty("lastfm_charts_bar_colour", li.lastfm_charts_bar_colour);
|
| 1035 | + | if (link && link.length) |
| 1036 | - | window.Repaint(); |
| 1036 | + | |
| 1037 | ||
| 1038 | - | case 1100: |
| 1038 | + | p.console("" + "\"" + link + "\"");
|
| 1039 | - | case 1109: |
| 1039 | + | YT_URL = window.SetProperty("YT URL", link);
|
| 1040 | - | ps.full_import = idx == 1100 ? true : false; |
| 1040 | + | |
| 1041 | - | ps.start_import(); |
| 1041 | + | |
| 1042 | var go = str + link; | |
| 1043 | - | case 1101: |
| 1043 | + | |
| 1044 | - | ps.finish_import(); |
| 1044 | + | |
| 1045 | if (link == "" || link == "?") {downloadLFM1();}
| |
| 1046 | - | case 1102: |
| 1046 | + | } |
| 1047 | - | ps.show_console = !ps.show_console; |
| 1047 | + | //END------------------------------------------------------ |
| 1048 | - | window.SetProperty("playcount_sync_show_console", ps.show_console);
|
| 1048 | + | |
| 1049 | ||
| 1050 | - | case 1103: |
| 1050 | + | |
| 1051 | - | ps.library = !ps.library; |
| 1051 | + | |
| 1052 | - | window.SetProperty("playcount_sync_library", ps.library);
|
| 1052 | + | |
| 1053 | ||
| 1054 | - | case 1104: |
| 1054 | + | //Download Same Video-------------------------------------- |
| 1055 | - | case 1105: |
| 1055 | + | |
| 1056 | - | ps.auto_love = idx == 1104 ? false : true; |
| 1056 | + | |
| 1057 | - | window.SetProperty("playcount_sync_auto_love", ps.auto_love);
|
| 1057 | + | var artist0 = p.eval("%artist%");
|
| 1058 | var title0 = p.eval("%title%");
| |
| 1059 | - | case 1106: |
| 1059 | + | do_youtube_search1(decodeURIComponent(artist0), decodeURIComponent(title0)); |
| 1060 | - | ps.auto_love_tf = this.InputBox("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)", this.name, ps.auto_love_tf);
|
| 1060 | + | |
| 1061 | - | window.SetProperty("playcount_sync_auto_love_tf", ps.auto_love_tf);
|
| 1061 | + | |
| 1062 | ||
| 1063 | - | case 1107: |
| 1063 | + | |
| 1064 | - | case 1108: |
| 1064 | + | //GENRE---------------------------------------------------- |
| 1065 | - | ps.icon = idx == 1107 ? "tango" : "silk"; |
| 1065 | + | |
| 1066 | - | window.SetProperty("playcount_sync_icon", ps.icon);
|
| 1066 | + | |
| 1067 | - | b.update(); |
| 1067 | + | |
| 1068 | {
| |
| 1069 | - | case 1200: |
| 1069 | + | |
| 1070 | - | case 1201: |
| 1070 | + | |
| 1071 | - | case 1202: |
| 1071 | + | |
| 1072 | - | case 1203: |
| 1072 | + | |
| 1073 | - | case 1204: |
| 1073 | + | |
| 1074 | - | case 1205: |
| 1074 | + | |
| 1075 | - | th.mode = idx == 1200 ? "grid" : idx == 1201 ? "left" : idx == 1202 ? "right" : idx == 1203 ? "top" : idx == 1204 ? "bottom" : "off"; |
| 1075 | + | |
| 1076 | - | //window.SetProperty("Thumbs mode", th.mode);
|
| 1076 | + | |
| 1077 | - | th.nc = true; |
| 1077 | + | |
| 1078 | - | on_size(); |
| 1078 | + | |
| 1079 | - | window.Repaint(); |
| 1079 | + | |
| 1080 | if (!this.xmlhttp) this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
| |
| 1081 | - | case 1240: |
| 1081 | + | |
| 1082 | - | case 1250: |
| 1082 | + | |
| 1083 | - | case 1260: |
| 1083 | + | |
| 1084 | - | case 1270: |
| 1084 | + | if (this.xmlhttp.readyState == 4) {
|
| 1085 | - | case 1280: |
| 1085 | + | if (this.xmlhttp.status == 200) {
|
| 1086 | - | case 1290: |
| 1086 | + | var text = this.xmlhttp.responsetext; |
| 1087 | - | case 1300: |
| 1087 | + | if (!this.doc) this.doc = new ActiveXObject("htmlfile");
|
| 1088 | - | case 1350: |
| 1088 | + | this.doc.open(); |
| 1089 | - | case 1400: |
| 1089 | + | var div = this.doc.createElement("li");
|
| 1090 | - | case 1450: |
| 1090 | + | |
| 1091 | - | case 1500: |
| 1091 | + | |
| 1092 | - | th.px = idx - 1200; |
| 1092 | + | |
| 1093 | ||
| 1094 | - | th.nc = true; |
| 1094 | + | |
| 1095 | - | on_size(); |
| 1095 | + | |
| 1096 | - | window.Repaint(); |
| 1096 | + | |
| 1097 | if (data[i].className.indexOf("name") == 0)
| |
| 1098 | - | case 1700: |
| 1098 | + | |
| 1099 | - | t.title = this.InputBox("You can use full title formatting here.", this.name, t.title);
|
| 1099 | + | |
| 1100 | - | window.SetProperty("text_title", t.title);
|
| 1100 | + | |
| 1101 | - | window.Repaint(); |
| 1101 | + | |
| 1102 | var randomnumber = Math.floor(Math.random()*(0-9)+9); | |
| 1103 | - | case 1701: |
| 1103 | + | |
| 1104 | - | t.tag = this.InputBox("Enter a custom tag.", this.name, t.tag);
|
| 1104 | + | |
| 1105 | - | window.SetProperty("text_tag", t.tag);
|
| 1105 | + | |
| 1106 | - | t.filename = ""; |
| 1106 | + | |
| 1107 | - | on_item_focus_change(); |
| 1107 | + | |
| 1108 | ||
| 1109 | - | case 1702: |
| 1109 | + | |
| 1110 | - | t.centre = !t.centre; |
| 1110 | + | |
| 1111 | - | window.SetProperty("text_centre", t.centre);
|
| 1111 | + | |
| 1112 | - | window.RepaintRect(t.x, t.y, t.w, t.h); |
| 1112 | + | |
| 1113 | {
| |
| 1114 | - | case 1800: |
| 1114 | + | |
| 1115 | - | case 1801: |
| 1115 | + | |
| 1116 | - | case 1802: |
| 1116 | + | |
| 1117 | - | var period = idx == 1800 ? 0 : idx == 1801 ? ONE_DAY : ONE_WEEK; |
| 1117 | + | |
| 1118 | - | s.clear_images(period); |
| 1118 | + | |
| 1119 | else | |
| 1120 | - | case 1803: |
| 1120 | + | |
| 1121 | - | s.library = !s.library; |
| 1121 | + | |
| 1122 | - | window.SetProperty("seekbar_library", s.library);
|
| 1122 | + | |
| 1123 | window.SetProperty("YT Similar", "");
| |
| 1124 | - | case 1804: |
| 1124 | + | |
| 1125 | - | s.sox_params = this.InputBox("All SoX spectrogram options should work here.\n\n-r, -d and -o are already configured so do not use those. Check sox.pdf for everything else.", this.name, s.sox_params);
|
| 1125 | + | |
| 1126 | - | window.SetProperty("sox_params", s.sox_params);
|
| 1126 | + | |
| 1127 | - | if (fb.IsPlaying) s.playback_new_track(); |
| 1127 | + | |
| 1128 | this.doc.close(); | |
| 1129 | - | case 1805: |
| 1129 | + | this.working=false; |
| 1130 | - | s.marker = this.InputBox("Enter a custom colour for the marker. Uses RGB. Example usage:\n\n234-211-74", this.name, s.marker);
|
| 1130 | + | if (last_fm == "" || last_fm == "?") {downloadGENRE2();}
|
| 1131 | - | window.SetProperty("seekbar_marker", s.marker);
|
| 1131 | + | |
| 1132 | downloadTRACK1(); | |
| 1133 | - | case 1900: |
| 1133 | + | |
| 1134 | - | l.update_username(); |
| 1134 | + | p.console("HTTP error: " + this.xmlhttp.status);
|
| 1135 | if (this.xmlhttp.status == 404) | |
| 1136 | - | case 1901: |
| 1136 | + | {downloadGENRE2();}
|
| 1137 | - | l.update_password(); |
| 1137 | + | |
| 1138 | } | |
| 1139 | } | |
| 1140 | } | |
| 1141 | }} | |
| 1142 | ||
| 1143 | } | |
| 1144 | ||
| 1145 | ||
| 1146 | this.artist = ""; | |
| 1147 | function pan1() { }
| |
| 1148 | function pan2(x, y, w, h) { }
| |
| 1149 | ||
| 1150 | ||
| 1151 | //Begin---------------------------------------------------- | |
| 1152 | - | case 1904: |
| 1152 | + | var p = new panel("Youtube Radio", ["remap", "metadb"]);
|
| 1153 | - | if (server=="on")server = window.SetProperty("YT Radio", "off");
|
| 1153 | + | var im = new pan2(0, 0, 0, 0); |
| 1154 | - | if (server=="off")server = window.SetProperty("YT Radio", "on");
|
| 1154 | + | var th = new pan1(); |
| 1155 | ||
| 1156 | on_item_focus_change(); | |
| 1157 | - | case 1905: |
| 1157 | + | |
| 1158 | - | auto_lfm = 0; |
| 1158 | + | |
| 1159 | - | window.SetProperty("LFM Radio", "0");
|
| 1159 | + | |
| 1160 | function on_metadb_changed() {
| |
| 1161 | } | |
| 1162 | - | case 1906: |
| 1162 | + | |
| 1163 | - | auto_lfm = 1; |
| 1163 | + | //Button--------------------------------------------------- |
| 1164 | - | window.SetProperty("LFM Radio", "1");
|
| 1164 | + | |
| 1165 | - | break; |
| 1165 | + | |
| 1166 | ||
| 1167 | - | case 1907: |
| 1167 | + | |
| 1168 | - | case 1908: |
| 1168 | + | |
| 1169 | - | case 1909: |
| 1169 | + | |
| 1170 | - | case 1910: |
| 1170 | + | |
| 1171 | - | im.limit = idx - 1904; |
| 1171 | + | |
| 1172 | - | //window.SetProperty("Download limit", im.limit);
|
| 1172 | + | |
| 1173 | ButtonStates = {
| |
| 1174 | normal: 0, | |
| 1175 | - | case 1911: |
| 1175 | + | |
| 1176 | - | case 1912: |
| 1176 | + | |
| 1177 | - | case 1913: |
| 1177 | + | |
| 1178 | - | size = idx == 1911 ? "low" : idx == 1912 ? "medium" : idx == 1913 ? "high" : "high"; |
| 1178 | + | |
| 1179 | - | window.SetProperty("Download quality", size);
|
| 1179 | + | |
| 1180 | this.left = x; | |
| 1181 | this.top = y; | |
| 1182 | - | case 1914: |
| 1182 | + | |
| 1183 | this.h = h; | |
| 1184 | this.right = x + w; | |
| 1185 | this.bottom = y + h; | |
| 1186 | this.func = func; | |
| 1187 | this.tiptext = tiptext; | |
| 1188 | this.state = ButtonStates.normal; | |
| 1189 | this.img_normal = img_src && img_src.normal ? gdi.Image(img_src.normal) : null; | |
| 1190 | this.img_hover = img_src && img_src.hover ? gdi.Image(img_src.hover) : this.img_normal; | |
| 1191 | this.img_down = img_src && img_src.down ? gdi.Image(img_src.down) : this.img_hover; | |
| 1192 | this.img = this.img_normal; | |
| 1193 | - | im.downloadLFM0(); |
| 1193 | + | |
| 1194 | this.alterImage = function(img_src) {
| |
| 1195 | this.img_normal = img_src && img_src.normal ? gdi.Image(img_src.normal) : null; | |
| 1196 | this.img_hover = img_src && img_src.hover ? gdi.Image(img_src.hover) : this.img_normal; | |
| 1197 | - | case 1915: |
| 1197 | + | |
| 1198 | ||
| 1199 | this.changeState(this.state); | |
| 1200 | } | |
| 1201 | ||
| 1202 | this.traceMouse = function (x, y) {
| |
| 1203 | var b = (this.left < x) && (x < this.right) && (this.top < y) && (y < this.bottom); | |
| 1204 | if (b) | |
| 1205 | g_down ? this.changeState(ButtonStates.down) : this.changeState(ButtonStates.hover); | |
| 1206 | else | |
| 1207 | this.changeState(ButtonStates.normal); | |
| 1208 | return b; | |
| 1209 | } | |
| 1210 | ||
| 1211 | - | im.downloadLFM0(); |
| 1211 | + | |
| 1212 | this.changeState = function (newstate) {
| |
| 1213 | if (newstate != this.state) | |
| 1214 | window.RepaintRect(this.left, this.top, this.w, this.h); | |
| 1215 | this.state = newstate; | |
| 1216 | switch (this.state) | |
| 1217 | {
| |
| 1218 | - | _custom_background.Dispose(); |
| 1218 | + | |
| 1219 | - | _metadb.Dispose(); |
| 1219 | + | |
| 1220 | - | _cover.Dispose(); |
| 1220 | + | |
| 1221 | - | _font.Dispose(); |
| 1221 | + | |
| 1222 | - | _sub1.Dispose(); |
| 1222 | + | |
| 1223 | - | _sub2.Dispose(); |
| 1223 | + | |
| 1224 | - | _sub3.Dispose(); |
| 1224 | + | |
| 1225 | - | _sub4.Dispose(); |
| 1225 | + | |
| 1226 | - | _sub5.Dispose(); |
| 1226 | + | |
| 1227 | this.img = this.img_down; | |
| 1228 | break; | |
| 1229 | ||
| 1230 | default: | |
| 1231 | this.img = null; | |
| 1232 | - | case "custom_background": |
| 1232 | + | |
| 1233 | - | //this.background_mode = (0); |
| 1233 | + | |
| 1234 | - | //window.GetProperty("background_mode", 0);
|
| 1234 | + | |
| 1235 | - | //this.background_custom_colour = ("0-0-0");
|
| 1235 | + | |
| 1236 | - | //window.GetProperty("background_custom_colour", "0-0-0");
|
| 1236 | + | |
| 1237 | } | |
| 1238 | ||
| 1239 | this.onClick = function () {
| |
| 1240 | this.func && this.func(x,y); | |
| 1241 | - | case "themes": |
| 1241 | + | |
| 1242 | - | this.themed_seekbar = window.CreateThemeManager("Progress");
|
| 1242 | + | |
| 1243 | - | this.themed_header = window.CreateThemeManager("Header");
|
| 1243 | + | |
| 1244 | - | this.themed_header.SetPartAndStateId(1, 1); |
| 1244 | + | |
| 1245 | - | this.themed_button = window.CreateThemeManager("Button");
|
| 1245 | + | |
| 1246 | } | |
| 1247 | ||
| 1248 | this.onMouseOut = function() {
| |
| 1249 | g_tooltip.Deactivate(); | |
| 1250 | } | |
| 1251 | } | |
| 1252 | ||
| 1253 | function buttonsDraw(gr) {
| |
| 1254 | for (i in Buttons) {
| |
| 1255 | Buttons[i].draw(gr); | |
| 1256 | } | |
| 1257 | } | |
| 1258 | ||
| 1259 | function buttonsTraceMouse(x, y) {
| |
| 1260 | var btn = null; | |
| 1261 | for (i in Buttons) {
| |
| 1262 | if (Buttons[i].traceMouse(x, y) && !btn) | |
| 1263 | btn = Buttons[i]; | |
| 1264 | } | |
| 1265 | ||
| 1266 | return btn; | |
| 1267 | } | |
| 1268 | ||
| 1269 | function on_mouse_move(x, y) {
| |
| 1270 | - | this.open = function(filename) {
|
| 1270 | + | |
| 1271 | - | return utils.ReadTextFile(filename); |
| 1271 | + | |
| 1272 | if (btn != cur_btn) {
| |
| 1273 | cur_btn && cur_btn.onMouseOut(); | |
| 1274 | - | this.save = function(t, f) {
|
| 1274 | + | |
| 1275 | } | |
| 1276 | - | var ts = this.fso.OpenTextFile(f, 2, true, -1); |
| 1276 | + | |
| 1277 | - | ts.WriteLine(t); |
| 1277 | + | |
| 1278 | - | ts.Close(); |
| 1278 | + | |
| 1279 | ||
| 1280 | function on_mouse_lbtn_down(x, y) {
| |
| 1281 | g_down = true; | |
| 1282 | btn_down = cur_btn; | |
| 1283 | ||
| 1284 | if (cur_btn) {
| |
| 1285 | cur_btn.changeState(ButtonStates.down); | |
| 1286 | - | fb.trace(this.name + ": " + message); |
| 1286 | + | |
| 1287 | } | |
| 1288 | ||
| 1289 | - | this.strip_tags = function(value) {
|
| 1289 | + | |
| 1290 | - | if (!this.doc) this.doc = new ActiveXObject("htmlfile");
|
| 1290 | + | |
| 1291 | cur_btn.changeState(ButtonStates.hover); | |
| 1292 | - | this.doc.open(); |
| 1292 | + | |
| 1293 | - | var div = this.doc.createElement("div");
|
| 1293 | + | |
| 1294 | - | div.innerHTML = value.replace(/\n/g, "<br>"); |
| 1294 | + | |
| 1295 | - | return div.innerText.trim(); |
| 1295 | + | |
| 1296 | } | |
| 1297 | - | return "Error reading content."; |
| 1297 | + | |
| 1298 | function on_mouse_leave() {
| |
| 1299 | if (cur_btn) {
| |
| 1300 | cur_btn.changeState(ButtonStates.normal); | |
| 1301 | } | |
| 1302 | } | |
| 1303 | ||
| 1304 | function on_size() {
| |
| 1305 | ww = window.Width; | |
| 1306 | wh = window.Height; | |
| 1307 | window.Repaint(); | |
| 1308 | } | |
| 1309 | ||
| 1310 | //Background | |
| 1311 | this.dui = window.InstanceType; | |
| 1312 | function on_paint(gr) {
| |
| 1313 | ||
| 1314 | if (this.dui) {
| |
| 1315 | col = window.GetColorDUI(1); | |
| 1316 | gr.FillSolidRect(0, 0, ww, wh, col); | |
| 1317 | } | |
| 1318 | else | |
| 1319 | {
| |
| 1320 | col = window.GetColorCUI(3); | |
| 1321 | } | |
| 1322 | ||
| 1323 | buttonsDraw(gr); | |
| 1324 | ||
| 1325 | } | |
| 1326 | ||
| 1327 | function RGB(r,g,b) {
| |
| 1328 | return (0xff000000|(r<<16)|(g<<8)|(b)); | |
| 1329 | } | |
| 1330 | - | this.aad = function() {
|
| 1330 | + | |
| 1331 | - | if (!this.app) this.app = new ActiveXObject("Shell.Application");
|
| 1331 | + | |
| 1332 | - | var aad_path = window.GetProperty("aad_path", "");
|
| 1332 | + | |
| 1333 | - | if (!this.fso.FileExists(aad_path)) {
|
| 1333 | + | |
| 1334 | - | var folder = this.app.BrowseForFolder(0, "Locate Album Art Downloader", 0x00000200); |
| 1334 | + | |
| 1335 | - | var file = folder ? folder.items().item().path + "\\AlbumArt.exe" : ""; |
| 1335 | + | //init Buttons-------------------------------------------- |
| 1336 | - | if (this.fso.FileExists(file)) {
|
| 1336 | + | |
| 1337 | - | aad_path = file; |
| 1337 | + | //custom colour |
| 1338 | - | window.SetProperty("aad_path", file);
|
| 1338 | + | |
| 1339 | ||
| 1340 | //button width | |
| 1341 | - | if (this.fso.FileExists(aad_path)) {
|
| 1341 | + | |
| 1342 | - | var album_artist = "/ar \"" + this.eval("[%album artist%]") + "\"";
|
| 1342 | + | |
| 1343 | - | var album = " /al \"" + this.eval("[%album%]") + "\"";
|
| 1343 | + | |
| 1344 | - | this.run("\"" + aad_path + "\"" + album_artist + album);
|
| 1344 | + | |
| 1345 | ||
| 1346 | //Button position | |
| 1347 | var top_margin = -1; | |
| 1348 | - | this.tt = function(t) {
|
| 1348 | + | |
| 1349 | - | if (this.tooltip.Text == t) return; |
| 1349 | + | |
| 1350 | - | this.tooltip.Text = t; |
| 1350 | + | |
| 1351 | - | this.tooltip.Activate(); |
| 1351 | + | |
| 1352 | ||
| 1353 | //these 2 lines of code lock the panel size. | |
| 1354 | - | this.ttd = function() {
|
| 1354 | + | |
| 1355 | - | this.tooltip.Text = ""; |
| 1355 | + | |
| 1356 | - | this.tooltip.Deactivate(); |
| 1356 | + | |
| 1357 | ||
| 1358 | Buttons = {
| |
| 1359 | - | this.splitRGB = function(value) {
|
| 1359 | + | |
| 1360 | - | var temp_col = value.split("-");
|
| 1360 | + | |
| 1361 | - | return RGB(temp_col[0], temp_col[1], temp_col[2]); |
| 1361 | + | //downloadONE(); |
| 1362 | }, "Youtube") | |
| 1363 | ||
| 1364 | - | this.draw_background = function(gr) {
|
| 1364 | + | |
| 1365 | - | if (this.check_feature("custom_background")) {
|
| 1365 | + | |
| 1366 | - | var col; |
| 1366 | + | |
| 1367 | - | switch(this.background_mode) {
|
| 1367 | + | |
| 1368 | - | case 0: |
| 1368 | + |