Coder Social home page Coder Social logo

googlemusic-xbmc's People

Contributors

abbaskip avatar bkanuka avatar bradjc avatar ccope avatar charliepank avatar dvirtz avatar eng2heb avatar foreverguest avatar frodwith avatar gvdhoven avatar jgierer12 avatar mrotschi avatar mruwek avatar neolao avatar nfvs avatar petemir avatar rui-castro avatar szmyd avatar vially avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

googlemusic-xbmc's Issues

duplicate albums

instead of showing the album, I think it shows the album artist instead.

didn't happen in previous releases - 0.x

duplicate songs

For some reason the addon has duplicated every song. I have not tried uninstalling and reinstalling the addon. Maybe I can just delete a cache file or something? Thoughts?

Invalid credentials / connection problem

Hi

Someone was getting this error lately?
"Invalid credentials / connection problem"

I'm using "App passwords" - was fine for almost an year but the passed week I got connection errors
Did Google change something in their API?

Add an album to queue

I know that there is "Play all" option on albums, but it clears current queue and fills it with tracks from that album. What I propose is this: don't touch tracks that are already present on queue and add tracks from selected album after them. Adding every single track of an album manually is just painful.

Chokes on >=1000 songs

At least the way my sqlite3 is compiled (debian stable), SQLITE_LIMIT_VARIABLE_NUMBER defaults to around 999. This causes the plugin to choke when you have 1000 or more songs in your playlist in various places where the plugin does (? * song_ids) with a "too many sql variables" error.

playing too fast

seems to be playing at double speed on my nookcolor running cm 10.1

having to use nightly build of xbmc in order to get xbmc remote to work though so it might not be the fault of the add on.

Error import descriptor_pb2 don't found.

Hello i followed your tuto.
i installed the mutagen first then gmusicapi and finally the add on.

i'm using the two step authentication on my google account but used the
application specific password :
after restarted the xbmc app the log gave me this error :

20:37:11 T:3036 NOTICE: -->Python Interpreter Initialized<--
20:37:12 T:4684 NOTICE: Thread Jobworker start, auto delete: true
20:37:16 T:1928 NOTICE: Thread Background Loader start, auto delete: false
20:37:19 T:3888 NOTICE: Previous line repeats 1 times.
20:37:19 T:3888 NOTICE: Thread XBPyThread start, auto delete: false
20:37:19 T:3888 NOTICE: -->Python Interpreter Initialized<--
20:37:19 T:3888 NOTICE: GoogleMusic-0.8.2 ARGV: ['plugin://plugin.audio.googlemusic/', '1', '']
20:37:19 T:3888 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: cannot import name descriptor_pb2
Traceback (most recent call last):
File "C:\Users\Keizo\AppData\Roaming\XBMC\addons\plugin.audio.googlemusic\default.py", line 43, in
import GoogleMusicApi
File "C:\Users\Keizo\AppData\Roaming\XBMC\addons\plugin.audio.googlemusic\GoogleMusicApi.py", line 3, in
from gmusicapi.api import Api
File "C:\Users\Keizo\AppData\Roaming\XBMC\addons\script.module.gmusicapi\lib\gmusicapi__init__.py", line 10, in
from gmusicapi.api import Api
File "C:\Users\Keizo\AppData\Roaming\XBMC\addons\script.module.gmusicapi\lib\gmusicapi\api.py", line 22, in
from gmusicapi.protocol import webclient, musicmanager, upload_pb2, locker_pb2
File "C:\Users\Keizo\AppData\Roaming\XBMC\addons\script.module.gmusicapi\lib\gmusicapi\protocol\musicmanager.py", line 16, in
from gmusicapi.protocol import upload_pb2, locker_pb2
File "C:\Users\Keizo\AppData\Roaming\XBMC\addons\script.module.gmusicapi\lib\gmusicapi\protocol\upload_pb2.py", line 6, in
from google.protobuf import descriptor_pb2
ImportError: cannot import name descriptor_pb2
-->End of Python script error report<--
20:37:19 T:4112 ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.audio.googlemusic/
20:37:19 T:4112 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/) failed

I'm using windows 7 and the last version of xbmc Frodo 12.2

Kind regards.

Installation difficulties.

I hope I'm commenting in the right place for this issue. I'd like to say thanks for getting an early start on making this addon for Google Music! When I install, I am able to put my credentials, but then the plugin gets an error. It has never loaded my Google Music. Do I have to install Python? I had a version already, but I installed the newest as well. I did that so I could install setuptools. However, setup tools still says I have the wrong version of python. Forgive my simple questions, please. I'm still getting used to XBMC

Playlist Error

Here the log:

11:32:30 T:2847437888 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.KeyError'>
Error Contents: ('id',)
Traceback (most recent call last):
File "/home/xbmc/.xbmc/addons/plugin.audio.googlemusic/default.py", line 78, in
navigation.listMenu(params)
File "/home/xbmc/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 42, in listMenu
listItems = self.getStationTracks(get('id'))
File "/home/xbmc/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 244, in getStationTracks
url = '%s?action=play_song&song_id=%s&title=%s' % (sys.argv[0],track['id'].encode('utf8'),track['title'].encode('utf8'))
KeyError: ('id',)
-->End of Python script error report<--
11:32:31 T:3041513472 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/?id=0f3a2913-4efd-3e0d-96a1-03fc4a2d84e9&path=station
11:32:31 T:3041513472 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/?id=0f3a2913-4efd-3e0d-96a1-03fc4a2d84e9&path=station) failed

Addon fails to start on ATV2

Reported by dallasnights on the XBMC forum.

Log:

09:02:56 T:191844352 NOTICE: -->Python Interpreter Initialized<--
09:02:56 T:191844352 NOTICE: GoogleMusic-0.6.0 ARGV: ['plugin://plugin.audio.googlemusic/', '1', '']
09:02:57 T:168759296 NOTICE: metahandler: Loading sqlite3 as DB engine
09:02:57 T:168759296 NOTICE: metahandler: Metacontainers - Loading sqlite3 as DB engine
09:02:57 T:155365376 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/
09:02:57 T:155365376 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/) failed

Log after clearing cookie:

09:17:54 T:182317056 NOTICE: -->Python Interpreter Initialized<--
09:17:54 T:182317056 NOTICE: GoogleMusic-0.6.0 ARGV: ['plugin://plugin.audio.googlemusic/', '-1', '?action=clear_cookie']
09:18:07 T:179650560 NOTICE: -->Python Interpreter Initialized<--
09:18:07 T:179650560 NOTICE: GoogleMusic-0.6.0 ARGV: ['plugin://plugin.audio.googlemusic/', '-1', '?action=clear_cache']
09:18:14 T:178565120 NOTICE: -->Python Interpreter Initialized<--
09:18:14 T:178565120 NOTICE: GoogleMusic-0.6.0 ARGV: ['plugin://plugin.audio.googlemusic/', '2', '']
09:18:14 T:154832896 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/
09:18:14 T:154832896 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/) failed
09:18:18 T:154832896 NOTICE: Samba is idle. Closing the remaining connections

