Beispiel #1
0
    def setPlayerData(self):
        printl("", self, "S")

        self.playbackData = self.playerData[self.currentIndex]
        self.videoData = self.playerData[self.currentIndex]['videoData']

        # not used for now
        #self.mediaData = self.playerData[self.currentIndex]['mediaData']

        # go through the data out of the function call
        self.resumeStamp = int(self.playbackData['resumeStamp']
                               ) / 1000  # plex stores seconds * 1000
        self.server = str(self.playbackData['server'])
        self.id = str(self.playbackData['id'])
        self.multiUserServer = self.playbackData['multiUserServer']
        self.url = str(self.playbackData['playUrl'])
        self.transcodingSession = str(self.playbackData['transcodingSession'])
        self.playbackType = str(self.playbackData['playbackType'])
        self.connectionType = str(self.playbackData['connectionType'])
        self.universalTranscoder = self.playbackData['universalTranscoder']
        self.localAuth = self.playbackData['localAuth']

        self.title = encodeThat(self.videoData['title'])
        self["mediaTitle"].setText(self.title)

        self.shortDescription = encodeThat(self.videoData['summary'])
        self["shortDescription"].setText(self.shortDescription)

        printl("", self, "C")
Beispiel #2
0
	def setPlayerData(self):
		printl("", self, "S")

		self.playbackData = self.playerData[self.currentIndex]
		self.videoData = self.playerData[self.currentIndex]['videoData']

		# not used for now
		#self.mediaData = self.playerData[self.currentIndex]['mediaData']

		# go through the data out of the function call
		self.resumeStamp = int(self.playbackData['resumeStamp']) / 1000 # plex stores seconds * 1000
		self.server = str(self.playbackData['server'])
		self.id = str(self.playbackData['id'])
		self.multiUserServer = self.playbackData['multiUserServer']
		self.url = str(self.playbackData['playUrl'])
		self.transcodingSession = str(self.playbackData['transcodingSession'])
		self.playbackType = str(self.playbackData['playbackType'])
		self.connectionType = str(self.playbackData['connectionType'])
		self.universalTranscoder = self.playbackData['universalTranscoder']
		self.localAuth = self.playbackData['localAuth']

		self.title = encodeThat(self.videoData['title'])
		self["shortDescription"].setText(encodeThat(self.videoData['summary']))

		printl("", self, "C")
Beispiel #3
0
	def _refresh(self):
		printl("", self, "S")

		# we use this for filtermode at startup
		self.filterableContent = True

		# handle pictures
		self.changeBackdrop = True
		self.changePoster = True

		if "ratingKey" in self.details:
			self.pname = self.details["ratingKey"]
			self.bname = self.details["ratingKey"]
		else:
			self.pname = "temp"
			self.bname = "temp"

		# handle content
		self["title"].setText(encodeThat(self.details.get("title", " ")))
		self["tag"].setText(encodeThat(self.details.get("tagline", " ")))
		self["shortDescription"].setText(encodeThat(self.details.get("summary", " ")))
		self["cast"].setText(encodeThat(self.details.get("cast", " ")))
		self["writer"].setText(encodeThat(self.details.get("writer", " ")))
		self["director"].setText(encodeThat(self.details.get("director", " ")))
		self["studio"].setText(encodeThat(self.details.get("studio", " ")))
		self["genre"].setText(encodeThat(self.details.get("genre", " - ")))
		self["year"].setText(str(self.details.get("year", " - ")))

		# technical details
		self.mediaDataArr = self.details["mediaDataArr"][0]
		self.parts = self.mediaDataArr["Parts"][0]

		self["videoCodec"].setText(self.mediaDataArr.get("videoCodec", " - "))
		self["bitrate"].setText(self.mediaDataArr.get("bitrate", " - "))
		self["videoFrameRate"].setText(self.mediaDataArr.get("videoFrameRate", " - "))
		self["audioChannels"].setText(self.mediaDataArr.get("audioChannels", " - "))
		self["aspectRatio"].setText(self.mediaDataArr.get("aspectRatio", " - "))
		self["videoResolution"].setText(self.mediaDataArr.get("videoResolution", " - "))
		self["audioCodec"].setText(self.mediaDataArr.get("audioCodec", " - "))
		self["file"].setText(encodeThat(self.parts.get("file", " - ")))

		if self.fastScroll == False or self.showMedia == True:
			# handle all pixmaps
			self.handlePopularityPixmaps()
			self.handleCodecPixmaps()
			self.handleAspectPixmaps()
			self.handleResolutionPixmaps()
			self.handleRatedPixmaps()
			self.handleSoundPixmaps()
			self.handleSoundChannelsPixmaps()

		# final sets
		self.setDuration()
		self.setMediaFunctions()

		# now gather information for pictures
		self.getPictureInformationToLoad()

		printl("", self, "C")
