Add an explicit get to resolve the reference to the tracks:
tell application "iTunes"
repeat with t in (get tracks of playlist "Listen Smart" where shufflable is false)
set shufflable of t to true
end repeat
repeat with t in (get tracks of playlist "Listen Smart" where bookmarkable is false)
set bookmarkable of t to true
end repeat
end tell
Try running a script like this:
tell application "iTunes"
repeat with t in (tracks of playlist "Listen Smart" where shufflable is false)
t
end repeat
end tell
If the playlist has three tracks where shufflable is false, the result at the end will be something like item 3 of every track of playlist "Listen Smart" of application "iTunes" whose shufflable = false
. If you set the shufflable of the first two tracks to true inside the repeat loop, there won't be an item 3 where shufflable is false.
If you replace repeat with t in (tracks
with repeat with t in (get tracks
, the result at the end will be something like item 3 of {file track id 54774 of user playlist id 54771 of source id 73 of application "iTunes", file track id 54775 of user playlist id 54771 of source id 73 of application "iTunes", file track id 54776 of user playlist id 54771 of source id 73 of application "iTunes"}
.