Script error using latest 0.8 with Fordo for Windows

21:54:01 T:2764 NOTICE: -->Python Interpreter Initialized<--
21:54:01 T:2764 NOTICE: GoogleMusic-0.8.0 ARGV: ['plugin://plugin.audio.googlemusic/', '1', '']
21:54:02 T:2764 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: No module named unittest2
Traceback (most recent call last):
File "C:\Users\Pedro Solorzano\AppData\Roaming\XBMC\addons\plugin.audio.googlemusic\default.py", line 43, in
import GoogleMusicApi
File "C:\Users\Pedro Solorzano\AppData\Roaming\XBMC\addons\plugin.audio.googlemusic\GoogleMusicApi.py", line 3, in
from gmusicapi.api import Api
File "C:\Users\Pedro Solorzano\AppData\Roaming\XBMC\addons\script.module.gmusicapi\lib\gmusicapi__init__.py", line 10, in
from gmusicapi.api import Api
File "C:\Users\Pedro Solorzano\AppData\Roaming\XBMC\addons\script.module.gmusicapi\lib\gmusicapi\api.py", line 17, in
from gmusicapi.gmtools import tools
File "C:\Users\Pedro Solorzano\AppData\Roaming\XBMC\addons\script.module.gmusicapi\lib\gmusicapi\gmtools\tools.py", line 10, in
from gmusicapi.compat import Counter
File "C:\Users\Pedro Solorzano\AppData\Roaming\XBMC\addons\script.module.gmusicapi\lib\gmusicapi\compat.py", line 14, in
import unittest2 as unittest
ImportError: No module named unittest2
-->End of Python script error report<--
21:54:02 T:2508 ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.audio.googlemusic
21:54:02 T:2508 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic) failed
21:54:08 T:2508 NOTICE: Storing total System Uptime
21:54:08 T:2508 NOTICE: Saving settings
21:54:08 T:2508 NOTICE: stop all
21:54:08 T:2508 NOTICE: ES: Stopping event server
21:54:09 T:2220 NOTICE: ES: UDP Event server stopped
21:54:09 T:2508 NOTICE: stopping zeroconf publishing
21:54:09 T:2508 NOTICE: Webserver: Stopping...
21:54:09 T:2508 NOTICE: WebServer: Stopped the webserver
21:54:09 T:2508 NOTICE: Webserver: Stopped...
21:54:09 T:2508 NOTICE: stop sap announcement listener
21:54:09 T:2508 NOTICE: clean cached files!
21:54:09 T:2508 NOTICE: unload skin
21:54:09 T:5736 NOTICE: StorageServer-2.5.0 Closed down
21:54:09 T:2508 NOTICE: stop python
21:54:09 T:2508 NOTICE: stopped
21:54:09 T:2508 NOTICE: destroy
21:54:09 T:2508 NOTICE: closing down remote control service
21:54:09 T:2508 NOTICE: unload sections
21:54:09 T:2508 NOTICE: destroy
21:54:09 T:2508 WARNING: Attempted to remove window 10013 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10014 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10015 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10016 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10017 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10018 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10019 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10021 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10107 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10115 from the window manager when it didn't exist
21:54:09 T:2508 WARNING: Attempted to remove window 10104 from the window manager when it didn't exist
21:54:09 T:2508 NOTICE: closing down remote control service
21:54:09 T:2508 NOTICE: unload sections
21:54:09 T:2508 NOTICE: application stopped...

simplejson not on OS X 10.9

It appears that the GoogleMusicPlaySong module is trying to import simplejson, but that module isn't available by default in OSX 10.6 (Python v2.7.5).

I'm running the latest monthly snapshot of XBMC from Dec. 01, 2013 (xbmc-13.0-Gotham_alpha10-x86_64.dmg). I'm also running version 0.8-exp14 that you posted to the thread about this plugin on the XBMC forums.

Here's this bit of log that encapsulates the error:

13:41:19 T:4588199936   DEBUG: StartScript - calling plugin Google Music Dev('plugin://plugin.audio.googlemusic/','1','')
13:41:19 T:4588199936   DEBUG: WaitOnScriptResult - waiting on the Google Music Dev (id=1) plugin...
13:41:19 T:4582170624  NOTICE: Thread LanguageInvoker start, auto delete: false
13:41:19 T:4582170624    INFO: initializing python engine.
13:41:19 T:4582170624   DEBUG: CPythonInvoker(1, /Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic/default.py): start processing
13:41:19 T:4582170624  NOTICE: -->Python Interpreter Initialized<--
13:41:19 T:4582170624   DEBUG: CPythonInvoker(1, /Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic/default.py): the source file to load is /Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic/default.py
13:41:19 T:4582170624   DEBUG: CPythonInvoker(1, /Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic/default.py): setting the Python path to /Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic:/Users/travis/Library/Application Support/XBMC/addons/script.module.protobuf/lib:/Applications/XBMC.app/Contents/Resources/XBMC/addons/script.module.pil/lib:/Users/travis/Library/Application Support/XBMC/addons/script.module.gmusicapi/lib:/Users/travis/Library/Application Support/XBMC/addons/script.module.requests/lib:/Users/travis/Library/Application Support/XBMC/addons/script.module.decorator/lib:/Users/travis/Library/Application Support/XBMC/addons/script.module.mutagen/lib:/Applications/XBMC.app/Contents/Resources/XBMC/addons/xbmc.debug/:/Users/travis/Library/Application Support/XBMC/addons/script.module.parsedom/lib:/Users/travis/Library/Application Support/XBMC/addons/script.module.validictory/lib:/Applications/XBMC.app/Contents/Frameworks:/Applications/XBMC.app/Contents/Frameworks/lib/python26.zip:/Applications/XBMC.app/Contents/Frameworks/lib/python2.6:/Applications/XBMC.app/Contents/Frameworks/lib/python2.6/plat-darwin:/Applications/XBMC.app/Contents/Frameworks/lib/python2.6/plat-mac:/Applications/XBMC.app/Contents/Frameworks/lib/python2.6/plat-mac/lib-scriptpackages:/Applications/XBMC.app/Contents/Frameworks/lib/python2.6/lib-tk:/Applications/XBMC.app/Contents/Frameworks/lib/python2.6/lib-old:/Applications/XBMC.app/Contents/Frameworks/lib/python2.6/lib-dynload:/Applications/XBMC.app/Contents/Frameworks/lib/python2.6/site-packages:/Applications/XBMC.app/Contents/Frameworks/lib/python2.6/site-packages/PIL
13:41:19 T:4582170624   DEBUG: CPythonInvoker(1, /Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic/default.py): entering source directory /Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic
13:41:19 T:4582170624   DEBUG: CPythonInvoker(1, /Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic/default.py): instantiating addon using automatically obtained id of "plugin.audio.googlemusic" dependent on version 2.1.0 of the xbmc.python api
13:41:19 T:4582170624  NOTICE: GoogleMusic-0.8exp14 ARGV: ['plugin://plugin.audio.googlemusic/', '1', '']
13:41:19 T:4582170624   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.ImportError'>
                                            Error Contents: No module named simplejson
                                            Traceback (most recent call last):
                                              File "/Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic/default.py", line 43, in <module>
                                                import GoogleMusicPlaySong
                                              File "/Users/travis/Library/Application Support/XBMC/addons/plugin.audio.googlemusic/GoogleMusicPlaySong.py", line 2, in <module>
                                                import simplejson as json
                                            ImportError: No module named simplejson
                                            -->End of Python script error report<--