Beispiel #4
0
    def _refresh(self):
        printl("", self, "S")

        # we use this for filtermode at startup
        self.filterableContent = True

        # handle pictures
        self.changeBackdrop = True
        self.changePoster = True

        if "ratingKey" in self.details:
            self.pname = self.details["ratingKey"]
            self.bname = self.details["ratingKey"]
        else:
            self.pname = "temp"
            self.bname = "temp"

            # handle content
        self["title"].setText(encodeThat(self.details.get("title", " ")))
        self["tag"].setText(encodeThat(self.details.get("tagline", " ")))
        self["shortDescription"].setText(encodeThat(self.details.get("summary", " ")))
        self["cast"].setText(encodeThat(self.details.get("cast", " ")))
        self["writer"].setText(encodeThat(self.details.get("writer", " ")))
        self["director"].setText(encodeThat(self.details.get("director", " ")))
        self["studio"].setText(encodeThat(self.details.get("studio", " ")))
        self["genre"].setText(encodeThat(self.details.get("genre", " - ")))
        self["year"].setText(str(self.details.get("year", " - ")))

        # technical details
        self.mediaDataArr = self.details["mediaDataArr"][0]
        self.parts = self.mediaDataArr["Parts"][0]

        self["videoCodec"].setText(self.mediaDataArr.get("videoCodec", " - "))
        self["bitrate"].setText(self.mediaDataArr.get("bitrate", " - "))
        self["videoFrameRate"].setText(self.mediaDataArr.get("videoFrameRate", " - "))
        self["audioChannels"].setText(self.mediaDataArr.get("audioChannels", " - "))
        self["aspectRatio"].setText(self.mediaDataArr.get("aspectRatio", " - "))
        self["videoResolution"].setText(self.mediaDataArr.get("videoResolution", " - "))
        self["audioCodec"].setText(self.mediaDataArr.get("audioCodec", " - "))
        self["file"].setText(encodeThat(self.parts.get("file", " - ")))

        if self.fastScroll == False or self.showMedia == True:
            # handle all pixmaps
            self.handlePopularityPixmaps()
            self.handleCodecPixmaps()
            self.handleAspectPixmaps()
            self.handleResolutionPixmaps()
            self.handleRatedPixmaps()
            self.handleSoundPixmaps()
            self.handleSoundChannelsPixmaps()

            # final sets
        self.setDuration()
        self.setMediaFunctions()

        # now gather information for pictures
        self.getPictureInformationToLoad()

        printl("", self, "C")
