INTERACT FORUM

Please login or register.

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

Author Topic: Smartlist based on Smartlist  (Read 3699 times)

GrantDG

  • World Citizen
  • ***
  • Posts: 199
Smartlist based on Smartlist
« on: July 22, 2014, 06:34:53 pm »

Background:
I have some general Smartlists which retrieve high rated tracks in certain categories. (e.g. 'Best Acid Jazz')
Based on these, I create some 100 limited, shuffled lists for the purpose of Phone sync (e.g. '100 Random Best Acid Jazz')

In the set up of the latter, I set a rule of: 'Playlists' / 'is any' / 'Smartlists\Best Acid Jazz'

On save, this [derived] smartlist works perfectly, but after some time (especially after a restart of JRiver), it starts retrieving completely random tracks. If I edit this derived list I see that the rule described above has changed to: 'Custom' / '[Playlist ID]=' (no value for Playlist ID)

Through some other work, I've come to get the impression that internal 'Playlist ID's are not constant, and may reset across a restart of JRiver.

My questions:

  • Are Playlists ID's indeed not constant
  • Is there a reliable way to reference another playlist in a playlist?
Logged
Looking to control J River Media Center from your Windows Phone?: Look for nMedium & nMedium Play in the WP store

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Smartlist based on Smartlist
« Reply #1 on: July 22, 2014, 07:32:28 pm »

I know what this is.  It is a bug, and can be a particularly nasty one (though it only impacts people in certain specific cases).

http://yabb.jriver.com/interact/index.php?topic=75183.0
http://yabb.jriver.com/interact/index.php?topic=89402.msg613844#msg613844
Logged
"Some cultures are defined by their relationship to cheese."

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

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42325
  • Shoes gone again!
Re: Smartlist based on Smartlist
« Reply #2 on: July 22, 2014, 08:49:34 pm »

Playlist id's are constant.
Logged
Matt Ashland, JRiver Media Center

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: Smartlist based on Smartlist
« Reply #3 on: July 23, 2014, 10:44:45 am »

On save, this [derived] smartlist works perfectly, but after some time (especially after a restart of JRiver), it starts retrieving completely random tracks. If I edit this derived list I see that the rule described above has changed to: 'Custom' / '[Playlist ID]=' (no value for Playlist ID)

I would love to get this bug fixed. It's been my number one issue with MC since Hendrik fixed the replaygain tags on conversion sync problem.
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42325
  • Shoes gone again!
Re: Smartlist based on Smartlist
« Reply #4 on: July 23, 2014, 11:32:13 am »

I'm not able to reproduce this.  Tips?
Logged
Matt Ashland, JRiver Media Center

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: Smartlist based on Smartlist
« Reply #5 on: July 23, 2014, 11:44:43 am »

I'm not able to reproduce this.  Tips?

Create a smartlist with a 'playlists is any' rule on the server while a library client is connected.

Sync changes with the server from the library client to pull in the new smartlist.

Edit the new smartlist on a library client. The 'playlists is any' rule will default to empty so the smartlist will actually show all files in the library. The sinister part is that it will also sync those changes to the server so you lose the rules that you set up (poof!).
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Smartlist based on Smartlist
« Reply #6 on: July 23, 2014, 12:10:32 pm »

You don't even need to edit the lists at all from the client.

Just creating, or modifying any Smartlist that includes a Playlist Is Any rule, in the server, while a client is connected, causes it.  So:

1. Open MC and connect to a Library Server.  Walk away from the PC.
2. On the Server, create a new Smartlist (or tweak an existing one) that includes a Playlist is Any rule.
3. Wait a few minutes for the next sync to happen automatically.  You might need to navigate away and back to the lists.
4. Smart lists will become broken.
Logged
"Some cultures are defined by their relationship to cheese."

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

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42325
  • Shoes gone again!
Re: Smartlist based on Smartlist
« Reply #7 on: July 23, 2014, 12:14:26 pm »

