Re: sorting and expressions. There is no UI to enter an expression directly into a sort area. Instead, create a user defined field, of type Calculated data, and enter the expression you want to use as the sort. Then, use this field as the sort field. Thus, you get what you want, but its one step indirect. In some areas, you have to first define a Preset that uses this field - then it becomes available throughout MC.
Oh boy, another new feature of MC I've never used before. Calculated data fields. I've been using this program for ~9 years and I am still finding new and cool things.
I think I am understand what you're saying here, just still trying to wrap my head around it. I have quite a few lists, more than just the two I have used an example so I could see this expression getting long and complicated.
Re: the new fields - you have it correct. Create one field per list you want to track.
Easy enough and sounds logical.
Re: displaying tracks with non-empty values. You might want to group your tracks in a view as:
Unranked [Pitchfork Top 20 of 200] [Rolling Stone's 100 Best of 2000]
where under Unranked, you list only the tracks that are not ranked in either. The rule for this would be that a file has no value for either of the two other fields.
Starting to lose me here. Why would I want to display tracks that are unranked?
Under the Pitchfork list, you might list only tracks that have a ranking. Likewise the Rolling Stone's list. This is just one method. If this were a panes view, you could also add Album and Artist columns, and select the list you were interested in, and see the order list of albums (or tracks). In a Categories or Theater View, you'd drill down to see the contents.
Again, you're confusing me here. you said "you might list only tracks that have a ranking" I will always only want to list the tracks that are ranked. The whole point is to make a list of albums that are ranked. Maybe I am not understanding what you are trying to say here.
Switching on the lists would be an expression such as:
ifelse(!isempty([Rolling Stone's 100 Best of 2000,0]), Rolling Stone's 100 Best of 2000);/
ifelse(!isempty([Pitchfork Top 20 of 2001,0]), Pitchfork Top 20 of 2001)&datatype=
which you can enter in any view as a category of type expression. See the screenshot example.
What do you mean by switching on the lists? I did some quick fooling around with the expression you supplied but I couldn't make it work in anyway that was meaningful. I still want to fool around with it some more to see if I can make sense of it, but as of right now it's doing strange things.
This is a screen shot of the lists that I have created, so far, in Theater View
Now it sounds like the best course of action would be to make a new field with a name that corresponds to the name of the music collection. So if I have a collection called "Pitchfork Top 50 of 2005" I should make a new field called "Pitchfork Top 50 of 2005" make this new field an integer field and enter the corresponding ranking number for that album into this field. Do the same thing for every music collection.
Then I will want to make a new user defined field, of the type Calculated data. The expression for this field would then say something to the effect of
if music collection = Pitchfork Top 50 of 2005 then sort by Pitchfork Top 50 of 2005
if music collection = Pitchfork Top 50 of 2006 then sort by Pitchfork Top 50 of 2006
if music collection = Pitchfork Top 50 of 2007 then sort by Pitchfork Top 50 of 2007
etc. etc.
Am I barking up the right tree here?
Thanks for the help so far MrC