Beispiel #5
0
	def _refresh(self):
		printl("", self, "S")

		# we use this for filtermode at startup
		self.filterableContent = True

		if "type" in self.details:
			if self.details["type"] == "folder":
				self.fromDirectory = True
			else:
				self.fromDirectory = False

			# looks like we are just a directory
			if self.details["type"] == "folder":
				self.pname = "temp"
				self.bname = "temp"
				self.resetBackdrop = True
				self.resetPoster = True
				self.changePoster = False
				self.changeBackdrop = False
				self.fromDirectory = True
			elif self.details["type"] == "album" or self.details["type"] == "artist":
				if self.details["type"] == "album":
					self["title"].setText(encodeThat(self.details.get("title", " ")))
					self["leafCount"].setText(encodeThat(self.details.get("leafCount", " ")))

					self["shortDescription"].setText(encodeThat(self.details.get("summary", " ")))
					self["year"].setText(str(self.details.get("year", " - ")))

					self.toggleElementVisibilityWithLabel("year")
					self.toggleElementVisibilityWithLabel("genre")
					self["shortDescription"].show()

					self.hideMediaFunctions()
					self.hideMediaPixmaps()
				else:
					self["title"].setText(encodeThat(self.details.get("title", " ")))
					self["shortDescription"].setText(encodeThat(self.details.get("summary", " ")))
					self["genre"].setText(encodeThat(self.details.get("genre", " - ")))

					self.toggleElementVisibilityWithLabel("genre")
					self["shortDescription"].show()

				self.changePoster = True
				self.changeBackdrop = True
				self.resetBackdrop = True
				self.resetPoster = True
				self.hideMediaFunctions()
				self.hideMediaPixmaps()

				if "ratingKey" in self.details:
					self.pname = self.details["ratingKey"]
					self.bname = self.details["ratingKey"]
				else:
					if "parentRatingKey" in self.details:
						self.pname = self.details["parentRatingKey"]
						self.bname = self.details["parentRatingKey"]
					else:
						self.pname = "temp"
						self.bname = "temp"

			elif self.details["type"] == "track":
				self.resetBackdrop = False
				self.resetPoster = False
				self.setDuration()

				# technical details
				self.mediaDataArr = self.details["mediaDataArr"][0]
				self.parts = self.mediaDataArr["Parts"][0]

				self["bitrate"].setText(self.mediaDataArr.get("bitrate", " - "))
				self["audioChannels"].setText(self.mediaDataArr.get("audioChannels", " - "))
				self["audioCodec"].setText(self.mediaDataArr.get("audioCodec", " - "))
				self["file"].setText(encodeThat(self.parts.get("file", " - ")))

				# this is when we are coming from directory
				if self.fromDirectory:
					if "parentRatingKey" in self.details:
						self.pname = self.details["parentRatingKey"]
						self.bname = self.details["parentRatingKey"]
					else:
						self.pname = "temp"
						self.bname = "temp"

					self.changePoster = True
					self.changeBackdrop = True
				else:
					self.pname = "temp"
					self.bname = "temp"
					self.changePoster = False
					self.changeBackdrop = False

		else:
			raise Exception

		# now gather information for pictures
		self.getPictureInformationToLoad()

		printl("", self, "C")