13:41:19 T:4582170624    INFO: Python script stopped
13:41:19 T:4582170624   DEBUG: Thread LanguageInvoker 4582170624 terminating
13:41:19 T:4588199936   DEBUG:  WaitOnScriptResult - plugin exited prematurely - terminating

Edit: Updated the log snippet with one that included the Python path.

Failed to Retrieve Items from a newly created playlist

Hi Vially,
First of all thanks for creating such a wonderful plugin, I really like it :)

I wanted to report an issue. I recently created a new Playlist "Recent", its showing up in my PlayList but when I am fetching content of this playlist, I am getting following errors

18:42:39 T:2699029312 ERROR: 2012-09-08 18:42:39,219 - gmusicapi.Api - ERROR - call to loadplaylist failed
18:42:39 T:2699029312 NOTICE: .
18:42:39 T:2699029312 ERROR: Error Type: <class 'gmusicapi.api.CallFailure'>
18:42:39 T:2699029312 ERROR: Error Contents: api call get_playlist_songs failed; server returned {u'reloadXsrf': True, u'success': False}
18:42:39 T:2699029312 ERROR: Traceback (most recent call last):
File "/home/anshul3/.xbmc/addons/plugin.audio.googlemusic/default.py", line 45, in
navigation.listMenu(params)
File "/home/anshul3/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 42, in listMenu
self.listPlaylistSongs(get("playlist_id"))
File "/home/anshul3/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 101, in listPlaylistSongs
songs = self.api.getPlaylistSongs(playlist_id)
File "/home/anshul3/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 22, in getPlaylistSongs
self.updatePlaylistSongs(playlist_id)
File "/home/anshul3/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 49, in updatePlaylistSongs
api_songs = self.gmusicapi.get_playlist_songs(playlist_id)
File "/home/anshul3/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 288, in get_playlist_songs
return self._wc_call("loadplaylist", playlist_id)["playlist"]
File "/home/anshul3/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 639, in _wc_call
raise CallFailure(calling_func_name, res) #normally caused by bad arguments to the server
CallFailure: api call get_playlist_songs failed; server returned {u'reloadXsrf': True, u'success': False}
18:42:39 T:3019536128 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/?path=playlist&playlist_id=c301d029-87a4-492b-96d5-3da82373eb29
18:42:39 T:3019536128 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/?path=playlist&playlist_id=c301d029-87a4-492b-96d5-3da82373eb29) failed
18:42:39 T:2666519360 NOTICE: -->Python Interpreter Initialized<--
18:42:39 T:2666519360 NOTICE: GoogleMusic-0.2.1 ARGV: ['plugin://plugin.audio.googlemusic/', '0', '?path=playlists&playlist_type=user']
18:42:39 T:2666519360 NOTICE: CommonFunctions-1.1.0
18:42:39 T:2666519360 NOTICE: [GoogleMusic-0.2.1] getPlaylists : 'Getting playlists of type: user'
18:42:39 T:2666519360 NOTICE: [GoogleMusic-0.2.1] getPlaylists : '[(u'829e7c27-84de-493b-a017-ce29c4673ed6', u'Like ', u'user', 1), (u'0a92b38a-fcb8-3099-887c-073ccaf62f06', u'dance', u'user', 1), (u'758d45d2-231b-3b91-abd3-ba9f53ee389e', u'midomi', u'user', 1), (u'9617decd-a96a-4fb6-be49-767264b6917e', u'MISS YOU Mix', u'user', 1), (u'f826313e-2323-4986-9f16-03e2d9588e08', u'Fav', u'user', 1), (u'24eabcb4-3426-3cb4-bbf4-2227a3771bb0', u'Pop Archived', u'user', 0), (u'f2e708c4-5a51-3a1e-9212-4685f6a4c4d3', u'Genius', u'user', 0), (u'a6f377cc-f947-3e47-be7d-7f6d150ded42', u'fast no', u'user', 1), (u'b1716f1b-e6f3-333a-9d16-49ea12520b01', u'bhat songs', u'user', 0), (u'625b82ff-f833-3819-9dc7-8d320f352ce8', u'tapping', u'user', 1), (u'82456739-64ab-3a66-8b0d-c70b80a78f76', u'slow romantic', u'user', 1), (u'c301d029-87a4-492b-96d5-3da82373eb29', u'Recent', u'user', 0)]'

I initially thought it may be the cookie issue, so cleared that also and tried, but not success. Let me know if I can help you with any other info.

Anshul

Possible to fill Player.GetItem fanart attributes so can be used?

Hi
Thanks for plugin.
Notice that the fanart attribute from AudioGetItem, or Player.GetItem appears to always be blank?
eg.
http://127.0.0.1:8181/jsonrpc?request={"jsonrpc": "2.0", "method": "Player.GetItem", "params": { "properties": ["title", "album", "artist", "duration", "thumbnail", "file", "fanart", "streamdetails"], "playerid": 0 }, "id": "AudioGetItem"}

