From 39978d99da2bbb16b80c0c5e1e713473ec7b1708 Mon Sep 17 00:00:00 2001 From: mglae Date: Mon, 16 Nov 2020 23:49:28 +0100 Subject: [PATCH 1/3] at-spi2-core: set dbus-daemon path to fix build --- .../addon-depends/chrome-depends/at-spi2-core/package.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/addons/addon-depends/chrome-depends/at-spi2-core/package.mk b/packages/addons/addon-depends/chrome-depends/at-spi2-core/package.mk index 0e8f707fc8..f37d1e43a0 100644 --- a/packages/addons/addon-depends/chrome-depends/at-spi2-core/package.mk +++ b/packages/addons/addon-depends/chrome-depends/at-spi2-core/package.mk @@ -12,7 +12,8 @@ PKG_DEPENDS_TARGET="toolchain atk dbus glib libXtst" PKG_LONGDESC="Protocol definitions and daemon for D-Bus at-spi." PKG_MESON_OPTS_TARGET="-Denable_docs=false \ - -Denable-introspection=no" + -Denable-introspection=no \ + -Ddbus_daemon=/usr/bin/dbus-daemon" pre_configure_target() { TARGET_LDFLAGS="$LDFLAGS -lXext" From d0a4824728adb699bfad075a7361999563a597c9 Mon Sep 17 00:00:00 2001 From: mglae Date: Mon, 16 Nov 2020 23:49:31 +0100 Subject: [PATCH 2/3] chrome: fix getting default audio device Setting "audiooutput.audiodevice" was not found any more because settings format has be changed to version 2. Read the setting value via Kodi json RPC. --- packages/addons/browser/chrome/changelog.txt | 3 ++ packages/addons/browser/chrome/package.mk | 2 +- .../addons/browser/chrome/source/default.py | 31 ++++++++++--------- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/packages/addons/browser/chrome/changelog.txt b/packages/addons/browser/chrome/changelog.txt index f148eb04a6..94ec6551df 100644 --- a/packages/addons/browser/chrome/changelog.txt +++ b/packages/addons/browser/chrome/changelog.txt @@ -1,3 +1,6 @@ +103 +- fix getting default audio device + 102 - add dark mode at options - support for latest Chrome diff --git a/packages/addons/browser/chrome/package.mk b/packages/addons/browser/chrome/package.mk index 74f5144d25..d6c51452f7 100644 --- a/packages/addons/browser/chrome/package.mk +++ b/packages/addons/browser/chrome/package.mk @@ -3,7 +3,7 @@ PKG_NAME="chrome" PKG_VERSION="1.0" -PKG_REV="102" +PKG_REV="103" PKG_ARCH="x86_64" PKG_LICENSE="Custom" PKG_SITE="http://www.google.com/chrome" diff --git a/packages/addons/browser/chrome/source/default.py b/packages/addons/browser/chrome/source/default.py index d143e584b7..0bda7a717a 100644 --- a/packages/addons/browser/chrome/source/default.py +++ b/packages/addons/browser/chrome/source/default.py @@ -7,7 +7,7 @@ import sys import time import xbmcaddon import subprocess -from xml.dom.minidom import parse +import json sys.path.append('/usr/share/kodi/addons/@DISTRO_PKG_SETTINGS_ID@') @@ -59,21 +59,22 @@ def isRuning(pname): return False def getAudioDevice(): - try: - dom = parse("/storage/.kodi/userdata/guisettings.xml") - audiooutput=dom.getElementsByTagName('audiooutput') - for node in audiooutput: - dev = node.getElementsByTagName('audiodevice')[0].childNodes[0].nodeValue - if dev.startswith("ALSA:"): - dev = dev.split("ALSA:")[1] - if dev == "@": - return None - if dev.startswith("@:"): - dev = dev.split("@:")[1] - else: - # not ALSA + dev = json.loads(xbmc.executeJSONRPC(json.dumps({ + "jsonrpc": "2.0", + "method": "Settings.GetSettingValue", + "params": { + "setting": "audiooutput.audiodevice", + }, + "id": 1, + })))['result']['value'] + if dev.startswith("ALSA:"): + dev = dev.split("ALSA:")[1] + if dev == "@": return None - except: + if dev.startswith("@:"): + dev = dev.split("@:")[1] + else: + # not ALSA return None if dev.startswith("CARD="): dev = "plughw:" + dev From 2e7c831e8b065988fcd0ebf6f33da87f122d51b0 Mon Sep 17 00:00:00 2001 From: mglae Date: Mon, 16 Nov 2020 23:49:33 +0100 Subject: [PATCH 3/3] chrome: default.py cleanup - don't import expensive 'oe' module for a log function with wrong module name printout. - fix "WARNING : CPythonInvoker(1, /storage/.kodi/addons/browser.chrome/default.py): the python script "/storage/.kodi/addons/browser.chrome/default.py" has left several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon9xbmcaddon5AddonE" --- packages/addons/browser/chrome/source/default.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/addons/browser/chrome/source/default.py b/packages/addons/browser/chrome/source/default.py index 0bda7a717a..59bbd15b7b 100644 --- a/packages/addons/browser/chrome/source/default.py +++ b/packages/addons/browser/chrome/source/default.py @@ -9,9 +9,7 @@ import xbmcaddon import subprocess import json -sys.path.append('/usr/share/kodi/addons/@DISTRO_PKG_SETTINGS_ID@') - -import oe +import xbmc __addon__ = xbmcaddon.Addon(); __path__ = os.path.join(__addon__.getAddonInfo('path'), 'bin') + '/' @@ -49,7 +47,7 @@ def startchrome(args): __addon__.getSetting('HOMEPAGE') subprocess.call(__path__ + 'chrome-start ' + chrome_params, shell=True, env=new_env) except Exception as e: - oe.dbg_log('chrome', e) + xbmc.log('## Chrome Error:' + repr(e), xbmc.LOGERROR) def isRuning(pname): tmp = os.popen("ps -Af").read() @@ -101,3 +99,4 @@ else: time.sleep(1) resumeXbmc() +del __addon__