Beispiel #6
0
	def _refresh(self):
		printl("", self, "S")
		# we have to reset it here
		self.themeMusicIsRunning = False

		# for all view steps
		self["title"].setText(encodeThat(self.details.get("title", " ")))
		self["tag"].setText(encodeThat(self.details.get("tagline", " ")))
		self["shortDescription"].setText(encodeThat(self.details.get("summary", " ")))

		self.setDuration()
		self.setMediaFunctions()

		if self.details ["currentViewMode"] == "ShowShows":
			printl( "is ShowShows", self, "D")
			#self.setTitle(str(self.mediaContainer.get("title2", " ")))
			self["leafCount"].setText(self.details.get("leafCount", " "))
			self["viewedLeafCount"].setText(self.details.get("viewedLeafCount", " "))
			self["unviewedLeafCount"].setText(str(int(self.details.get("leafCount", " ")) - int(self.details.get("viewedLeafCount", " "))))
			self["childCount"].setText(str(self.details.get("childCount", " ")))
			self["studio"].setText(encodeThat(self.details.get("studio", " ")))
			self["genre"].setText(self.details.get("genre", " "))
			self["year"].setText(str(self.details.get("year", " - ")))

			self.parentSeasonId = self.details ["ratingKey"]

			self.bname = self.details["ratingKey"]
			self.pname = self.details["ratingKey"]

			self.changeBackdrop = True
			self.changePoster = True
			self.resetPoster = True
			self.resetBackdrop = True

			# if we are a show an if playtheme is enabled we start playback here
			if self.playTheme and "theme" in self.details:
				self.startThemePlayback()

			if self.tagType != self.lastTagType:
				self.hideMediaFunctions()

			self.handlePopularityPixmaps()
			self.handleRatedPixmaps()

			# we use this for filtermode at startup
			self.filterableContent = True

		elif self.details ["currentViewMode"] == "ShowSeasons":
			printl( "is ShowSeasons",self, "D")
			printl( "self.mediaContainer: " + str(self.mediaContainer),self, "D")

			if self.mediaContainer["title2"] == self.details["title"]:
				self.grandparentTitle = str(self.mediaContainer.get("title1", " "))
			else:
				self.grandparentTitle = str(self.mediaContainer.get("title2", " "))

			self["grandparentTitle"].setText(self.grandparentTitle)

			self["leafCount"].setText(self.details.get("leafCount", " "))
			self["viewedLeafCount"].setText(self.details.get("viewedLeafCount", " "))
			self["unviewedLeafCount"].setText(str(int(self.details.get("leafCount", " ")) - int(self.details.get("viewedLeafCount", " "))))
			self["childCount"].setText(str(self.details.get("childCount", " ")))

			self.parentSeasonNr = self.details["ratingKey"]
			self.bname = self.parentSeasonId
			self.pname = self.details["ratingKey"]

			self.changeBackdrop = True
			self.changePoster = True
			self.resetPoster = False
			self.resetBackdrop = False

			if self.tagType != self.lastTagType:
				self.hideMediaFunctions()

			# we use this for filtermode at startup
			self.filterableContent = False

		elif self.details ["currentViewMode"] == "ShowEpisodes" or self.details["currentViewMode"] == "ShowEpisodesDirect":
			printl( "is ShowEpisodes",self, "D")
			self["tag"].setText(str(self.mediaContainer.get("title2", " ")))
			self["writer"].setText(encodeThat(self.details.get("writer", " ")))

			if self.details["currentViewMode"] == "ShowEpisodesDirect":
				self["tag"].setText("Season: " + encodeThat(self.details.get("parentIndex", " ")))
				self["title"].setText(str(self.details.get("grandparentTitle", " ")))
			else:
				if self.grandparentTitle is not None:
					self["grandparentTitle"].setText(self.grandparentTitle)
					#self.setTitle(self.grandparentTitle)

			# technical details
			self.mediaDataArr = self.details["mediaDataArr"][0]
			self.parts = self.mediaDataArr["Parts"][0]

			self["videoCodec"].setText(self.mediaDataArr.get("videoCodec", " - "))
			self["bitrate"].setText(self.mediaDataArr.get("bitrate", " - "))
			self["videoFrameRate"].setText(self.mediaDataArr.get("videoFrameRate", " - "))
			self["audioChannels"].setText(self.mediaDataArr.get("audioChannels", " - "))
			self["aspectRatio"].setText(self.mediaDataArr.get("aspectRatio", " - "))
			self["videoResolution"].setText(self.mediaDataArr.get("videoResolution", " - "))
			self["audioCodec"].setText(self.mediaDataArr.get("audioCodec", " - "))
			self["file"].setText(encodeThat(self.parts.get("file", " - ")))

			self.bname = self.details["ratingKey"]
			if self.details["currentViewMode"] == "ShowEpisodesDirect":
				self.pname = self.details["grandparentRatingKey"]
			else:
				self.pname = self.details["parentRatingKey"]

			if self.currentViewType == "Backdrop":
				#we change this because the backdrops of episodes are low quality and will be very pixi
				self.changeBackdrop = False
			else:
				self.changeBackdrop = True

			self.changePoster = True
			self.resetPoster = False
			self.resetBackdrop = False

			if self.fastScroll == False or self.showMedia == True:
				# handle all pixmaps
				self.handlePopularityPixmaps()
				self.handleCodecPixmaps()
				self.handleAspectPixmaps()
				self.handleResolutionPixmaps()
				self.handleSoundPixmaps()
				self.handleSoundChannelsPixmaps()

			if self.tagType != self.lastTagType:
				self.showMediaFunctions()

			# we use this for filtermode at startup
			self.filterableContent = True

		else:
			raise Exception

		# now gather information for pictures
		self.getPictureInformationToLoad()

		# reset leaving here for next run
		self.leaving = False

		printl("", self, "C")
