INTERACT FORUM

Please login or register.

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

Author Topic: Smartlist Question - "Last imported albums" [Repost]  (Read 2136 times)

ADDiCT

  • Regular Member
  • World Citizen
  • ***
  • Posts: 235
  • I'm a bad llama!
Smartlist Question - "Last imported albums" [Repost]
« on: July 07, 2008, 12:59:21 pm »

My original post got moved to the " iPod, mobile phones, and other portable devices" for reasons beyond my comprehension, so here's a slightly modified repost with additional information.

I'm trying to accomplish something quite specific in MC, with the help of a number of smartlists. The smartlists i already have are working quite well, but i'm running into performance problems because of the complexity of the "smartlist framework", so i'm asking myself (and now, other Interact members (; ) if there's a more elegant solution.

First, a description of what i want to do:
For my iPod collection, i want to have smartlists of the last x imported albums, where at least one of the album's tracks has not been rated yet. I want one smartlist per album. I want about 25-30 of these smartlists.

Short description of my current solution:
I have one "master smartlist" with the following parameters:
Code: [Select]
[Media Type]=[Audio] -[Genre]=[Audiobook],[Comedy],[Computer],[Podcast] [Rating]=0 -[_ipod_exclude]=1 -[_ipod_exclude_auto]=1 ~sort=[Date Imported]-d ~nodup=[Album] ~n=20This gives me a list of single tracks as per my specifications.

Then i have 25 smartlists with something like:
Code: [Select]
playlistid==87289916 -playlistid==1047211171 ~sort=[Date Imported]-d ~n=1 ~aThese give me complete albums, based on the single tracks from the "master smartlist". Of course, the more smartlists i have, the more of the "previous" smartlists i have to exclude, in order to get a "new" album with every smartlist. This makes the "later" smartlists, where i have to exclude a lot of other smartlists, quite slow.

Now, my question is: is there a more elegant way to achieve what i want, without the excessive use of excluded smartlists? I think one solution would be to point the smartlists to specific tracks in the master smartlist (like "track #1 of smartlist xxx" or "track #5 of smartlist xxx"), but i have no idea how to do that.

MORE INFO: I've had some limited success with this type of smartlist:
Code: [Select]
playlistid==87289916 [=isequal(Counter(1,1),20,2)]=1 ~aThis code is super-fast, but i don't understand on which basis one of the tracks from the "master smartlist" is selected by the parameter that's "20" in this example. I can't recognize a pattern by which the track is selected. Looking at the sequence of tracks in the "master smartlist", it's certainly not number 20. No matter what type of sorting is applied to the "master smartlist", i keep on getting the same result with each number, until i import more albums. This could even be a bug in the query engine, because there's no logical basis i can see for the track that's selected. When i look at the "master smartlist", the parameter "1" should select the first entry of the "master smartlist", parameter "2" the second one, and so on.
Logged

JONCAT

  • Guest
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #1 on: July 07, 2008, 07:16:56 pm »

I'm not a smartlist guru, but hopefully one of them can chime in and help you out.

Have you checked the Wiki for anything that might spur a new idea?

good luck,

DC
Logged

ADDiCT

  • Regular Member
  • World Citizen
  • ***
  • Posts: 235
  • I'm a bad llama!
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #2 on: July 08, 2008, 01:28:47 am »

Have you checked the Wiki for anything that might spur a new idea?
Yeah, that's where i got the idea with the "counter" function from. If only that function would work as expected... I fiddled a lot with it, trying to understand the pattern by which tracks get selected from the "master smartlist", but i didn't have much success so far.
Logged

hit_ny

  • Citizen of the Universe
  • *****
  • Posts: 3310
  • nothing more to say...
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #3 on: July 08, 2008, 02:45:48 am »

First, a description of what i want to do:
For my iPod collection, i want to have smartlists of the last x imported albums, where at least one of the album's tracks has not been rated yet. I want one smartlist per album. I want about 25-30 of these smartlists.

Not understanding the reason for this smartlist/album ?
Logged

ADDiCT

  • Regular Member
  • World Citizen
  • ***
  • Posts: 235
  • I'm a bad llama!
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #4 on: July 08, 2008, 04:02:00 am »

Hehehe... It's quite easy. For a certain mobile device, which holds 160GB (which is a lot of albums), i want a way of identifying recently imported (and not yet fully rated) albums. The built-in navigation is not sufficient for that. I already have one smartlist with all these albums in it (that was easy to do), but when browsing this list on the device i don't see where one album ends and the next one starts.
Logged

hit_ny

  • Citizen of the Universe
  • *****
  • Posts: 3310
  • nothing more to say...
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #5 on: July 08, 2008, 12:03:28 pm »

So isn't it more 25-30 playlists you want then ?
Logged

ADDiCT

  • Regular Member
  • World Citizen
  • ***
  • Posts: 235
  • I'm a bad llama!
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #6 on: July 08, 2008, 12:25:15 pm »

Smartlist in MC = Playlist on the iPod. But the iPod side is irrelevant - if i get the smartlists working in MC, everything's all right for me. My problem is basically connected to MC's smartlist/query engine.

