Greater than 30 months

212 views
Skip to first unread message

Daniel Faigin

unread,
Feb 15, 2021, 11:40:30 PM2/15/21
to Rocket Player
I just synced my iTunes library to my phone/Rocket Player.

In my iTunes library, I have a playlist that has the rule
Last Plays is not in the last 30 months.
In my Rocket Player smart playlists, I have the rule
Last Played Greater Than 30 months

I thought the two were equivalent. But the iTunes playlist is empty, and the Rocket Player playlist is not, so there is something different in the calculation. Can you please explain? Is there a way to make them the same?

Daniel

Julian Wattam

unread,
Feb 18, 2021, 2:13:23 AM2/18/21
to Rocket Player
It's probably a difference in days calculated - can you set the criteria in days instead of months to be sure both are working to the same restriction?

I've never tested that the 'last played' field in iTunes correctly arrives in Rocket Player - if it has failed to transfer then that explains why RP gives you a playlist perhaps.

I only ever created smart playlists in iTunes, and then sync'd them to my phone. I'm not sure why you'd have both devices doing the same job. That's just asking for trouble. :\

Daniel Faigin

unread,
Feb 18, 2021, 8:43:52 AM2/18/21
to Rocket Player
I would think the first being different would be a bug in Rocket Player. Although I could make the days the same, having the same number of months in both should give the same result.

It does appear that a last played date transfers; I haven't checked the correctness. However, if it isn't the same, that would be a bug in iSyncr.

Daniel

Julian Wattam

unread,
Feb 18, 2021, 12:00:59 PM2/18/21
to Rocket Player
I'd try using days instead of months just to prove that both iTunes and RP can produce the same result. They are both working on their own database, and while iSyncr does a pretty good job of sync'ing the two databases, I've seen it fail to update the "last played" field back into iTunes, although your experience sounds like the problem might be going the other way. Apple didn't build their app to be compatible with Android so as good as iSyncr is, it's probably never going to be 100%.

If you still get differences in the two smart playlists, why not compare the "last played" date on a sample of tracks - you'll soon establish if it's a difference between the two databases or a difference in the definition of 30 months.

Daniel Faigin

unread,
Feb 18, 2021, 12:11:53 PM2/18/21
to Rocket Player
The point is that they should be the same: If the "months" calculation is different, then Rocket Player probably needs to fix their calculation of months (because Apple isn't changing theirs). If "not within the last" is being interpreted differently than "greater than", then the meanings need to be made congruent.

As for the date fields: If iSyncr is advertising itself as syncing with iTunes, then that means the dates need to be as close to the same in both as possible.

These needs to be investigated by the iSyncr/Rocket Player team, and corrected where necessary.

Chiara Whiting

unread,
Feb 18, 2021, 12:33:13 PM2/18/21
to Rocket Player
My two cents: Syncing large iTunes playlists with iSyncr can be slow, so creating live lists in Rocket Player with similar criteria wherever possible saves time. It takes me 25+ minutes to sync 94 playlists by wifi. A smart playlist with 4000 tracks takes ~40 seconds to sync. Granted, I have a large-ish iTunes library (206 GB of music) and my laptop is 8 years old, so that might be part of the problem.

On Wednesday, February 17, 2021 at 11:13:23 PM UTC-8 jpwa...@gmail.com wrote:

Chiara Whiting

unread,
Feb 18, 2021, 12:44:33 PM2/18/21
to Rocket Player
Hi Daniel. Agreed that the results should be similar in your Rocket Player live list and iTunes smart playlist, though they might not be identical. iSyncr is supposed to be compatible with iTunes, but Rocket Player is a general-purpose media player, so it may have a slightly different approach to date calculations. For instance, does 30 months mean 30 x 30 = 900 days? 30 x 31 = 930 days? Etc. But the difference should be small.

I tested your scenario on my phone. I created a smart playlist in iTunes with 2 rules:
"Last Played / is not in the last / 30 months"
"Media Kind / is / Music" (to exclude videos, podcasts, etc.)
I checked "Match only checked items" (because I don't sync unchecked songs with iSyncr) and "Live updating."

Then I created a Rocket Player live list with 2 rules:
"Last Played / older than / 30 months"
"Folders / contains / syncr" (to make sure only songs synced by iSyncr were included)
I checked "Rule Required" on both rules and set the list limit to 50,000.

The iTunes smart playlist returned 22,126 tracks. The Rocket Player live list returned 21,680 tracks. The difference of 446 tracks is only 2% of the list total, so I assume it's just due to calculation differences.

How many songs are showing up on your Rocket Player live list? If it's a small number, it could be due to calculation differences. But if you're seeing radically different numbers of songs, here are some ideas:

1. Make sure your Rocket Player live list is only including songs from your iSyncr folder. You can add a "Folders" rule to the list that specifies a folder name. My iSyncr folder is named "syncr," which I think is the default. Also make sure to check "Rule Required" on both rules in your live list. Does that change the results?

2. Make sure your iTunes smart playlist is updating. Right-click on the list in iTunes, go to Edit Playlist, and make sure "Live updating" is checked. If you do sync unchecked songs with iSyncr, then make sure "Match only checked items" is unchecked. Does the iTunes list return tracks now?

3. In your iTunes library, go to the main music view and sort by the Last Played column. How many songs have a last played date that is either blank or older than 30 months? Is it roughly the same as what you're seeing in Rocket Player?

4. Spot check the dates of a few songs showing up on your Rocket Player live list. Long-press a song on the list, select Get Info, and scroll down to Last Played. Is the date older than 30 months? (This includes songs where the last played date is blank.) Compare this date with the last played date for the song in iTunes. Are they the same? If they are not the same, it suggests an issue with the iSyncr sync--the metadata for your songs didn't transfer correctly. Did the other metadata for the songs, like artist/title/genre, transfer correctly? If the dates are the same, it suggests an issue with Rocket Player itself.

P.S. I'm an iSyncr/Rocket Player user, not an employee. These are just my inexpert suggestions. But I'd be interested to see what results you get!

Daniel Faigin

unread,
Feb 18, 2021, 12:45:22 PM2/18/21
to Rocket Player
Syncing takes an incredible amount of time (20-30 minutes for my 49,2xx song library, plus another hour for the media library rebuild from iSyncr, and then another hour for Rocket Player to find new songs. I don't even bother to sync my smart playlists: I just build the closest recreation (which is hard because not all predicates are present in Rocket Player -- notably comparison based on rating or track length, plus there is no parenthetical grouping in live lists). For comparison, iTunes synching with my IPod takes perhaps 5 minutes.

I just would like the live list playlists to behave the same as their smart playlist equivalents. 

Daniel

Daniel Faigin

unread,
Feb 18, 2021, 12:52:34 PM2/18/21
to Rocket Player
> 1. Make sure your Rocket Player live list is only including songs from your iSyncr folder. ...

I don't have any other music on my phone other than what is brought down from iSyncr. Such music would show up in my play count based lists, which agree exactly.


> 2. Make sure your iTunes smart playlist is updating. 

All of my iTunes playlists are live updating (and I clear to zero the date based playlist every day). I don't sync the smart playlists themselves to the phone. I sync all music, and construct equivalent live lists.


> 3. In your iTunes library, go to the main music view and sort by the Last Played column. How many songs have a last played date that is either blank or older than 30 months? Is it roughly the same as what you're seeing in Rocket Player?

As noted, I empty that older than 30 months playlist every day, and that play list excludes tracks with a play count equal to zero (which should be the equivalent of an empty last played date).


> 4. Spot check the dates of a few songs showing up on your Rocket Player live list. 

I haven't done this, but I'd expect them to do it as part of investigating the bug report. My primary avenue of listening is my iPod Classic, as syncing to the phone takes so long. But the phone should be equivalent, and my guess is an error in the date calculation of how they determine months. That's an easily correctible error. One could be assuming a fixed number of days in a month and translating everything into days; the other could just be changing the month field, and then calculating the final results.

Chiara Whiting

unread,
Feb 18, 2021, 1:14:31 PM2/18/21
to Rocket Player
> All of my iTunes playlists are live updating (and I clear to zero the date based playlist every day). I don't sync the smart playlists themselves to the phone. I sync all music, and construct equivalent live lists.
Gotcha. I was just thinking that if the iTunes list wasn't live updating, it might falsely appear to be empty. But since it is live updating, that isn't the issue.


> As noted, I empty that older than 30 months playlist every day, and that play list excludes tracks with a play count equal to zero (which should be the equivalent of an empty last played date).
Does your Rocket Player live list also include the rule that the play count is larger than 0? Both Rocket Player and iTunes seem to consider a blank last played date to be older than 30 months. For me, if I add "play count > 0" as a rule in both iTunes and RP, I get 7678 tracks in iTunes and 7584 in RP. I've also noticed that play count and last played date don't completely correspond in iTunes. A small number of songs have a nonzero play count but a blank last played date, or a zero play count and a non-blank last played date.

Daniel Faigin

unread,
Feb 18, 2021, 1:24:00 PM2/18/21
to Rocket Player
> Does your Rocket Player live list also include the rule that the play count is larger than 0? 

Always. The only music live playlist that doesn't do this is the one for unplayed songs (and that is only songs with play count == 0). Every other music live playlist (as well as my podcast live playlists) have play count > 0.. So that list in question is:

Last played older than 30 months
AND Genre does not contain Podcast
AND Genre does not contain Stand-Up Comedy
AND Genre does not contain Bonus - Interview
AND Playcount is greater 0

I also have playlists for unplayed, playcount between 1-5, playcount between 1-10, and playcount over 11, plus podcasts by date. On my iPod, I also have a podcast under 45 minutes and a long podcast playlist, but there's no way to do that on RocketPlayer.


(On iTunes, there is also a rating is 0 stars or 5 stars, but there's no way to do that in Rocket Player. I use 1 to 4 stars to indicate tracks I need to fix in some way)

Julian Wattam

unread,
Feb 18, 2021, 1:32:58 PM2/18/21
to Rocket Player
You originally said that your iTunes smart playlist is empty while your Rocket Player live list is not, so it would be easy for you to look at a few of the items in the RP query and figure out for sure why iTunes isn't showing them. JRT can't do that for you, and you need to give them something to go on. You can demonstrate that the date selection in RP is wrong, or you might find that one of the other criteria in either query is the culprit. It's a process of elimination until you're certain that the only differences remaining are the fault of Rocket Player. 

Daniel Faigin

unread,
Feb 18, 2021, 1:46:22 PM2/18/21
to Rocket Player
Who has the responsibility to debug the software? The software author, or the software user? I've been developing software, or working in the software field, since the mid 1970s. The author should be doing the testing.

But picking one or two songs at random that show up on today's list, they have the same last played date on both iTunes and Rocket Player. The most likely culprit is calculating "months" differently, as other date fields are coming through correctly, and the few spot checks shows that transfer of the date is not the problem.

Further, you are presuming that I didn't eliminate the other predicates from being the problem. I did, before I raised the issue.



Daniel Faigin

unread,
Feb 18, 2021, 1:53:20 PM2/18/21
to Rocket Player
Further: On today's playlist, which on iTunes is including songs dated 8/20/2018 or earlier, Rocket Player has a song with a last played date of 9/2/2018. That last played date is the same on both iTunes and Rocket Player. The month calculation is different.

Daniel Faigin

unread,
Feb 18, 2021, 1:54:37 PM2/18/21
to Rocket Player
8/20/2018 or earlier means dates up to and including 8/20/2018, but not after. Just thought I would clarify.

Julian Wattam

unread,
Feb 18, 2021, 2:11:02 PM2/18/21
to Rocket Player
It's difficult to debug without being sure of the fault, and that comes from data you hold and that JRT can't access. Anyway, it now seems clear that there is definitely an issue with date calculation. It's interesting that even iTunes doesn't actually do 30 months - it's showing you items that shouldn't appear for another couple of days yet! Ok, so Rocket Player is showing you items that aren't due to appear for a couple of weeks - now that is odd! JRT definitely need to look at their calculation method, as it's programmatically quite easy to add 30 to the current month. Tell Apple that too...

Personally I'd either ignore the inconsistency (now that I understand it is only date calculations and other possibilities have been eliminated) or switch to days instead of months (to eliminate the problem myself) in my queries on both apps. JRT is just two people I think, and tweaking for an irritation like this will probably take some time, especially if it's possible for users to do a workaround.

caro...@jrtstudio.com

unread,
Mar 10, 2021, 4:51:32 PM3/10/21
to Rocket Player
Hi Guys,

So sorry for the extremely late response. We had some extreme weather a few weeks back in Texas and it has been hard getting caught back up.
I did go through and compare the Live Lists vs Smart Playlist and you are right, we are off by a few days. From what I can tell, iTunes counts it back by actual months and makes it the same day of that month.
On the other hand, we calculate by day and I believe we are making an assumption of months being 30 days on average. So that's where the differences appear to be coming in.
We can poke around a bit and see if it would be an easy change for us but as was mentioned, we are just a 2 person team so we have to weigh making a change with the potential that we introduce another issue.

Justin and I will look and see if this is an easy change or if it has a bit more risk than expected.

Thanks
Caroline
Reply all
Reply to author
Forward
0 new messages