Beispiel #7
0
	def syncThrougMediaLibrary(self, library, myType):
		printl("", self, "S")

		for media in library:
			if self.cancel:
				break
			printl("media: " + str(media), self, "D")
			msg_text = "\n" + str(myType) + " with ratingKey: " + str(media[1]["ratingKey"])
			self.messages.push((THREAD_WORKING, msg_text))
			self.messagePump.send(0)
			msg_text = _("title: " + encodeThat(media[1]["title"]))
			self.messages.push((THREAD_WORKING, msg_text))
			self.messagePump.send(0)

			for variant in self.backdropVariants:
				sleep(0.2)
				# interupt if needed
				if self.cancel:
					break

				t_height = variant[0]
				t_width = variant[1]
				t_postfix = variant[2]

				# location string
				location = config.plugins.dreamplex.mediafolderpath.value + str(self.prefix) + "_" +  str(media[1]["ratingKey"]) + str(t_postfix)

				# check if backdrop exists
				if fileExists(location):
					msg_text = _("found backdrop - size(" + str(t_width) +"x" +str(t_height)+ ")")
					self.messages.push((THREAD_WORKING, msg_text))
					self.messagePump.send(0)
					continue
				else:
					if "art" in media[1] and media[1]["art"] != "":
						msg_text = _("backdrop not found, trying to download ...")
						self.messages.push((THREAD_WORKING, msg_text))
						self.messagePump.send(0)
						#download backdrop
						self.downloadMedia(media[1]["art"], location, t_width, t_height)

			for variant in self.posterVariants:
				# interupt if needed
				if self.cancel:
					break

				t_height = variant[0]
				t_width = variant[1]
				t_postfix = variant[2]

				# location string
				location = config.plugins.dreamplex.mediafolderpath.value + str(self.prefix) + "_" +  str(media[1]["ratingKey"]) + str(t_postfix)

				# check if poster exists
				if fileExists(location):
					msg_text = _("found poster - size(" + str(t_width) +"x" +str(t_height)+ ")")
					self.messages.push((THREAD_WORKING, msg_text))
					self.messagePump.send(0)
					continue
				else:
					if "thumb" in media[1] and media[1]["thumb"] != "":
						msg_text = _("poster not found, trying to download ...")
						self.messages.push((THREAD_WORKING, msg_text))
						self.messagePump.send(0)
						self.downloadMedia(media[1]["thumb"], location, t_width, t_height)

			self.decreaseQueueCount(myType=myType)

			msg_text = "Movies: " + str(self.movieCount) + "\n" + "Shows: " + str(self.showCount)\
						+ "\n" + "Seasons: " + str(self.seasonCount) + "\n" + "Episodes: " + str(self.episodeCount) \
						+ "\n" + "Artists: " + str(self.artistCount) + "\n" + "Albums: " + str(self.albumCount)
			self.progress.push((THREAD_WORKING, msg_text))
			self.progressPump.send(0)


		printl("", self, "C")
