Comments
-
Greg Hurrell
Thanks for the report. I'm just going to see now if I can reproduce it.
-
Greg Hurrell
Ok, I can reproduce the flaw, and it looks like it is definitely a bug in iTunes itself.
Synergy doesn't make any distinction between songs playing from the library, playlists, or a Genius Mix. If you ask it to set the rating to 4 stars, for example, it uses AppleScript/Apple Events to ask iTunes to set the rating, and then it's up to iTunes to actually set it.
You can test this out yourself by opening the Script Editor:
-
it's
/Applications/AppleScript/Script Editor.app
on systems prior to Snow Leopard -
it's
/Applications/Utilities/AppleScript Editor.app
on Snow Leopard
And paste in and execute a test script like this one:
tell application "iTunes" to set rating of current track to 80
That would set the rating to 4 stars. Change the value for other star ratings; 0 for no stars, 20 for 1 star, 40 for 2 stars etc.
You can see that this works normally, but when running from a Genius Mix iTunes just ignores it.
So this is either a bug in iTunes, or perhaps they even designed it to work that way intentionally (ie. they consider that you are not actually listening to "a track" but rather "a mix" and you therefore can't actually rate it). Personally I'd argue that it's a bug.
But either way not much Synergy can do to work around the issue.
-
it's
-
Greg Hurrell
Status changed:
- From: new
- To: closed
-
anonymous
Actually, more than a bug, I think it's a malfunction.
Other softwares (at least mine) allow to rate track played from Genius : instead of telling "set rating of current track to 80", you should tell iTunes to rate not current track, but track with particular ID (first, you need to get ID of current track). This is a bit more complex, but this is at least a workaround.
-
Greg Hurrell
Not sure what the distinction between "bug" and "malfunction" you're making is.
If you play a Genius Mix, and execute:
tell application "iTunes" to get current track
iTunes will return:
file track id 2644 of user playlist id 2641 of source id 45 of application "iTunes"
So it clearly knows what the "current track" is in the context of a Genius Mix. If it fails to obey the example script I pasted originally (the
tell application "iTunes" to set rating of current track to 80
) then that sounds like a bug to me.But as you suggest, explicitly specifying the ID might be a viable workaround for the bug in iTunes.
I will see what I can do. But I also suggest you file a bug with Apple so that they can fix the flaw in iTunes. I prefer not to clutter up the codebase with workarounds for Apple bugs unless it's absolutely necessary.
Add a comment
Comments are now closed for this issue.