Вчера тоже заметил(чуть увеличил шрифт в режиме артист,когда только одна строка), полагал - это редактор "съел" пробел ..font size: biography
Думаю, до вечера сделаю мод..
Список разделов › foobar2000 › Секреты foobar2000
Вчера тоже заметил(чуть увеличил шрифт в режиме артист,когда только одна строка), полагал - это редактор "съел" пробел ..font size: biography
var font_size_t = window.GetProperty("font size: biography", 12);
var albums_pages;
function get_lastFM_pic_pages(){
xmlhttp0 = new ActiveXObject("Microsoft.XMLHTTP");
url0 = ("http://www.last.fm/" + lang_query[lang] + "music/" + encodeURIComponent(artist) + "/+" + p_a[select_p_a]+ "?page=1");
xmlhttp0.open("GET", url0, true );
xmlhttp0.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
xmlhttp0.send(null);
xmlhttp0.onreadystatechange = function () {
if (xmlhttp0.readyState == 4) {
if (xmlhttp0.status == 200) {
doc.open();
var div = doc.createElement("div");
div.innerHTML = xmlhttp0.responsetext;
var data = div.getElementsByTagName("li");
for (i = 0; i < data.length; i++) {
if (data[i].className == "pages"){
albums_pages = data[i].innerHTML.replace(/^\s+|\s+$/g,"").replace(/^(.*\s)/g,'');
}
}
}
doc.close();
window.Repaint();
}
}
}
Хорошего много не бывает , но тут есть сомнения ,что кто-то будет вписывать номер страницы ,а их может быть там Page 1 of 16
return n.replace(/[^a-zA-Z0-9а-яА-Я\s-&\ёЁ.,'[]]/g,'').replace(/^\s+|\s+$/g,"").substr(0,200);
case 70:
//ddd = 0;
if (!metadb) return;
tf_album = Eval("%album%");
get_lastFM_pic_pages();
for (i = 1; i <= albums_pages; i++) {
get_album(i);
}
break;
function get_album(i){
var xmlhttp3 = new ActiveXObject("Microsoft.XMLHTTP");
var url3 = ("http://www.last.fm/" + lang_query[lang] + "music/" + encodeURIComponent(artist) + "/+" + p_a[select_p_a] + "?page=" + i);
xmlhttp3.open("GET", url3, true );
xmlhttp3.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
xmlhttp3.send(null);
xmlhttp3.onreadystatechange = function () {
if (xmlhttp3.readyState == 4) {
if (xmlhttp3.status == 200) {
//ddd = ddd + 1; window.Repaint();
doc.open();
var div = doc.createElement("div");
div.innerHTML = xmlhttp3.responsetext;
var data = div.getElementsByTagName("img");
var urls = [];
for (i = 0; i < data.length; i++) {
if (data[i].className == "album-grid-album-art"){
if ((data[i].src.indexOf("http://img2-ak.lst.fm/i/u/300") == 0 || data[i].src.indexOf("https://lastfm-img2.akamaized.net/i/u/300") == 0) && data[i].src.indexOf("c6f59c1e5e7240a4c0d427abd71f3dbb") < 0) {
if (data[i].alt.replace(/^(.*?)'|'$/g,'').replace(/\s/,'').toLowerCase() == tf_album.replace(/\s/,'').toLowerCase()){
p = tmp_b_path;
var url = data[i].src.replace("300x300", quality[download_quality][2]);
var file = "\"" + p + "\\" + artist + "_" + tf_album + ".jpg" + "\"";
WshShell.Run(vbs + " " + url + " " + file, 0, false);
}
}
}
}
doc.close();
}
}
}
}
var albums_pages;
function get_lastFM_pic_pages(){
xmlhttp0 = new ActiveXObject("Microsoft.XMLHTTP");
url0 = ("http://www.last.fm/" + lang_query[lang] + "music/" + encodeURIComponent(artist) + "/+" + p_a[select_p_a]+ "?page=1");
xmlhttp0.open("GET", url0, true );
xmlhttp0.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
xmlhttp0.send(null);
xmlhttp0.onreadystatechange = function () {
if (xmlhttp0.readyState == 4) {
if (xmlhttp0.status == 200) {
doc.open();
var div = doc.createElement("div");
div.innerHTML = xmlhttp0.responsetext;
var data = div.getElementsByTagName("li");
for (i = 0; i < data.length; i++) {
if (data[i].className == "pages"){
albums_pages = data[i].innerHTML.replace(/^\s+|\s+$/g,"").replace(/^(.*\s)/g,'');
}
}
}
doc.close();
window.Repaint();
}
}
}
Данная замена работает нормально, выловить баги и все..,kgena_ua:А вообще нужно научиться определять кодировку и отказаться от return n.replace(/[^a-zA-Z0-9а-яА-Я..........
вернуть как было - это те кракозяблики виноваты - "3>@L !0@CE0=>2-"
function clean_name(n) {
if (!n) return;
//return n.replace(/[^a-zA-Z0-9а-яА-Я\s-&\.,Ёё]/g,'').replace(/^\s+|\s+$/g,"").substr(0,200);
return n.replace(/[\/\:\*\?\"\<\>\|]/g,'').replace(/[^\x20-\x7E]+/g,'').replace(/^\s+|\s+$/g,"").substr(0,200);
}
Смысл затеи я так понимаю в загруке в tmp_Biography большего количествадобавил пункт в меню
Возьмём проще, далеко ходить не надо, AC/DCMC Web:в имени исполнителя присутствовал знак /
function clean_name(n) {
if (!n) return;
return n.replace(/[\/\:\*\?\"\<\>\|\s]/g,' ');
}
function check_folder(n) {
if (!n) return; // ?????????????
if(!fso.FolderExists(n)) {fso.CreateFolder(n)};
}
Проверил на скорую руку - кириллицу не выводит.kgena_ua:А если так...
if (!n) return;
//return n.replace(/[^a-zA-Z0-9а-яА-Я\s-&\.,Ёё]/g,'').replace(/^\s+|\s+$/g,"").substr(0,200);
return n.replace(/[\/\:\*\?\"\<\>\|]/g,'').replace(/[^a-zA-Z0-9а-яА-Я\s-&\ёЁ.,']/g,'').replace(/^\s+|\s+$/g,"").substr(0,200);
}
// gr.GdiDrawText( artist, h_font, RGB(0,0,0), h_x + 1, h1_y + 2, ww - h_x - t_margin, wh, DT_LEFT | DT_WORD_ELLIPSIS | DT_NOPREFIX );
// gr.GdiDrawText( artist, h_font, h_color, h_x, h1_y, ww - h_x - t_margin, wh, DT_LEFT | DT_WORD_ELLIPSIS | DT_NOPREFIX );
gr.GdiDrawText( artist1, h_font, RGB(0,0,0), h_x + 1, h1_y + 2, ww - h_x - t_margin, wh, DT_LEFT | DT_WORD_ELLIPSIS | DT_NOPREFIX );
gr.GdiDrawText( artist1, h_font, h_color, h_x, h1_y, ww - h_x - t_margin, wh, DT_LEFT | DT_WORD_ELLIPSIS | DT_NOPREFIX );
// artist = Eval("%artist%");
artist1 = Eval("%artist%");
MC Web:
- Код: Выделить всё
// artist = Eval("%artist%");
artist1 = Eval("%artist%");
artist = Eval("%artist%");
artist1 = Eval("%artist%");
vladj:Вопрос...а возможно-ли перенести в оперативу на этот виртуальный В:
папку LastFM_Pics в которую у нас картинки качаются-перезаписываются ?
К тому что предлагал есть небольшое дополнение. Сохранять картинки в папках с названием как это сделано в строке из скрипта biography 0.3 beta by Wilb. То есть папка с картинками, да и само название группы AC/DC пишется как AC-DC. Что это даёт, а даёт то что теперь для меню Display --> Front Cover и Artist не требуется никаких дополнительных условий для отображения картинок из tmp_Biography, фубар такую замену определяет по умолчанию.kgena_ua:А вообще нужно научиться определять кодировку и отказаться от return n.replace(/[^a-zA-Z0-9а-яА-Я..........
вернуть как было - это те кракозяблики виноваты - "3>@L !0@CE0=>2-"
function clean_name(n) {
if (!n) return;
return n.replace(/[\/\\|:]/g, "-").replace(/\*/g, "x").replace(/"/g, "''").replace(/[<>]/g, "_").replace(/\?/g, "").replace(/^\./, "_").replace(/\.+$/, "").substr(0,50);
}
С этой строкой и тегом "3>@L !0@CE0=>2-" при работе Biography Text & Album Info & Picture last.fm происходит ошибка.AHAPXICT:Вот сама строка:
- Код: Выделить всё
function clean_name(n) {
if (!n) return;
return n.replace(/[\/\\|:]/g, "-").replace(/\*/g, "x").replace(/"/g, "''").replace(/[<>]/g, "_").replace(/\?/g, "").replace(/^\./, "_").replace(/\.+$/, "").substr(0,50);
}
if (!n) return;
return n.replace(/[\/\:\*\?\"\<\>\|]/g,'').replace(/[^a-zA-Z0-9а-яА-Я丁-龻\s-&\ёЁ.,']/g,'').replace(/^\s+|\s+$/g,"").substr(0,200);
}
Норм! :)Вот сама строка:
В примере , что я давал ранее тег заполнен разными исполнителями через запятую ,А так же выяснил какая группа имеет самое длинное название
seriousstas, так, а я про что? Вот зачем ты мне это опять рассказываешь, если прямо тогда в причине и разобрались. У же не помню сколько символов было - 220? Ну ты понял, короче... это всё не важно.seriousstas:тег заполнен разными исполнителями через запятую
Вот теперь вопрос, нужен ли "реплис" замена вообще? //$if(%length%,,B:\Radio Logos\$replace(%title%,<,,>,,:,,",,/,,\,,|,,?,,-,, ,).*)AHAPXICT:то после переименования становилось таким AC-__DC, что опять же понимает фубар и прекрасно читает картинки по %artist% без каких либо дополнительных условий
я об этом (твою строку выше):Вот зачем ты мне это опять рассказываешь
Так что ограничение в 200 символов можно ограничить до 50
substr(0,50);
нужно не думать а пробовать , но проще убрать иксы и тире ,что об остальном думаешь?
Вернуться в Секреты foobar2000