INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: nesting smartlists  (Read 3255 times)

ashbel

  • Guest
nesting smartlists
« on: November 22, 2011, 12:32:57 am »

Is there a way to make a smartlist that will shuffle within a sorted parameter?

e.g.

take everything that's not been played in the last x years
sort it by year
then shuffle within each year?

I don't seem to be able to wrap my head around how to construct such a smarlist if it can be done.
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: nesting smartlists
« Reply #1 on: November 22, 2011, 12:52:17 am »

I'm pretty sure there is a way to do it in a Smarlist, I'm not sure, but there is probably a better way...

Make it a View instead (under Audio in the tree instead of Smartlists).  Searches you add to new custom views can do everything Smartlists can do, but you can also use the Panes (or tiles or whatever) to filter them on the fly.

So, do this:

1. Make a new view.  ProTip: I have an "empty" view called "Mixes" under Audio in my tree, used like a folder (with Allow Tree Selection deselected), and then I put my fancy Smartlist mixes in there.

2. Add your Smarlist search with the shuffle to the Customize View -> Set rules for file display... dialog for your new view. ProTip: If you've already made a Smartlist that has basically what you want, you can copy and paste the rule using the import/export button in the Search dialog.

3. Add Year under the Show Categories part of the Customize View dialog.  You can even add a few more useful ones, like Genre and Artist so you can filter by those.

And there you go!  You have a smartlist that you can filter by year at any time on the fly.

Final ProTip: You can even make a Custom View that points to a Smartlist (or even manual playlist) as it's "source".  So, you could just keep your existing smarlist (assuming you have one), and then in step 2 above, add the rule: Playlists Is Any Your Smartlist instead of copy/pasting the rules over.  Any future changes you make to the Smartlist search automatically propagate to the View.

That's the way I do it now if I want one that I can use for things in MC like Syncing to a Handheld, which only work using an item under the "Playlist" part of the Tree.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.
Re: nesting smartlists
« Reply #2 on: November 22, 2011, 01:00:32 am »

Does this work for you?

[Media Type]=[Audio] [Last Played]=>1y ~sort=Random ~seq ~n=100 ~sort=[Date (year)]

The ~n=100 limits to 100 songs.   Remove the limit if you want.
Logged
The opinions I express represent my own folly.

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: nesting smartlists
« Reply #3 on: November 22, 2011, 01:04:54 am »

Does this work for you?

[Media Type]=[Audio] [Last Played]=>1y ~sort=Random ~seq ~n=100 ~sort=[Date (year)]

The ~n=1000 limits to 100 songs.   Remove the limit if you want.

It does for me.  I just tested it, and that seems to do exactly what he wanted in a Smartlist for me.

Hah.  Told ya there was probably a way.  ;)

I still think the View might be better for you, though.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

rick.ca

  • Citizen of the Universe
  • *****
  • Posts: 3729
Re: nesting smartlists
« Reply #4 on: November 22, 2011, 01:39:49 am »

Quote
I still think the View might be better for you, though.

There are a number of different ways a Panes View can handle a collection of such things. If you happen to have a collection of smartlists, or just like working with playlists generally, the easiest method is probably this: Continue to use the Playlists section to create and organize your playlists. Put or copy all the ones you might want to use in your Panes View (and this may be your main Audio view) in a separate Playlist Group. You may use any number of levels of groups you need to organize them. In the Panes View, add a Playlist Group pane pointing to this group. That will provide an instant menu to all your favourite playlists—in one pane. You can then use other panes to further filter the file list produced by any selected playlist.

If your main Audio view is a Panes View, and you tend to use panes for making selections more than you do playlists, you may prefer to avoid the Playlist section entirely. In that case, you would be better off using a Search List pane. There, you can directly add any number of search lists—which are essentially the same as smartlists.
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: nesting smartlists
« Reply #5 on: November 22, 2011, 01:47:45 am »

There are a number of different ways a Panes View can handle a collection of such things. If you happen to have a collection of smartlists, or just like working with playlists generally, the easiest method is probably this: Continue to use the Playlists section to create and organize your playlists. Put or copy all the ones you might want to use in your Panes View (and this may be your main Audio view) in a separate Playlist Group. You may use any number of levels of groups you need to organize them. In the Panes View, add a Playlist Group pane pointing to this group. That will provide an instant menu to all your favourite playlists—in one pane. You can then use other panes to further filter the file list produced by any selected playlist.

When I get around to it, this is exactly what I intend to do.  I figured it was a bit advanced answering a user with two posts, but yes... This is a cool idea, Rick.

I just reorganized my old Mix Smartlists as Views a long time ago, and just always use them there... So, even though I heard about this cool idea once or twice before elsewhere, I've been too lazy to switch back and use this method with all my smarlists over there instead.  If I ever wanted to use them for syncing, I suppose I would...

Also, just since you mentioned nesting in your original question, ashbel:  You can nest views, and have multiple levels of inherited rules from the upper level Views.  That's how "Audio" works to filter to only show Audio files, after all.  You can make your own.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

ashbel

  • Guest
Re: nesting smartlists
« Reply #6 on: November 22, 2011, 08:53:45 am »