Anyway, i found out some additional stuff: I fiddled with the "sequence" modifier, and it seems that the track that is picked from my "master smartlist" (see posts above) with the "[=isequal(Counter(1,1),<number>,2)]=1" function is based on the sequence value of the track in the "master smartlist". The strange thing is: no matter how i change the "master smartlist" with the "~seq" modifier, i always get the same track for any given value of the "<number>" value in the above example. I think this could be a bug in MC's smartlist engine - MC seems to ignore a modified sequence in the "master smartlist". It's as if the smartlist is always sorted by the original sequence (whatever this sequence may be based upon) internally, so the "Counter" function will always pick up the same track. The fact that the sequence modifier is not documented anywhere (i've searched the forum, the wiki, and MC's help) doesn't make solving this mystery any easier. (;
Logged

marko

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8959
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #7 on: July 08, 2008, 12:55:27 pm »

counter() is an expression tool that can be used to apply numbers to a sequence of selected files.
It cannot be used to actually count through a list of files and target specific list entries.

counter() keeps on counting forever, until 5 seconds pass without it being used.
Try loading one of those counter() smartlists, then hit the refresh button a few times in quick succession.

To really see what I'm on about, add an expression column to a view using simply counter() as the expression value.
When you click OK, you'll see a neatly numbered column.
Now run your mouse over the file list...
play with it til you get bored, then remove the useless column.

You're having to do so much work maintaining the smartlists anyway, I think that hit_ny's suggestion is probably the best you're going to get.
You can create a view scheme that shows the files in the master smartlist which would allow you to select single albums, and you can open playlists for editing in the action window.

Just drag and drop from view scheme to action window to add the album to the loaded playlist.
Delete the current contents from the action window first if recycling a playlist.

This approach would be quicker and easier, surely?

-marko.

ADDiCT

  • Regular Member
  • World Citizen
  • ***
  • Posts: 235
  • I'm a bad llama!
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #8 on: July 08, 2008, 01:27:08 pm »

Hey marko, i had hoped you'd chime in to this. (;

The funny thing is that the "Counter" function does exactly what i need, even though it may originally have been implemented for another purpose. I know about the "refresh" problem, but that doesn't seem to apply when exporting playlists, or synching the iPod (i've tested both, and didn't encounter any empty playlists). If only the sequencing would work as i think it should work, i'd be happy.

The reason why i want to use the smartlist-solution is that i want the whole thing to be dynamic. I want to import and tag my files in MC, and then have the new albums, neatly seperated into different smartlists called "Recently Imported <x>", on the iPod after synching. I don't want to manually create playlists. Once i have created all smartlists, i don't have to touch these smartlists again - they will simply give me the albums i want, without any additional intervention. I'm sure you can see the advantages of this method.
Logged

gappie

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 4566
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #9 on: July 08, 2008, 05:53:17 pm »

how about making a smartlist with your restrictions but with only one song per album using limit (advanced)=-1,1,[album],[album artist (auto)]
this should give you a list of tracks from albums where at least one song is not rated.

now make a smartlist pointing to that smartlist make a sorting by dateimported from z-a.
make a limit advanced = 1,1,[album],[album artist (auto)]
(note the difference with the previous limit 1 not -1)
and add expand to full album
this is list one

make an other smart list
now make a smartlist pointing to the same first smartlist, make a sorting by dateimported from z-a.
make the limit advanced after the sorting = 2,1,[album],[album artist (auto)]
add an other sorting date imported a-z (so the other way around)
limit advanced = 1,1,[album],[album artist (auto)]
expand to full album
this is list 2

now copy list 2 make it list 3 and only change the first limit advanced from = 2,1,[album],[album artist (auto)] to = 3,1,[album],[album artist (auto)]

for list 4 change to = 4,1,[album],[album artist (auto)]

etc...

just an idea. :P
gone take an other whiskye.

 :)
gab

Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 71469
  • Where did I put my teeth?
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #10 on: July 08, 2008, 06:47:52 pm »

gone take an other whiskye.
Be careful.  Look out for the canal.
Logged

ADDiCT

  • Regular Member
  • World Citizen
  • ***
  • Posts: 235
  • I'm a bad llama!
Re: Smartlist Question - "Last imported albums" [Repost]
« Reply #11 on: July 08, 2008, 09:32:25 pm »

Cheers gappie, you definitely deserve that whiskey! Your smartlists do exactly what i need, and they are _much_ faster than my solution with the excluded smartlists. Thanks a lot for this! It's a solution i'd never come up with myself. The only microscopic drawback is that the smartlist editor fills up nearly the whole screen with a 1024x768 resolution, but i can easily live with that. (;

Still wondering what that "~seq" modifier does exactly, though...

EDIT: after some testing, i found out that the new smartlists do not work correctly when more than one album has the same "Date Imported" value. But this can be worked around easily by adding a second sort criterium to both sorting functions. Nifty, eh? (;

To give you an idea of the speed advantage of the "Gappie Solution" vs. my old solution with the excluded smartlists: for smartlist #20, which had 19 excluded smartlists previously, i had to wait ~10 seconds after a click until the tracks were displayed. During that time, MC's CPU usage was close to 100%. Now, the waiting time is < 1 second.
Logged
Pages: [1]   Go Up