Beispiel #8
0
	def syncThrougMediaLibrary(self, library, myType):
		printl("", self, "S")

		for media in library:
			if self.cancel:
				break
			printl("media: " + str(media), self, "D")
			msg_text = "\n" + str(myType) + " with ratingKey: " + str(media[1]["ratingKey"])
			self.messages.push((THREAD_WORKING, msg_text))
			self.messagePump.send(0)
			msg_text = _("title: " + encodeThat(media[1]["title"]))
			self.messages.push((THREAD_WORKING, msg_text))
			self.messagePump.send(0)

			for variant in self.backdropVariants:
				sleep(0.2)
				# interupt if needed
				if self.cancel:
					break

				t_height = variant[0]
				t_width = variant[1]
				t_postfix = variant[2]

				# location string
				location = config.plugins.dreamplex.mediafolderpath.value + str(self.prefix) + "_" +  str(media[1]["ratingKey"]) + str(t_postfix)

				# check if backdrop exists
				if fileExists(location):
					msg_text = _("found backdrop - size(" + str(t_width) +"x" +str(t_height)+ ")")
					self.messages.push((THREAD_WORKING, msg_text))
					self.messagePump.send(0)
					continue
				else:
					if "art" in media[1] and media[1]["art"] != "":
						msg_text = _("backdrop not found, trying to download ...")
						self.messages.push((THREAD_WORKING, msg_text))
						self.messagePump.send(0)
						#download backdrop
						self.downloadMedia(media[1]["art"], location, t_width, t_height)

			for variant in self.posterVariants:
				# interupt if needed
				if self.cancel:
					break

				t_height = variant[0]
				t_width = variant[1]
				t_postfix = variant[2]

				# location string
				location = config.plugins.dreamplex.mediafolderpath.value + str(self.prefix) + "_" +  str(media[1]["ratingKey"]) + str(t_postfix)

				# check if poster exists
				if fileExists(location):
					msg_text = _("found poster - size(" + str(t_width) +"x" +str(t_height)+ ")")
					self.messages.push((THREAD_WORKING, msg_text))
					self.messagePump.send(0)
					continue
				else:
					if "thumb" in media[1] and media[1]["thumb"] != "":
						msg_text = _("poster not found, trying to download ...")
						self.messages.push((THREAD_WORKING, msg_text))
						self.messagePump.send(0)
						self.downloadMedia(media[1]["thumb"], location, t_width, t_height)

			self.decreaseQueueCount(myType=myType)

			msg_text = "Movies: " + str(self.movieCount) + "\n" + "Shows: " + str(self.showCount)\
						+ "\n" + "Seasons: " + str(self.seasonCount) + "\n" + "Episodes: " + str(self.episodeCount) \
						+ "\n" + "Artists: " + str(self.artistCount) + "\n" + "Albums: " + str(self.albumCount)
			self.progress.push((THREAD_WORKING, msg_text))
			self.progressPump.send(0)


		printl("", self, "C")
