demo program: Amarok Constraint Tree (for dynamic playlists)

Soren Harward stharward at gmail.com
Fri Aug 29 10:35:22 UTC 2008


On Thursday 28 August 2008 22:14:48 Daniel Jones wrote:
> My main concern in integrating this into the existing bias editor. We
> could turn the whole thing into a tree view, but I like the inline
> editing widgets. What are your thoughts on this?

We definitely need some kind of a tree view, because in this 

> With regard to smart playlists: Is there still a need for them? This
> won't work exactly like they did, but maybe we don't need it to.

I think we might be able to get away without them.  I, for one, never used 
Smart Playlists except as children of a Dynamic playlist.

> I'm also worried about your Constraint::compare function.
[...]
> Then, just sort of thinking out loud here, since using "match any"
> takes the max of the child constraints, it seems possible that there
> will be cases where the solver will always be working on one branch of
> tree.

These are some problems I haven't considered, and they illustrate exactly why 
it's a good idea to have your code peer-reviewed.  I have figured out a way 
to solve the compare function problem, so that will get implemented in the 
next revision.  The non-orthogonal constraints problem is a little trickier.  
The rigorous definitions of AND and OR for fuzzy logic are MAX and MIN 
respectively, so I am reluctant to throw them out.  But it seems that the 
groups need a way to determine if their immediate children are testing 
non-orthogonal conditions, and combine the satisfactions appropriately.  I 
shall ponder this problem.

-- 
Soren Harward
stharward at gmail.com



More information about the Amarok mailing list