Here's a script for JScript Panel that generates a static playlist containing albums with no plays. Customise the fields at the beginning to suit. It might work with SMP but not tested. just remembered it won't work with SMP
It's a plain white panel and you double click to execute the code. Obviously it's just an example of what is possible, not meant for full time usage.
var group_by = "%album artist%|%album%|%date%";
var filter_by = "album PRESENT";
var playcount = "$if2(%last_played_enhanced%,0)"; // must evaluate to zero for unplayed tracks
///////////////////////////////////
var tfo = {
group_by : fb.TitleFormat(group_by),
order_by : fb.TitleFormat(group_by + "|%discnumber%|%tracknumber%"),
playcount : fb.TitleFormat(playcount),
}
function on_mouse_lbtn_dblclk() {
var items = fb.GetQueryItems(fb.GetLibraryItems(), filter_by);
items.OrderByFormat(tfo.order_by, 1);
var album_list = fb.CreateHandleList();
var to_add = fb.CreateHandleList();
var current = "";
var good = true;
for (var i = 0; i < items.Count; i++) {
var item = items.Item(i);
var tmp = tfo.group_by.EvalWithMetadb(item);
if (tmp != current) {
if (good && album_list.Count) {
to_add.AddRange(album_list);
}
album_list.RemoveAll();
good = tfo.playcount.EvalWithMetadb(item) == 0;
if (good) album_list.Add(item);
current = tmp;
} else {
if (tfo.playcount.EvalWithMetadb(item) == 0) {
if (good) album_list.Add(item);
} else {
if (album_list.Count) album_list.RemoveAll();
good = false;
}
}
}
if (to_add.Count) {
var p = plman.CreatePlaylist(plman.PlaylistCount, "Albums with no plays");
plman.ActivePlaylist = p;
plman.InsertPlaylistItems(p, 0, to_add);
}
}