Beispiel #9
0
    def _refresh(self):
        printl("", self, "S")
        # we have to reset it here
        self.themeMusicIsRunning = False

        # for all view steps
        self["title"].setText(encodeThat(self.details.get("title", " ")))
        self["tag"].setText(encodeThat(self.details.get("tagline", " ")))
        self["shortDescription"].setText(
            encodeThat(self.details.get("summary", " ")))

        self.setDuration()
        self.setMediaFunctions()

        if self.details["currentViewMode"] == "ShowShows":
            printl("is ShowShows", self, "D")
            #self.setTitle(str(self.mediaContainer.get("title2", " ")))
            self["leafCount"].setText(self.details.get("leafCount", " "))
            self["viewedLeafCount"].setText(
                self.details.get("viewedLeafCount", " "))
            self["unviewedLeafCount"].setText(
                str(
                    int(self.details.get("leafCount", " ")) -
                    int(self.details.get("viewedLeafCount", " "))))
            self["childCount"].setText(str(self.details.get("childCount",
                                                            " ")))
            self["studio"].setText(encodeThat(self.details.get("studio", " ")))
            self["genre"].setText(self.details.get("genre", " "))
            self["year"].setText(str(self.details.get("year", " - ")))

            self.parentSeasonId = self.details["ratingKey"]

            self.bname = self.details["ratingKey"]
            self.pname = self.details["ratingKey"]

            self.changeBackdrop = True
            self.changePoster = True
            self.resetPoster = True
            self.resetBackdrop = True

            # if we are a show an if playtheme is enabled we start playback here
            if self.playTheme and "theme" in self.details:
                self.startThemePlayback()

            if self.tagType != self.lastTagType:
                self.hideMediaFunctions()

            self.handlePopularityPixmaps()
            self.handleRatedPixmaps()

            # we use this for filtermode at startup
            self.filterableContent = True

        elif self.details["currentViewMode"] == "ShowSeasons":
            printl("is ShowSeasons", self, "D")
            printl("self.mediaContainer: " + str(self.mediaContainer), self,
                   "D")

            if self.mediaContainer["title2"] == self.details["title"]:
                self.grandparentTitle = str(
                    self.mediaContainer.get("title1", " "))
            else:
                self.grandparentTitle = str(
                    self.mediaContainer.get("title2", " "))

            self["grandparentTitle"].setText(self.grandparentTitle)

            self["leafCount"].setText(self.details.get("leafCount", " "))
            self["viewedLeafCount"].setText(
                self.details.get("viewedLeafCount", " "))
            self["unviewedLeafCount"].setText(
                str(
                    int(self.details.get("leafCount", " ")) -
                    int(self.details.get("viewedLeafCount", " "))))
            self["childCount"].setText(str(self.details.get("childCount",
                                                            " ")))

            self.parentSeasonNr = self.details["ratingKey"]
            self.bname = self.parentSeasonId
            self.pname = self.details["ratingKey"]

            self.changeBackdrop = True
            self.changePoster = True
            self.resetPoster = False
            self.resetBackdrop = False

            if self.tagType != self.lastTagType:
                self.hideMediaFunctions()

            # we use this for filtermode at startup
            self.filterableContent = False

        elif self.details["currentViewMode"] == "ShowEpisodes" or self.details[
                "currentViewMode"] == "ShowEpisodesDirect":
            printl("is ShowEpisodes", self, "D")
            self["tag"].setText(str(self.mediaContainer.get("title2", " ")))
            self["writer"].setText(encodeThat(self.details.get("writer", " ")))

            if self.details["currentViewMode"] == "ShowEpisodesDirect":
                self["tag"].setText(
                    "Season: " +
                    encodeThat(self.details.get("parentIndex", " ")))
                self["title"].setText(
                    str(self.details.get("grandparentTitle", " ")))
            else:
                if self.grandparentTitle is not None:
                    self["grandparentTitle"].setText(self.grandparentTitle)
                    #self.setTitle(self.grandparentTitle)

            # technical details
            self.mediaDataArr = self.details["mediaDataArr"][0]
            self.parts = self.mediaDataArr["Parts"][0]

            self["videoCodec"].setText(
                self.mediaDataArr.get("videoCodec", " - "))
            self["bitrate"].setText(self.mediaDataArr.get("bitrate", " - "))
            self["videoFrameRate"].setText(
                self.mediaDataArr.get("videoFrameRate", " - "))
            self["audioChannels"].setText(
                self.mediaDataArr.get("audioChannels", " - "))
            self["aspectRatio"].setText(
                self.mediaDataArr.get("aspectRatio", " - "))
            self["videoResolution"].setText(
                self.mediaDataArr.get("videoResolution", " - "))
            self["audioCodec"].setText(
                self.mediaDataArr.get("audioCodec", " - "))
            self["file"].setText(encodeThat(self.parts.get("file", " - ")))

            self.bname = self.details["ratingKey"]
            if self.details["currentViewMode"] == "ShowEpisodesDirect":
                self.pname = self.details["grandparentRatingKey"]
            else:
                self.pname = self.details["parentRatingKey"]

            if self.currentViewType == "Backdrop":
                #we change this because the backdrops of episodes are low quality and will be very pixi
                self.changeBackdrop = False
            else:
                self.changeBackdrop = True

            self.changePoster = True
            self.resetPoster = False
            self.resetBackdrop = False

            if self.fastScroll == False or self.showMedia == True:
                # handle all pixmaps
                self.handlePopularityPixmaps()
                self.handleCodecPixmaps()
                self.handleAspectPixmaps()
                self.handleResolutionPixmaps()
                self.handleSoundPixmaps()
                self.handleSoundChannelsPixmaps()

            if self.tagType != self.lastTagType:
                self.showMediaFunctions()

            # we use this for filtermode at startup
            self.filterableContent = True

        else:
            raise Exception

        # now gather information for pictures
        self.getPictureInformationToLoad()

        # reset leaving here for next run
        self.leaving = False

        printl("", self, "C")