It is a JScript Panel 3 Script:
//flag by grimes
//fb2k v2+, JScript Panel 3+
//DUI/CUI ready
// ==PREPROCESSOR==
// @name "flag"
// @version "4"
// @author "grimes"
// ==/PREPROCESSOR==
var cfg_foobarpath = window.GetProperty("foobar path:", fb.Profilepath);
var cfg_flag = window.GetProperty("flag folder:", "flags");
var svg_file = cfg_foobarpath + cfg_flag + "\\noflag.svg";
var svg_content = utils.ReadUTF8(svg_file);
var dui = window.IsDefaultUI;
var original = utils.LoadSVG(svg_file);
function on_paint(gr) {
gr.FillRectangle(0, 0, window.Width, window.Height, dui == 1 ? window.GetColourDUI(1) : window.GetColourCUI(3));
if (original) {
var scale = 0;
var x = 0,
y = 0;
var scale_w = window.Width / original.Width;
var scale_h = window.Height / original.Height;
if (scale_w <= scale_h) {
scale = scale_w;
y = (window.Height - original.Height * scale) / 2;
} else {
scale = scale_h;
x = (window.Width - original.Width * scale) / 2;
}
gr.DrawImage(original, x, y, original.Width * scale, original.Height * scale, 0, 0, original.Width, original.Height);
}
}
function get_flag() {
country = fb.TitleFormat("%composer_nation%").Eval();
original = utils.LoadSVG(cfg_foobarpath + cfg_flag + "\\" + country + ".svg");
window.Repaint();
}
if(fb.IsPlaying || fb.IsPaused) {
get_flag();
}
else {
original = utils.LoadSVG(svg_file);
window.Repaint();
}
function on_playback_new_track() {
get_flag();
}
function on_playback_stop(reason) {
original = utils.LoadSVG(svg_file);
window.Repaint();
}
function on_colours_changed() {
original = utils.LoadSVG(svg_file);
window.Repaint();
}
function on_item_focus_change() {
if(!fb.IsPlaying) {
original = utils.LoadSVG(svg_file);
}
window.Repaint();
}
%composer_nation% has to be replaced by your country tag. Flags in svg-Format in attachment.