It appears that this edit results in a crash in the similar artist panel if %artist% is Hidekuni Horita. As long as a letter is changed everything is fine and other metadata doesn't seem to contribute. It also works fine with the unedited list.js. Not really sure why.
JScript Panel (Last.fm Similar Artists / User Charts by marc2003)
JavaScript runtime error:
File: foobar2000\user-components\foo_jscript_panel\samples\complete\js\list.js
Line: 427, Col: 9
<source text only available at compile time>
// ==PREPROCESSOR==
// @name "Last.fm Similar Artists / User Charts"
// @author "marc2003"
// @import "%fb2k_component_path%samples\complete\js\lodash.min.js"
// @import "%fb2k_component_path%samples\complete\js\helpers.js"
// @import "%fb2k_component_path%samples\complete\js\panel.js"
// @import "%fb2k_component_path%samples\complete\js\list.js"
// @import "%fb2k_component_path%samples\complete\js\lastfm.js"
// ==/PREPROCESSOR==
// Requires the "Guifx v2 Transports.ttf" font which can be downloaded from
// http://blog.guifx.com/2009/04/02/guifx-v2-transport-font/
var panel = new _.panel('Last.fm Similar Artists / User Charts', ['metadb']);
panel.fonts.normal = _.gdiFont("Segoe UI", 8, 0); // 12 size, 0 style
panel.row_height = panel.fonts.normal.Height;
var lastfm = new _.lastfm();
var list = new _.list('lastfm_info', LM, TM-36, 0, 0);
panel.item_focus_change();
function on_notify_data(name, data) {
lastfm.notify_data(name, data);
}
function on_size() {
panel.size();
list.w = panel.w - (LM * 2);
list.h = panel.h - TM+60;
list.size();
}
function on_paint(gr) {
panel.paint(gr);
//gr.FillSolidRect(0, 0, panel.w, TM, panel.colours.header);
//gr.GdiDrawText(list.header_text(), panel.fonts.title, panel.colours.highlight, LM, 0, panel.w - (LM * 2), TM, LEFT);
list.paint(gr);
}
function on_metadb_changed() {
list.metadb_changed();
}
function on_mouse_wheel(s) {
list.wheel(s);
}
function on_mouse_move(x, y) {
list.move(x, y);
}
function on_mouse_lbtn_up(x, y) {
list.lbtn_up(x, y);
}
function on_key_down(k) {
list.key_down(k);
}
function on_mouse_rbtn_up(x, y) {
return panel.rbtn_up(x, y, list);
}
function on_mouse_lbtn_dblclk() {
if (list.lastfm_mode != 0 || list.items == 0)
return;
var tags = _(list.data)
.take(5)
.map('name')
.value()
.join(';');
var tag_name = 'similar artists';
panel.metadb.UpdateFileInfoSimple(tag_name, tags, tag_name);
}