So it's only when syncing with Library Server?
Logged
Matt Ashland, JRiver Media Center

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Smartlist based on Smartlist
« Reply #8 on: July 23, 2014, 12:23:21 pm »

By the way... I've been meaning to write them up, but there are other reproducible client/server sync issues too.  I have another one that is 100% reproducible that can nuke your whole library.

1. Connect a client to a server.
2. Wait a while
3. Switch the server to a different Library that references completely different files, or is blank (forgetting that in another room the client is still open and connected).
4. Make some changes on either machine.  This can include if the client is just playing files (because the play counts incrementing will do it).
5. Switch the server back to the "real" library.
6. Wait a bit for sync.

That'll nuke your library pretty reliably.  The sync doesn't realize that the library has changed, and tries to merge the two dissimilar Libraries using only the deltas.  I've had it remove essentially all of my files.

Easy to do if you have a few HTPC clients that may or may not be left running all the time, and you have a secondary utility library you use on the Server.

Drove me nuts for a while till I figured out what was causing it.
Logged
"Some cultures are defined by their relationship to cheese."

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

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Smartlist based on Smartlist
« Reply #9 on: July 23, 2014, 12:24:24 pm »

So it's only when syncing with Library Server?

It happens when the client and server try to reconcile changes, yes.  It does not require a manual sync though. Just the auto modes will do it.
Logged
"Some cultures are defined by their relationship to cheese."

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

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: Smartlist based on Smartlist
« Reply #10 on: July 23, 2014, 12:37:58 pm »

By the way... I've been meaning to write them up, but there are other reproducible client/server sync issues too.  I have another one that is 100% reproducible that can nuke your whole library.

1. Connect a client to a server.
2. Wait a while
3. Switch the server to a different Library that references completely different files, or is blank (forgetting that in another room the client is still open and connected).
4. Make some changes on either machine.  This can include if the client is just playing files (because the play counts incrementing will do it).
5. Switch the server back to the "real" library.
6. Wait a bit for sync.

That's from memory on my phone.  If you have trouble reproducing this one, poke me and I'll do a better writeup with testing.  I can reliably reproduce it, via a variety of mechanisms.

The rub seems to be, with this one at least, that the Client has an "existing" connection and doesn't know that the Library on the server has changed.  It doesn't get booted off or anything, and "thinks" that the Server is still serving the same Library.  Then, it gets "changes" (which amount to a wholly different Library) and it obliterates itself.

Then, when you switch the Server back to the "real" Library, the Client tries to sync this broken thing back to the Server, which happily obliges, and nukes itself as well.

It is actually handy that the Clients keep working even if the connection to the Server is severed (so long as the media files are all still accessible locally, in fact, even playback keeps running).  But, when you manually switch Libraries on the Server, it needs to be able to tell the Clients to "stop syncing" somehow.  Or, they need to be able to detect that the name of the Library has changed, or something.

The only solution I've found is to shut down manually all connected clients before changing the active Library on the server.

For the Playlist thing, you just can't edit them or tweak any smartlists that involve Playlist Is Any rules while any Client is connected, or they break.  I'm pretty sure this latter thing relates to how Clients reconcile Playlist changes with the Server.
Logged
"Some cultures are defined by their relationship to cheese."

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

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2652
Re: Smartlist based on Smartlist
« Reply #11 on: August 25, 2014, 03:58:34 pm »

You don't even need to edit the lists at all from the client.

Just creating, or modifying any Smartlist that includes a Playlist Is Any rule, in the server, while a client is connected, causes it.  So:

1. Open MC and connect to a Library Server.  Walk away from the PC.
2. On the Server, create a new Smartlist (or tweak an existing one) that includes a Playlist is Any rule.
3. Wait a few minutes for the next sync to happen automatically.  You might need to navigate away and back to the lists.
4. Smart lists will become broken.

bump
Logged
Pages: [1]   Go Up