diff --git a/channels/metalvideo.py b/channels/metalvideo.py
index 50c5817c..4623a086 100644
--- a/channels/metalvideo.py
+++ b/channels/metalvideo.py
@@ -41,6 +41,10 @@ def peliculas(item):
patron= r'
]+>){7}(?:»|ยป)'
typeContentDict = {'': 'music'}
+ def itemHook(item):
+ item.contentType = 'music'
+ item.thumbnail = item.thumbnail.replace('https:','http:')
+ return item
return locals()
diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py
index eead482e..d8d8ba26 100644
--- a/platformcode/platformtools.py
+++ b/platformcode/platformtools.py
@@ -361,7 +361,7 @@ def render_items(itemlist, parent_item):
listitem.addContextMenuItems(context_commands)
dirItems.append(('%s?%s' % (sys.argv[0], item_url), listitem, item.folder))
-
+ # from core.support import dbg;dbg()
xbmcplugin.addDirectoryItems(_handle, dirItems)
@@ -390,29 +390,24 @@ def render_items(itemlist, parent_item):
def viewmodeMonitor():
- # logger.debug('WINDOW:',get_window())
+ logger.debug('WINDOW:',get_window(), xbmcgui.getCurrentWindowId())
if get_window() == 'WINDOW_VIDEO_NAV':
try:
- currentModeName = xbmc.getInfoLabel('Container.Viewmode')
- parent_info = xbmc.getInfoLabel('Container.FolderPath')
- item_info = xbmc.getInfoLabel('Container.ListItemPosition(2).FileNameAndPath')
- win = xbmcgui.Window(10025)
- currentMode = int(win.getFocusId())
- # logger.debug('CM', currentMode, 'CN',currentModeName, 'label',xbmc.getInfoLabel('Container.FolderPath'))
- # if not parent_info:
-
- if currentModeName and 'plugin.video.kod' in parent_info and 50 <= currentMode < 1000:# and currentMode >= 50: # inside addon and in itemlist view
- # logger.debug('CAMBIO VISUALE')
- content, Type = getCurrentView(Item().fromurl(item_info) if item_info else Item(), Item().fromurl(parent_info))
- if content:
+ currentMode = int(xbmcgui.Window(10025).getFocusId())
+ if 50 <= currentMode < 600:
+ currentModeName = xbmc.getInfoLabel('Container.Viewmode')
+ parent_info = xbmc.getInfoLabel('Container.FolderPath')
+ item_info = xbmc.getInfoLabel('Container.ListItemPosition(1).FileNameAndPath')
+ if currentModeName and 'plugin.video.kod' in parent_info:
+ content, Type = getCurrentView(Item().fromurl(item_info) if item_info else Item(), Item().fromurl(parent_info))
defaultMode = int(config.get_setting('view_mode_%s' % content).split(',')[-1])
- if currentMode != defaultMode:
- # logger.debug('viewmode changed: ' + currentModeName + '-' + str(currentMode) + ' - content: ' + content)
+ if content and currentMode != defaultMode and int(xbmcgui.Window(10025).getFocusId()) == currentMode:
config.set_setting('view_mode_%s' % content, currentModeName + ', ' + str(currentMode))
if config.get_setting('viewchange_notify'):
dialog_notification(config.get_localized_string(70153),
config.get_localized_string(70187) % (content, currentModeName),
sound=False)
+
except:
import traceback
logger.error(traceback.print_exc())
@@ -447,6 +442,9 @@ def getCurrentView(item=None, parent_item=None):
elif parent_item.action == 'mainlist':
return 'channel', addons
+ elif item.contentType == 'music':
+ return 'musicvideo', 'musicvideos'
+
elif (item.contentType in ['movie'] and parent_item.action in parent_actions) \
or (item.channel in ['videolibrary'] and parent_item.action in ['list_movies']) \
or (parent_item.channel in ['favorites'] and parent_item.action in ['mainlist']) \
@@ -461,7 +459,6 @@ def getCurrentView(item=None, parent_item=None):
return 'episode', 'tvshows'
elif parent_item.action in ['get_seasons']:
- logger.debug('CONTENTTYPE:',item.contentType)
return 'season', 'tvshows'
elif parent_item.action in ['getmainlist', '', 'getchanneltypes']:
diff --git a/resources/settings.xml b/resources/settings.xml
index 24ffad94..57214736 100644
--- a/resources/settings.xml
+++ b/resources/settings.xml
@@ -148,6 +148,7 @@
+
diff --git a/service.py b/service.py
index 52895c4f..eba668de 100644
--- a/service.py
+++ b/service.py
@@ -441,7 +441,7 @@ class AddonMonitor(xbmc.Monitor):
logger.debug('scheduled videolibrary at ' + str(self.update_hour).zfill(2) + ':00')
def scheduleScreenOnJobs(self):
- schedule.every().second.do(platformtools.viewmodeMonitor).tag('screenOn')
+ schedule.every(0.5).seconds.do(platformtools.viewmodeMonitor).tag('screenOn')
schedule.every().second.do(torrent.elementum_monitor).tag('screenOn')
def onDPMSActivated(self):