Better/own PlayerProcessInfo implementation#220
Better/own PlayerProcessInfo implementation#220pannal wants to merge 26 commits intoplexinc:developfrom
Conversation
| self.attributes.add("Subtitles", *data) | ||
|
|
||
| def fillServerInfo(self): | ||
| self.attributes.add("User", *["%s @ %s" % (self.session.user.title, self.mediaItem.server.name)]) |
There was a problem hiding this comment.
this should be u"%s @ %s" I guess.
| </control> | ||
| <control type="group"> | ||
| <visible>!Window.IsVisible(sliderdialog) + !Window.IsVisible(osdvideosettings) + !Window.IsVisible(osdaudiosettings)</visible> | ||
| <visible>!Window.IsVisible(sliderdialog) + !Window.IsVisible(osdvideosettings) + !Window.IsVisible(osdaudiosettings) + !Window.IsVisible(playerprocessinfo)</visible> |
There was a problem hiding this comment.
This is a remnant and can be removed
|
I still need to review the code, but this looks awesome! I noticed I'm not always getting video info - the line isn't visible. You might as well change the 'o' key handler to use this: elif action.getButtonCode() == 61519:
- # xbmc.executebuiltin('Action(PlayerProcessInfo)')
- xbmc.executebuiltin('Action(CodecInfo)')
+ if self.getProperty('show.PPI'):
+ self.hidePPIDialog()
+ else:
+ self.showPPIDialog() |
|
OK, this is reviewable now. The session data seems to only be available for the user that owns the server, so the PMS stream detail part doesn't work on a friends' server nor when the current user is a managed user. |
|
This now works with non-owned servers as well, by taking partial data from the transcodeSession if available. |
|
Done. |
|
Rebased onto develop |
|
Rebased |
78f9acc to
126aaba
Compare
…essinfo on demand
…ulti-CPU-systems and we don't want to cut it off
… owns the current server; display loading state while doing so
…on of all necessary media/stream/parts info
…er functions; more DRY
…mmediately available
…tial timeline response data
…aking it even more DRY
…out for session/transcodeSession data to 10 seconds
20c064a to
9669bac
Compare
| reference_data["video_stream"] = stream | ||
| elif stream.id == mediaChoice.audioStream.id: | ||
| reference_data["audio_stream"] = stream | ||
| elif stream.id == mediaChoice.subtitleStream.id: |
There was a problem hiding this comment.
Before executing mediaChoice.subtitleStream.id, you should check to make sure the subtitle stream exists (it doesn't always) otherwise this will throw. So this line is better as elif mediaChoice.subtitleStream != None and stream.id == mediaChoice.subtitleStream.id: Similar should be done with the other streams just to make sure.
GHI (If applicable): #
Description:
Adds PMS stream/decision details to the PlayerProcessInfo window; PlayerProcessInfo directly implemented in SeekDialog
This ultimately supersedes #218
Checklist: