xbmc/xbmc — pull request #5237 by da-anda (2014-08-17 19:57:31+00:00)
Title: [WIP][3D] add support for stereomode switches in video playlist

This PR is based on #5236 and only the top 2 commits are related to this one.

Currently we don't handle stereoscopic movies as part of video playlists. So in case you have a mixed playlist with 2D and 3D movies, 3D-handling will ONLY kick in if the very first movie is stereoscopic. Following up movies won't be detected and handled, because we only listened to GUI_MSG_PLAYBACK_STARTED message and no playlist related ones.
Reacting on the playlist GUI messages alone is not enough, because we have to deal with mode changes between movies etc. All this is covered by bb6196c, but this alone doesn't give a nice user experience, because we don't remember user choices. So if you start watching in 2D (as your preferred mode) but felt for 3D and turned it on, the second movie would be 2D again. Also vice versa if you start 3D and moved to 2D, next item in playlist would fall back to preferred mode again. 37b17ce takes care of this by remembering stereomodes manually triggered by the user. So if user manually switches from 3D to 2D, we will stay in 2D mode until playlist ended. Also vice versa ofc. And in case the user doesn't want Kodi to back out of stereoscopic mode after playback has stopped, we also take this into account and will always stay in the very first 3D mode the user has selected. Reason is, that if users prefer to not back out of 3D mode on playback end, this means that their TV don't react on resolution changes and they have to manually trigger 3D mode on their TVs. Now if in a playlist the 3D mode in Kodi would change from movie to movie, users would have to adjust their TVs again which is not really userfriendly.

@elupus please review
@jmarshallnz - up to you if this is something for Gotham

PS: don't merge this one yet - I'll create test builds for the public again (already did first user test before a rebase and small refactoring) and will report back once users are happy.