Does this work for you?

[Media Type]=[Audio] [Last Played]=>1y ~sort=Random ~seq ~n=100 ~sort=[Date (year)]

The ~n=100 limits to 100 songs.   Remove the limit if you want.

No, this didn't work for me, exactly.  I modified it to:

[Media Type]=[Audio] [Last Played]=>1y ~sort=Random ~seq ~sort=[Year] ~seq


and that worked.  I had to put the Year sort in with the dialogue boxes -- it wouldn't take typing it manually.  I was neglecting the ~seq because I don't understand precisely what it does and why it's required in this instance.  

That was the easy one.  Now for the tough one, the one that I don't know can be done:

As I move forward into the present and my tastes have followed from progressive rock into dance music (which I hear as very nearly the same thing), I find my jukebox is loaded with what used to be CD5s -- albums with several mixes of the same song, sometimes up to two and a half hours.

e.g.  Song Title (Mix Title)

Is there a way to display only those albums where the song title is repeated within the album regardless of the mix title but the song title string is variable?  The idea is to make two separate playlists -- one where those types of albums are shuffled, so I hear various mixes of the song over time, and not the same song for an hour or two; and another one that will catch the mix albums and VA albums for another album oriented smart list?  I'm trying to do it without adding a descriptor in another field because I've gotten several thousand of these over the past 20-odd years.
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: nesting smartlists
« Reply #7 on: November 22, 2011, 01:47:11 pm »

You could probably do it with a RegEx in an Expression, if they are all labeled with the [Name] tag in the format XXX (xxx)

(Where XXX = Song Title, and xxx = mix name.)

You'll probably want help from MrC if you can't figure the RegEx stuff out yourself, though.  What I'm thinking is you make a new Calculated Library Field, called IsMix or something, with an expression that parses the [Name] field looking for that naming pattern, and spits out 0 or 1 for false/true.

Then, you can use that field in your Smartlist search to decide what to do.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.
Re: nesting smartlists
« Reply #8 on: November 22, 2011, 02:05:26 pm »

Try creating an expression pane column, that is the following:

  if(Regex([name],/#^(.+) \((.+)\)$#/), [R1]\[R2], [name])&datatype=[list]

This will create a list of Song Title's, each with a possible sublist of Mix names.

This should give you the idea how to break out the Song Title and Mix Title.
Logged
The opinions I express represent my own folly.

ashbel

  • Guest
Re: nesting smartlists
« Reply #9 on: November 22, 2011, 04:24:00 pm »

Okay, thanks ... this will help me break out those ones that have mix titles.   Some songs do not have mix titles, and these weren't caught by the algorithm.  Expanding them to albums would give me every album that has a song with a mix title or a parenthetical thought in the title.

Maybe I need another approach.  Here's the dilemma.  Please help me focus.

The types of albums that I have to separate are:

1. chart collections for a particular week  ("Various" although I'm considering changing album artist to "Charts")
     More than 100 tracks in the album, song titles are repeated.  Some do not have mix titles.
     Segues are never present
2.  what used to be "12-inch singles"
     Most have two separate mixes of the same song -- e.g. Song Title (Mix Title)
     Album artist names depend on presence of collaboration.  If not they're separated by alt-0183. 
     Two or three artists constitute a split, more a various.  A 4-track album with four different artists not collaborating would be a Various.
     In the digital age many of these have more than 20 mixes and run several hours in playtime if played in sequence.
     Segues are never present
3.  albums in the more-or-less rock music sense
     Sometimes these have "featuring" tracks that make the artist field unequal from the album artist field.
     Segues may be present.
4.  mix albums from CD
     these generally but not always have the DJ specified.  When not specified, I use "Various"
     DJ names are separated in album artist by alt-0183.  If more than three I split the album into separate CD's.
     Segues always present.
5.  curated discs
     Various albums that are partially mixed, partially unmixed.

The way download sites solve the problem of having the mix set nowadays is to offer all the tracks as separate songs, and then have three or four mixes, creating a giant Various album to go in category 3 that happen not to have segues.

I'm trying to have 1 & 2 in a shuffle list, and the rest in an album oriented list.

Suggestions on approach to the problem?

Logged

MrC

  • Citizen of the Universe
  • *****
  • Posts: 10462
  • Your life is short. Give me your money.
Re: nesting smartlists
« Reply #10 on: November 22, 2011, 04:46:57 pm »

You can remove the ELSE portion of the If() statement to not output a track name if it does not match the Title (Mix) format:

   if(Regex([name],/#^(.+) \((.+)\)$#/), [R1]\[R2], )&datatype=
    The expression was to show how to split the names apart.

    I'm not sure how to advise creating the views or lists for your 1 - 4.  The description seems conceptual, but might need refinement in order to turn it into something you can implement in MC.  For example, in your (2), is there some entity that can uniquely and reliably define what "used to be '12-inch singles'" ?  And (3) seems, from an algorithmic detection point of view, vague and ambiguous.  Etc...

    Probably you're going to want to properly update your tags with relevant genres, styles, keywords, etc. and use those to organize and group.
Logged
The opinions I express represent my own folly.
Pages: [1]   Go Up