thanks for the encouragement!
looking at how i coded the 'use keywords' options along with 'use ID limits' sub-option, it seems a poor choice really. this is how it all works together:
[x] Use Keywords
(x) Use ID Limits
This basically does nothing, what happens is this:
the song is really only added so long as it passes the ID check. because, after all, we're not using keywords exclusively.
what would make more sense is that if the non-exclusive keyword option is checked, only allow it to be used with the 'Ignore ID Limits' sub-option. because what will happen then will say: if the song meets keyword criteria, just add it and forego the ID check. otherwise, there's no real point in having it check a keyword if it's gonna be allowed by the ID check anyway. it's just logical. so i'll make this change.
in case i'm rambling a bit and this isn't making any sense, let me provide a little flow picture for you.
again, using these options:
[x] Use Keywords
(x) Use ID Limits
and the song 'cowboy junkies - sweet jane' is in your must have list.
as long as the song fits these criteria:
(min/max duration)[if used]
(year range)[if used]
(genre)[if used]
(redundancy)[if used AND happened to be picked in the artist limiting round]
(and of course the time limit for the list itself)[if used]
this song would be allowed without regard to any defined keyword.
using the same options above AND the song is NOT in the must have list BUT it was randomly picked by the process, the song would still be allowed without regard to any defined keyword. because, again, as long as it's meeting ID criteria (genre, year, etc) it'll be allowed.
to recap, i'm going to make the sub-options greyed and only select ignore ID limits when using non-exclusive keywords because there's no real point to using non-exclusive keywords with the 'use ID limits' option enabled.
now, if after i do this and items in your must have list are not being added, then there must be a further problem. the only condition that must-have items are not included in the list are when using redundancy limits and using exclusive keywords. the rest of the ID limits should be ignored.