result:
{"id":"AudioGetItem","jsonrpc":"2.0","result":{"item":{"album":"","artist":["Cassidy"],"duration":0,"fanart":"","file":"https://r4---sn-ppoxu-ntqe.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id===

Can this be updated to point to fanart so that it can be used on web pages/secondary remotes?

Albums not loading tracks.

Here is the error:

22:31:20 T:2528130128 NOTICE: -->Python Interpreter Initialized<--
22:31:20 T:2528130128 NOTICE: GoogleMusicEXP-1.2 ARGV: ['plugin://plugin.audio.googlemusic.exp/', '23', '?path=search_result&query=Abominationz%20(Monoxide)%20Twiztid']
22:31:24 T:2528130128 NOTICE: [GoogleMusicEXP-1.2] Loading auth from cache
22:31:26 T:2528130128 ERROR: /storage/.xbmc/addons/script.module.requests/lib/requests/packages/urllib3/connectionpool.py:730: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html (This warning will only appear once by default.)
InsecureRequestWarning)
22:31:26 T:2561684560 NOTICE: Thread BackgroundLoader start, auto delete: false

Python exception while loading (caching) library

On first start, an exception is triggered while fetching library.
Then, playlists are available, but empty, and no songs are presents in library.

hereafter the relevant part in xbmc.log
...
22:03:45 T:2789356608 NOTICE: [GoogleMusicEXP-1.1] Logging in
22:03:49 T:2789356608 NOTICE: [GoogleMusicEXP-1.1] Login succeeded
22:03:51 T:2789356608 NOTICE: [GoogleMusicEXP-1.1] [{xxxxxxxxxxxxx'}]
22:03:51 T:2789356608 NOTICE: [GoogleMusicEXP-1.1] Found device_id: yyyyyyyyyyyyy
22:03:51 T:2789356608 NOTICE: [GoogleMusicEXP-1.1] Loading library
22:03:51 T:2789356608 NOTICE: [GoogleMusicEXP-1.1] Loading auth from cache
22:06:04 T:2789356608 NOTICE: [GoogleMusicEXP-1.1] Library Size: 10518
22:06:11 T:2789356608 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.KeyError'>
Error Contents: ('albumArtist',)
Traceback (most recent call last):
File "/home/pi/.xbmc/addons/plugin.audio.googlemusic.exp/default.py", line 77, in
navigation.api.loadLibrary()
File "/home/pi/.xbmc/addons/plugin.audio.googlemusic.exp/GoogleMusicApi.py", line 70, in loadLibrary
self.storage.storeApiSongs(api_songs, 'all_songs')
File "/home/pi/.xbmc/addons/plugin.audio.googlemusic.exp/GoogleMusicStorage.py", line 162, in storeApiSongs
self.storeInAllSongs(api_songs)
File "/home/pi/.xbmc/addons/plugin.audio.googlemusic.exp/GoogleMusicStorage.py", line 202, in storeInAllSongs
":url, :total_discs, :duration, :album_art_url, :display_name, NULL)", songs())
File "/home/pi/.xbmc/addons/plugin.audio.googlemusic.exp/GoogleMusicStorage.py", line 182, in songs
'album_artist': api_song["albumArtist"] if api_song["albumArtist"] else api_song["artist"] if api_song["artist"] else '-Unknown-',
KeyError: ('albumArtist',)
-->End of Python script error report<--
22:06:12 T:3037500192 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic.exp/
22:06:12 T:3037500192 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic.exp/) failed
...

Merges albums of the same name

For example, I have "Greatest Hits" by The Who, and "Greatest Hits" by CCR in my library, and if I go to Artists>CCR>Greatest Hits, it displays the sings from both artists in that album.

Error exporting my library

Using 1.4alpha1, I'm getting the following error when I try to export My Library:

16:00:20 T:1722430624   DEBUG: bool CApplication::OnKey(const CKey&): 11 (0x0b) pressed, action is Select
16:00:20 T:1722430624   DEBUG: ------ Window Deinit (DialogContextMenu.xml) ------
16:00:20 T:1722430624   DEBUG: static bool XFILE::CPluginDirectory::RunScriptWithParams(const string&) - calling plugin Google Music EXP('plugin://plugin.audio.googlemusic.exp/','-1','?action=export_library')
16:00:20 T:1900065072  NOTICE: Thread LanguageInvoker start, auto delete: false
16:00:20 T:1900065072    INFO: initializing python engine.
16:00:20 T:1900065072   DEBUG: CPythonInvoker(67, /storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp/default.py): start processing
16:00:20 T:1900065072  NOTICE: -->Python Interpreter Initialized<--
16:00:20 T:1900065072   DEBUG: CPythonInvoker(67, /storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp/default.py): the source file to load is "/storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp/default.py"
16:00:20 T:1900065072   DEBUG: CPythonInvoker(67, /storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp/default.py): setting the Python path to /storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp:/storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.decorator/lib:/storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.requests/lib:/:/data/app/org.xbmc.kodi-1.apk/assets/python2.6/lib/python26.zip:/data/app/org.xbmc.kodi-1.apk/assets/python2.6/lib/python2.6:/data/app/org.xbmc.kodi-1.apk/assets/python2.6/lib/python2.6/plat-linux3:/data/app/org.xbmc.kodi-1.apk/assets/python2.6/lib/python2.6/lib-tk:/data/app/org.xbmc.kodi-1.apk/assets/python2.6/lib/python2.6/lib-old:/data/app/org.xbmc.kodi-1.apk/assets/python2.6/lib/python2.6/lib-dynload
16:00:20 T:1900065072   DEBUG: CPythonInvoker(67, /storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp/default.py): entering source directory /storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp
16:00:20 T:1900065072   DEBUG: CPythonInvoker(67, /storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp/default.py): instantiating addon using automatically obtained id of "plugin.audio.googlemusic.exp" dependent on version 2.1.0 of the xbmc.python api
16:00:20 T:1900065072  NOTICE: [GoogleMusicEXP-1.4~alpha1]  ARGV: ['plugin://plugin.audio.googlemusic.exp/', '-1', '?action=export_library']
16:00:21 T:1900065072   DEBUG: DialogProgress::StartModal called
16:00:21 T:1900065072   DEBUG: ------ Window Init (DialogProgress.xml) ------
16:00:21 T:1900065072   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnicodeEncodeError'>
                                            Error Contents: 'ascii' codec can't encode character u'\xe7' in position 121: ordinal not in range(128)
                                            Traceback (most recent call last):
                                              File "/storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp/default.py", line 18, in <module>
                                                GoogleMusicActions.GoogleMusicActions().executeAction(action, params)
                                              File "/storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp/GoogleMusicActions.py", line 42, in executeAction
                                                self.exportLibrary(utils.addon.getSetting('export_path'))
                                              File "/storage/sdcard0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.audio.googlemusic.exp/GoogleMusicActions.py", line 145, in exportLibrary
                                                with open(os.path.join(path,artist,album,str(song[11])+'-'+self._sanitizePath(song[8])+'.strm'), "w") as strm:
                                            UnicodeEncodeError: 'ascii' codec can't encode character u'\xe7' in position 121: ordinal not in range(128)
                                            -->End of Python script error report<--

Since I have a few artists and albums in my library that have non-ASCII characters in them (Sigur Rós and f♯a♯∞ being the obvious ones that come to mind), I'm guessing the Python script is choking on one of them.

Track sorting

I have lots of albums not properly tagged before importing it to Google Music, so tracks often don't have valid track numbers. But they have names with numbers (01 title name, 02 title name).

Could You please modify GoogleMusicStorage.py from line 51:

        if albumArtist:
            query = "select * from songs where album = :filter and album_artist = :albumArtist order by disc asc, track asc, display_name asc"
        elif filter_type == 'album':
            query = "select * from songs where album = :filter order by disc asc, track asc, display_name asc"
        elif filter_type == 'artist':
            query = "select * from songs where artist = :filter order by album asc, disc asc, track asc, display_name asc"
        elif filter_type == 'genre':
            query = "select * from songs where genre = :filter order by album asc, disc asc, track asc, title asc, display_name asc"
        elif filter_type == 'composer':
            query = "select * from songs where composer = :filter order by album asc, disc asc, track asc, title asc, display_name asc"

Just add "display_name asc" in the end of the order clause. It will help me not to modify the source on every upgrade of Your excellent plugin. Thank You.

Frodo RC1 error

Hi,
the script doesn't work with Frodo RC 1. Playing a song just shows the "error in addon" issue.
Last lines of the log:

22:56:52 T:139801629992704 NOTICE: Thread XBPyThread start, auto delete: false
22:56:52 T:139801629992704 NOTICE: -->Python Interpreter Initialized<--
22:56:52 T:139801629992704 NOTICE: GoogleMusic-0.2.1
22:56:53 T:139801629992704 NOTICE: CommonFunctions-1.4.0
22:56:54 T:139801629992704 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ValueError'>
Error Contents: No JSON object could be decoded
Traceback (most recent call last):
File "/home/christian/.xbmc/addons/plugin.audio.googlemusic/default.py", line 43, in
navigation.executeAction(params)
File "/home/christian/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 59, in executeAction
self.playSong(params)
File "/home/christian/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 148, in playSong
url = self.api.getSongStreamUrl(get("song_id"))
File "/home/christian/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 60, in getSongStreamUrl
stream_url = self.gmusicapi.get_stream_url(song_id)
File "/home/christian/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 371, in get_stream_url
res = self._wc_call("play", query_args={'songid': song_id})
File "/home/christian/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 624, in _wc_call
res = json.loads(read)
File "/usr/lib/python2.7/json/init.py", line 328, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 383, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
-->End of Python script error report<--
22:56:54 T:139803028227968 ERROR: Playlist Player: skipping unplayable item: 16, path [plugin://plugin.audio.googlemusic/?action=play_song&song_id=df58fd50-41ad-395c-8a84-476d857739b5]

does not play any songs

Hi,

I've installed the plugin and can login. However I cannot get it to play any tracks. I click on "I'm feeling lucky mix" and get only an empty playlist. This is the error I get in the logfile:

11:07:18 T:2922411072 NOTICE: [GoogleMusicEXP-1.6] *** NO TRACKS *** CallFailure('400 Client Error: Bad Request for url: https://mclients.googleapis.com/sj/v2.0w/radio/stationfeed?alt=json&include-tracks=true\n(requests kwargs: {'url': 'https://mclients.googleapis.com/sj/v2.0w/radio/stationfeed\', 'headers': {'Content-Type': 'application/json', 'Authorization': ''}, 'data': '{"contentFilter": 1, "stations": [{"numEntries": 100, "recentlyPlayed": [], "radioId": "IFL"}]}', 'method': 'POST', 'params': {'alt': 'json', 'include-tracks': 'true'}})\n(response was: '{\n "error": {\n "errors": [\n {\n "domain": "global",\n "reason": "badRequest",\n "message": "Bad Request"\n }\n ],\n "code": 400,\n "message": "Bad Request"\n }\n}\n')',)

Playlist not fully showing

When I create a Playlist on my phone from an album of and later add other songs it only shows the items from the first added album and not any new items.

Steps:
Add play list from album
Update on kodi. Playlist shows all songs.
Add a new song to playlist
Update Playlist on kodi.
Still old playlist

Library Update Errors

11:53:05 T:804769792 NOTICE: Starting Kodi (14.1 Git:2015-01-30-38e4046-dirty). Platform: iOS ATV2 ARM (Thumb) 32-bit
11:53:05 T:804769792 NOTICE: Using Release Kodi x32 build (version for AppleTV2)
11:53:05 T:804769792 NOTICE: Kodi compiled Jan 30 2015 by GCC 4.2.1 for iOS ATV2 ARM (Thumb) 32-bit version 4.2.0 (40200)
11:53:05 T:804769792 NOTICE: Running on Apple Inc. AppleTV2,1 with iOS 6.1.4, kernel: Darwin ARM 32-bit version 13.0.0

11:53:17 T:158396416 NOTICE: -->Python Interpreter Initialized<--
11:53:17 T:158396416 NOTICE: GoogleMusicEXP-1.3 ARGV: ['plugin://plugin.audio.googlemusic.exp/', '1', '']
11:53:20 T:158396416 NOTICE: [GoogleMusicEXP-1.3] Loading auth from cache
11:53:20 T:137777152 NOTICE: Thread BackgroundLoader start, auto delete: false
11:53:27 T:158396416 NOTICE: Thread LanguageInvoker start, auto delete: false
11:53:27 T:158396416 NOTICE: -->Python Interpreter Initialized<--
11:53:27 T:158396416 NOTICE: GoogleMusicEXP-1.3 ARGV: ['plugin://plugin.audio.googlemusic.exp/', '-1', '?action=update_library']
11:53:29 T:158396416 NOTICE: [GoogleMusicEXP-1.3] Loading auth from cache
11:53:29 T:168783872 NOTICE: Thread LanguageInvoker start, auto delete: false
11:53:30 T:168783872 NOTICE: -->Python Interpreter Initialized<--
11:53:30 T:168783872 NOTICE: GoogleMusicEXP-1.3 ARGV: ['plugin://plugin.audio.googlemusic.exp/', '-1', '']
11:53:32 T:168783872 NOTICE: [GoogleMusicEXP-1.3] Trying to fetch the device_id
11:53:32 T:168783872 NOTICE: [GoogleMusicEXP-1.3] Logging in
11:53:44 T:168783872 NOTICE: [GoogleMusicEXP-1.3] ConnectionError(ReadTimeoutError("HTTPSConnectionPool(host='play.google.com', port=443): Read timed out.",),)
11:53:44 T:168783872 NOTICE: [GoogleMusicEXP-1.3] Login succeeded
11:53:44 T:168783872 ERROR: /var/mobile/Library/Preferences/Kodi/addons/script.module.requests/lib/requests/packages/urllib3/connectionpool.py:730: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html (This warning will only appear once by default.)
InsecureRequestWarning)
11:53:54 T:168783872 NOTICE: [GoogleMusicEXP-1.3] No device found, using default.
11:53:54 T:168783872 NOTICE: [GoogleMusicEXP-1.3] Found device_id: 333c60412227c96f
11:53:54 T:168783872 NOTICE: [GoogleMusicEXP-1.3] Loading library
11:53:54 T:168783872 NOTICE: [GoogleMusicEXP-1.3] Loading auth from cache
11:54:12 T:168783872 NOTICE: [GoogleMusicEXP-1.3] Library Size: 1402
11:54:14 T:168783872 WARNING: Attempt to use invalid handle -1
11:54:14 T:168783872 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.TypeError'>
Error Contents: an integer is required
Traceback (most recent call last):
File "/var/mobile/Library/Preferences/Kodi/addons/plugin.audio.googlemusic.exp/default.py", line 79, in
navigation.listMenu()
File "/var/mobile/Library/Preferences/Kodi/addons/plugin.audio.googlemusic.exp/GoogleMusicNavigation.py", line 92, in listMenu
self.xbmcplugin.addSortMethod(handle1, self.xbmcplugin.SORT_METHOD_UNSORTED)
TypeError: an integer is required
-->End of Python script error report<--

Error creating kodi favorites (on sub menus)

version 1.4alpha3 on kodi Amazon Fire TV
Error (Script failed! : Google Music EXP) when trying to add a favourite on the Library sub menus (example: "Albums"). Doesn't add it to Kodi Favourites.

However, favourite-ing still functions on the first menu item "Google Music EXP"


Prior version sub menu favourite-ing worked (1.2 or 1.3?)

Two disc albums don't play in order

I have a number of two disc albums with duplicate track numbers (as is standard when more than 1 disc), eg disc 1 track 1, disc 2 track 1. The official website, apps etc correctly play the second disc tracks after all the first disc tracks however this plugin plays them solely in track order hence the second disc tracks are mixed in with the first disc tracks,

Thanks

Script error

Tried to do "Play Album". Got this in the log:

23:42:18 T:139760634943232 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.TypeError'>
Error Contents: getFilterSongs() takes exactly 4 arguments (3 given)
Traceback (most recent call last):
File "/storage/.xbmc/addons/plugin.audio.googlemusic.exp/default.py", line 82, in
navigation.executeAction(params)
File "/storage/.xbmc/addons/plugin.audio.googlemusic.exp/GoogleMusicNavigation.py", line 100, in executeAction
self.playAll(params)
File "/storage/.xbmc/addons/plugin.audio.googlemusic.exp/GoogleMusicNavigation.py", line 201, in playAll
songs = self.api.getFilterSongs(get('filter_type'), get('filter_criteria'))
TypeError: getFilterSongs() takes exactly 4 arguments (3 given)
-->End of Python script error report<--

Long playback gap between songs

Hey, i'm running this on raspbmc and internet throughput is about 10Mb. Firstly, thanks! Having google music on my new pi is truly awesome :smil

There are long gaps between playing songs on playlists (i've only tried playlist thus far). I get the loading animation between songs but only after about 15 or so seconds of watching the visualizer flatline and nothing happening. The gap isn't epic but its certainly too long to run a house party on. About 25 or so seconds. Perhaps the plugin could get the next song before the current once finishes?

Unplayable item

I'm getting errors trying to play any song. This is on the latest Kodi (15.2), on Ubuntu 15.10. The log tells me:

ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.audio.googlemusic.exp/?action=play_song&song_id=3f801cc1-a489-36c9-9a53-c767fca1299c&title=Bananarama - Cruel Summer&artist=Various Artists&albumart=/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/icon.png]

The full traceback is:

Error Type: <type 'exceptions.TypeError'>
Error Contents: initializer for ctype 'int(*)()' must be a pointer to same type, not cdata 'int(*)()'
Traceback (most recent call last):
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/default.py", line 13, in <module>
    GoogleMusicPlaySong.GoogleMusicPlaySong().play(params)
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/GoogleMusicPlaySong.py", line 13, in play
    params = self.__getSongStreamUrl(song_id, params)
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/GoogleMusicPlaySong.py", line 53, in __getSongStreamUrl
    params['url'] = self.api.getSongStreamUrl(song_id)
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/GoogleMusicApi.py", line 68, in getSongStreamUrl
    stream_url = self.getLogin().getStreamUrl(song_id)
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/GoogleMusicApi.py", line 26, in getLogin
    self.getApi()
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/GoogleMusicApi.py", line 12, in getApi
    import GoogleMusicLogin
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/GoogleMusicLogin.py", line 3, in <module>
    from gmusicapi import Mobileclient
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/gmusicapi/__init__.py", line 4, in <module>
    from gmusicapi.clients import Mobileclient
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/gmusicapi/clients/__init__.py", line 3, in <module>
    from gmusicapi.clients.mobileclient import Mobileclient
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/gmusicapi/clients/mobileclient.py", line 7, in <module>
    from gmusicapi import session
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/gmusicapi/session.py", line 8, in <module>
    import gpsoauth
  File "/home/tv/.kodi/addons/plugin.audio.googlemusic.exp/gpsoauth/__init__.py", line 1, in <module>
    import requests
  File "/home/tv/.kodi/addons/script.module.requests/lib/requests/__init__.py", line 53, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "/home/tv/.kodi/addons/script.module.requests/lib/requests/packages/urllib3/contrib/pyopenssl.py", line 53, in <module>
    import OpenSSL.SSL
  File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "/usr/lib/python2.7/dist-packages/OpenSSL/rand.py", line 11, in <module>
    from OpenSSL._util import (
  File "/usr/lib/python2.7/dist-packages/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
  File "/usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 42, in <module>
    class Binding(object):
  File "/usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 59, in Binding
    status=_osrandom_rand_status)
TypeError: initializer for ctype 'int(*)()' must be a pointer to same type, not cdata 'int(*)()'

Cannot install

Hi,

When I try to install Google Music Plugin for XBMC on my Mac, but it always says "Dependencies not met".

Three zips are all can't be installed.

Any idea? Thanks!

Plugin needs administrator permissions to run on Windows 7

The plugin right now requires administrator permissions to run on Windows 7. This is because it tries to write the log file (googlemusicapi.log or something I think) in the Program Files/XBMC directory.

I fixed this on my computer by changing apilogging.py to create the log file in the special://profile/addon_data/ directory instead, but a real fix is needed.

Thanks.

Addon fails to start on OpenELEC on Raspberry Pi

09:18:11 T:2845475936 NOTICE: Thread CFileCache start, auto delete: false
09:18:20 T:3046633472 NOTICE: Previous line repeats 1 times.
09:18:20 T:3046633472 ERROR: Texture manager unable to load file: /storage/downloads/plugin.audio.googlemusic-0.8.2.zip/icon.png
09:18:22 T:2845475936 NOTICE: Thread CFileCache start, auto delete: false
09:18:22 T:2845475936 NOTICE: Thread BackgroundLoader start, auto delete: false
09:18:29 T:2845475936 NOTICE: Previous line repeats 2 times.
09:18:29 T:2845475936 NOTICE: Thread CFileCache start, auto delete: false
09:18:33 T:2845475936 NOTICE: Thread BackgroundLoader start, auto delete: false
09:18:37 T:2845475936 NOTICE: Previous line repeats 3 times.
09:18:37 T:2845475936 NOTICE: Thread XBPyThread start, auto delete: false
09:18:38 T:2845475936 NOTICE: -->Python Interpreter Initialized<--
09:18:38 T:2845475936 NOTICE: GoogleMusic-0.8.2 ARGV: ['plugin://plugin.audio.googlemusic/', '1', '']
09:18:57 T:2845475936 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: cannot import name descriptor_pb2
Traceback (most recent call last):
File "/storage/.xbmc/addons/plugin.audio.googlemusic/default.py", line 43, in
import GoogleMusicApi
File "/storage/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 3, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/init.py", line 10, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 22, in
from gmusicapi.protocol import webclient, musicmanager, upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/musicmanager.py", line 16, in
from gmusicapi.protocol import upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/upload_pb2.py", line 6, in
from google.protobuf import descriptor_pb2
ImportError: cannot import name descriptor_pb2
-->End of Python script error report<--
09:18:58 T:3046633472 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/
09:18:58 T:3046633472 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/) failed
09:18:58 T:2845475936 NOTICE: Thread BackgroundLoader start, auto delete: false
09:19:22 T:2845475936 NOTICE: Previous line repeats 4 times.
09:19:22 T:2845475936 NOTICE: Thread XBPyThread start, auto delete: false
09:19:22 T:2767098976 NOTICE: Thread BackgroundLoader start, auto delete: false
09:19:23 T:2845475936 NOTICE: Previous line repeats 1 times.
09:19:23 T:2845475936 NOTICE: -->Python Interpreter Initialized<--
09:19:23 T:2845475936 NOTICE: GoogleMusic-0.8.2 ARGV: ['plugin://plugin.audio.googlemusic/', '-1', '?action=clear_cookie']
09:19:24 T:2767098976 NOTICE: Thread XBPyThread start, auto delete: false
09:19:29 T:2767098976 NOTICE: -->Python Interpreter Initialized<--
09:19:30 T:2845475936 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: cannot import name descriptor_pb2
Traceback (most recent call last):
File "/storage/.xbmc/addons/plugin.audio.googlemusic/default.py", line 43, in
import GoogleMusicApi
File "/storage/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 3, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/init.py", line 10, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 22, in
from gmusicapi.protocol import webclient, musicmanager, upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/musicmanager.py", line 16, in
from gmusicapi.protocol import upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/upload_pb2.py", line 6, in
from google.protobuf import descriptor_pb2
ImportError: cannot import name descriptor_pb2
-->End of Python script error report<--
09:19:30 T:2767098976 NOTICE: GoogleMusic-0.8.2 ARGV: ['plugin://plugin.audio.googlemusic/', '2', '']
09:19:37 T:2767098976 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: cannot import name descriptor_pb2
Traceback (most recent call last):
File "/storage/.xbmc/addons/plugin.audio.googlemusic/default.py", line 43, in
import GoogleMusicApi
File "/storage/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 3, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/init.py", line 10, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 22, in
from gmusicapi.protocol import webclient, musicmanager, upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/musicmanager.py", line 16, in
from gmusicapi.protocol import upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/upload_pb2.py", line 6, in
from google.protobuf import descriptor_pb2
ImportError: cannot import name descriptor_pb2
-->End of Python script error report<--
09:19:37 T:3046633472 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/
09:19:37 T:3046633472 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/) failed
09:19:37 T:2767098976 NOTICE: Thread BackgroundLoader start, auto delete: false
09:22:22 T:2837087328 NOTICE: Previous line repeats 11 times.
09:22:22 T:2837087328 NOTICE: Thread Jobworker start, auto delete: true
09:24:23 T:2793317472 NOTICE: Previous line repeats 1 times.
09:24:23 T:2793317472 NOTICE: Thread BackgroundLoader start, auto delete: false
09:24:24 T:2793317472 NOTICE: Previous line repeats 1 times.
09:24:24 T:2793317472 NOTICE: Thread XBPyThread start, auto delete: false
09:24:25 T:2793317472 NOTICE: -->Python Interpreter Initialized<--
09:24:25 T:2793317472 NOTICE: GoogleMusic-0.8.2 ARGV: ['plugin://plugin.audio.googlemusic/', '3', '']
09:24:30 T:2793317472 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: cannot import name descriptor_pb2
Traceback (most recent call last):
File "/storage/.xbmc/addons/plugin.audio.googlemusic/default.py", line 43, in
import GoogleMusicApi
File "/storage/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 3, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/init.py", line 10, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 22, in
from gmusicapi.protocol import webclient, musicmanager, upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/musicmanager.py", line 16, in
from gmusicapi.protocol import upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/upload_pb2.py", line 6, in
from google.protobuf import descriptor_pb2
ImportError: cannot import name descriptor_pb2
-->End of Python script error report<--
09:24:30 T:3046633472 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/
09:24:30 T:3046633472 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/) failed
09:24:30 T:2793317472 NOTICE: Thread BackgroundLoader start, auto delete: false
09:24:32 T:2793317472 NOTICE: Previous line repeats 1 times.
09:24:32 T:2793317472 NOTICE: Thread XBPyThread start, auto delete: false
09:24:33 T:2793317472 NOTICE: -->Python Interpreter Initialized<--
09:24:33 T:2793317472 NOTICE: GoogleMusic-0.8.2 ARGV: ['plugin://plugin.audio.googlemusic/', '4', '']
09:24:39 T:2793317472 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: cannot import name descriptor_pb2
Traceback (most recent call last):
File "/storage/.xbmc/addons/plugin.audio.googlemusic/default.py", line 43, in
import GoogleMusicApi
File "/storage/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 3, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/init.py", line 10, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 22, in
from gmusicapi.protocol import webclient, musicmanager, upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/musicmanager.py", line 16, in
from gmusicapi.protocol import upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/upload_pb2.py", line 6, in
from google.protobuf import descriptor_pb2
ImportError: cannot import name descriptor_pb2
-->End of Python script error report<--
09:24:39 T:3046633472 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/
09:24:39 T:3046633472 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/) failed
09:24:39 T:2793317472 NOTICE: Thread BackgroundLoader start, auto delete: false
09:25:00 T:2793317472 NOTICE: Previous line repeats 1 times.
09:25:00 T:2793317472 NOTICE: Thread XBPyThread start, auto delete: false
09:25:01 T:2793317472 NOTICE: -->Python Interpreter Initialized<--
09:25:01 T:2793317472 NOTICE: GoogleMusic-0.8.2 ARGV: ['plugin://plugin.audio.googlemusic/', '5', '']
09:25:05 T:2793317472 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: cannot import name descriptor_pb2
Traceback (most recent call last):
File "/storage/.xbmc/addons/plugin.audio.googlemusic/default.py", line 43, in
import GoogleMusicApi
File "/storage/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 3, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/init.py", line 10, in
from gmusicapi.api import Api
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 22, in
from gmusicapi.protocol import webclient, musicmanager, upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/musicmanager.py", line 16, in
from gmusicapi.protocol import upload_pb2, locker_pb2
File "/storage/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/protocol/upload_pb2.py", line 6, in
from google.protobuf import descriptor_pb2
ImportError: cannot import name descriptor_pb2
-->End of Python script error report<--
09:25:06 T:3046633472 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/
09:25:06 T:3046633472 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/) failed

