Hi:
I think the process may be simpler than that, but it is embedded in MC code and not visible to users.
So here's my conjecture. The 'Play' operation, no matter how it is initiated, acts upon an array (container?) of 'track' objects. So, the first test performed asks:
Are there ANY playable items in the array of tracks presented for 'Play?
If yes, process the array of 'playable' tracks.
If no, exit and present a 'Playback Failed' dialog box (see image).
So I arrive at the 'process the array of 'playable' tracks' logic because my test above indicated that there is at least one track in the set which is playable. A test is performed (perhaps a boolean test of the 'Playable' attribute?) on the target track to determine if it is playable.
Is this track playable?
If yes, play the track
If no, return normally from the 'Play Track' request.
It then proceeds to process each of the remaining track(s) in the set. Again it only executes this 'Play Track' request logic if there are 1 or more 'playable' tracks in the set of potential tracks to play, potential, because they all could be marked unplayable ('Playable' unchecked) as was the 'No' result from the first test above (see image).
So, when you initiate the play request for the set and when only one track of the set is playable, it appears to proceed immediately to that track (see image) but, in essence, it looks at the 'Playable' attribute for all potential tracks in the set requested to play.
Again, this is conjecture based on the Play / Playable behavior I've observed and, yes, perhaps a bit over-simplified, but it is what I have observed.
Cheers,
Lawrence