Error import

11:53:26 T:2757751872 NOTICE: -->Python Interpreter Initialized<--
11:53:26 T:2757751872 DEBUG: Process - The source file to load is /home/pi/.xbmc/addons/plugin.audio.googlemusic/default.py
11:53:27 T:2757751872 DEBUG: Process - Setting the Python path to /home/pi/.xbmc/addons/plugin.audio.googlemusic:/opt/xbmc-bcm/xbmc-bin/share/xbmc/addons/script.module.pil/lib:/opt/xbmc-bcm/xbmc-bin/share/xbmc/addons/script.module.pysqlite/lib:/home/pi/.xbmc/addons/script.module.simplejson/lib:/home/pi/.xbmc/addons/script.common.plugin.cache/lib:/home/pi/.xbmc/addons/script.module.mutagen/lib:/home/pi/.xbmc/addons/script.module.gmusicapi/lib:/usr/lib/python2.7:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:
11:53:27 T:2757751872 DEBUG: Process - Entering source directory /home/pi/.xbmc/addons/plugin.audio.googlemusic
11:53:27 T:2757751872 DEBUG: Instantiating addon using automatically obtained id of "plugin.audio.googlemusic" dependent on version 2.1.0 of the xbmc.python api
11:53:27 T:2757751872 NOTICE: GoogleMusic-0.8.2 ARGV: ['plugin://plugin.audio.googlemusic/', '1', '']
11:53:27 T:3041014400 DEBUG: ------ Window Init (DialogBusy.xml) ------
11:53:29 T:2757751872 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: No module named requests
Traceback (most recent call last):
File "/home/pi/.xbmc/addons/plugin.audio.googlemusic/default.py", line 43, in
import GoogleMusicApi
File "/home/pi/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 3, in
from gmusicapi.api import Api
File "/home/pi/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/init.py", line 10, in
from gmusicapi.api import Api
File "/home/pi/.xbmc/addons/script.module.gmusicapi/lib/gmusicapi/api.py", line 15, in
import requests
ImportError: No module named requests
-->End of Python script error report<--
11:53:29 T:3041014400 DEBUG: ------ Window Init (DialogKaiToast.xml) ------
11:53:29 T:2757751872 INFO: Python script stopped
11:53:29 T:2757751872 DEBUG: Thread XBPyThread 2757751872 terminating
11:53:29 T:2792354880 DEBUG: WaitOnScriptResult - plugin exited prematurely - terminating
11:53:29 T:3041014400 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/
11:53:29 T:3041014400 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/) failed
11:53:29 T:3041014400 DEBUG: CGUIMediaWindow::GetDirectory (addons://sources/audio/)

dependencies not met on raspbmc install

Sorry if this is a really obvious question, not done this before - I've just "installed from zip file" on my raspbmc device and got the brief error "dependencies not met". How do I find out more? Does anyone know what dependencies and where I can get them?

Fix sharing from Yatse

The line
get = params.get
is missing in GoogleMusicActions::playAll, which results in an error when trying to share an album from Yatse (XBMC remote)

error when playing song

Hello,

im trying to get this addon to work, would be really cool to play my google music in kodi.

using plugin.audio.googlemusic.exp-1.5 i get an error when im trying to play a song.

i can view und browser my library but i cannot play anything.

when playing a song i get the following error:
Error Contents: GetStreamUrl: 403 Client Error: Forbidden
here is the full log: http://pastebin.com/BLGhVG96

im on
11:15:28 403605.562500 T:1966862336 NOTICE: Starting Kodi (16.0-ALPHA3 Git:6adfe05). Platform: Linux ARM 32-bit
11:15:28 403605.562500 T:1966862336 NOTICE: Using Release Kodi x32 build (version for Raspberry Pi)
11:15:28 403605.562500 T:1966862336 NOTICE: Kodi compiled Sep 7 2015 by GCC 4.9.3 for Linux ARM 32-bit version 4.1.6 (262406)
11:15:28 403605.562500 T:1966862336 NOTICE: Running on OpenELEC (Milhouse) - Version: devel-20150907223839-#0907-g51eea0c [Build #0907] 6.0, kernel: Linux ARM 32-bit version 4.1.6

regards

OpenELEC 3.0.0

Getting this error when trying to run the plugin in the following version:

  1. script.module.mutagen-1.21.0.zip
  2. script.module.gmusicapi-2013.02.28.zip
  3. plugin.audio.googlemusic-0.8.2.zip
    on OpenELEC 3.0.0
    "script failed: plugin.audio.googlemusic"
    I installed them in the appropriate order and entered my credentials (application password bc. two-factor-authentication.

The plugin doesn't load any song into its library from google

When I try to open All Songs from plugin (or anything else), I get an error. I am using Ubuntu 12.10 x86-64, XBMC 11, Python 2.7.3. and 2 step authentication on google. I tested the application specific password with gmusicapi in python and it works. What am I missing here?

Thanks.

P.s. Here is the part of xbmc log related to it:

18:28:56 T:140030997772032 ERROR: Error Type: <type 'exceptions.IOError'>
18:28:56 T:140030997772032 ERROR: Error Contents: (2, 'No such file or directory', '/home/milos/.xbmc/addons/plugin.audio.googlemusic/gmusic_cookies.txt')
18:28:56 T:140030997772032 ERROR: Traceback (most recent call last):
File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/default.py", line 41, in
navigation.listMenu(params)
File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 53, in listMenu
self.listPlaylistSongs(get("playlist_id"))
File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicNavigation.py", line 166, in listPlaylistSongs
songs = self.api.getPlaylistSongs(playlist_id)
File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 22, in getPlaylistSongs
self.updatePlaylistSongs(playlist_id)
File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicApi.py", line 45, in updatePlaylistSongs
self.login.login()
File "/home/milos/.xbmc/addons/plugin.audio.googlemusic/GoogleMusicLogin.py", line 48, in login
self.gmusicapi.session.cookies.load(filename=self._cookie_file, ignore_discard=True)
File "/usr/lib/python2.7/cookielib.py", line 1761, in load
f = open(filename)
IOError: (2, 'No such file or directory', '/home/milos/.xbmc/addons/plugin.audio.googlemusic/gmusic_cookies.txt')
18:28:56 T:140031105771392 ERROR: GetDirectory - Error getting plugin://plugin.audio.googlemusic/?path=playlist&playlist_id=all_songs
18:28:56 T:140031105771392 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.googlemusic/?path=playlist&playlist_id=all_songs) failed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.