Kodi Community Forum
Release Experimental Google Music Addon - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Music Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=148)
+---- Thread: Release Experimental Google Music Addon (/showthread.php?tid=200640)



RE: Experimental Google Music Addon - dexdeadly - 2014-12-05

(2014-12-03, 05:11)foreverguest Wrote:
(2014-12-02, 23:34)dexdeadly Wrote: OK spoke with Yatse team and he said he would need to know what needs sent. Also though he asked if this was an official add on. So I don't know if that would stop this from getting done.

It should send this kind of url: 'plugin://plugin.audio.googlemusic.exp/?action=play_song&song_id=XXXXXXXXXX'
It is not official. But if it means being available in a official repository, we can try to submit it for inclusion.

Yes I was looking at how to submit it. Would be awesome to have this work and be official. Again let me know if there is anything I can do to help. What type of environment are you using to develop this in??


RE: Experimental Google Music Addon - matthuisman - 2014-12-05

I am getting the below errors in Windows

Code:
15:55:17 T:5496   ERROR: C:\Users\Matt\AppData\Roaming\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)
15:55:17 T:6372  NOTICE: ES: UDP Event server stopped
15:55:17 T:6684  NOTICE: stop sap announcement listener
15:55:17 T:6684  NOTICE: clean cached files!
15:55:17 T:6684  NOTICE: unload skin
15:55:17 T:5496   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.NameError'>
                                            Error Contents: global name 'plugin' is not defined
                                            Traceback (most recent call last):
                                              File "C:\Users\Matt\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\default.py", line 48, in <module>
                                                song.play(params)
                                              File "C:\Users\Matt\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicPlaySong.py", line 18, in play
                                                url = self.__getSongStreamUrl(song_id)
                                              File "C:\Users\Matt\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicPlaySong.py", line 53, in __getSongStreamUrl
                                                return api.getSongStreamUrl(song_id)
                                              File "C:\Users\Matt\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicApi.py", line 82, in getSongStreamUrl
                                                stream_url = self.login.getStreamUrl(song_id)
                                              File "C:\Users\Matt\AppData\Roaming\Kodi\addons\plugin.audio.googlemusic.exp\GoogleMusicLogin.py", line 46, in getStreamUrl
                                                xbmc.executebuiltin("XBMC.Notification("+plugin+",'All Access track not playable')")
                                            NameError: global name 'plugin' is not defined
                                            -->End of Python script error report<--

Looks like you might need to change to

Code:
xbmc.executebuiltin("XBMC.Notification("+self.main.plugin+",'All Access track not playable')")



RE: Experimental Google Music Addon - dexdeadly - 2014-12-05

Hello

So this is where we are at. Currently the share URL contains this as a song code

Tigpt7vkredlj4wjvohp6yznlse

I noticed in the logs you use a song_Id now this matches in the HTML code but this looks like its gonna be impossible to obtain. Unless in the code you can you take that and interpret it to the song I'd.


RE: Experimental Google Music Addon - dexdeadly - 2014-12-06

Looking at the unofficial plugin you are using i see that in the song dictionary that string, Tigpt7vkredlj4wjvohp6yznlse , is considered the matchedid or storeId. If the URL was sent say as

plugin://plugin.audio.googlemusic.exp/?action=play_song&storeIid=Tigpt7vkredlj4wjvohp6yznlse

if this gets like this could you play the song? Let me know cause if this will work this way then I think we can get this done Smile


RE: Experimental Google Music Addon - dexdeadly - 2014-12-10

Hey Foreverguest. Were you able to look at my suggestion?


RE: Experimental Google Music Addon - marqc - 2014-12-13

plugin stopped playing songs. browsing library works fine.
using xbmc 13.2 gotham on linux fedora 20

my log
Quote:23:31:46 T:140553073194752 NOTICE: [GoogleMusicEXP-1.2] Loading library
23:31:46 T:140553073194752 NOTICE: [GoogleMusicEXP-1.2] Loading auth from cache
23:31:48 T:140553073194752 NOTICE: [GoogleMusicEXP-1.2] Library Size: 3470
23:31:51 T:140553022838528 NOTICE: Thread BackgroundLoader start, auto delete: false
23:31:53 T:140553073194752 NOTICE: Thread LanguageInvoker start, auto delete: false
23:31:53 T:140553073194752 NOTICE: -->Python Interpreter Initialized<--
23:31:53 T:140553073194752 NOTICE: GoogleMusicEXP-1.2 ARGV: ['plugin://plugin.audio.googlemusic.exp/', '17', '?path=playlists&playlist_type=user']
23:31:53 T:140553022838528 NOTICE: Thread BackgroundLoader start, auto delete: false
23:31:54 T:140553073194752 NOTICE: Thread LanguageInvoker start, auto delete: false
23:31:54 T:140553073194752 NOTICE: -->Python Interpreter Initialized<--
23:31:54 T:140553073194752 NOTICE: GoogleMusicEXP-1.2 ARGV: ['plugin://plugin.audio.googlemusic.exp/', '18', '?path=playlist&playlist_id=27c4badb-1577-472c-82b5-a73514970d79']
23:31:54 T:140553073194752 NOTICE: [GoogleMusicEXP-1.2] Loading playlist: 27c4badb-1577-472c-82b5-a73514970d79
23:31:54 T:140553022838528 NOTICE: Thread BackgroundLoader start, auto delete: false
23:31:57 T:140553022838528 NOTICE: Thread LanguageInvoker start, auto delete: false
23:31:57 T:140553022838528 NOTICE: -->Python Interpreter Initialized<--
23:31:57 T:140553022838528 NOTICE: GoogleMusicEXP-1.2 ARGV: ['plugin://plugin.audio.googlemusic.exp/', '19', '?action=play_song&song_id=Ttpi4s6gpct35drqc6plps3yhu4&title=Come With Me Now&artist=Kongos']
23:31:57 T:140553022838528 NOTICE: [GoogleMusicEXP-1.2] Prefetch disabled or URL invalid or expired :
23:31:57 T:140553022838528 NOTICE: [GoogleMusicEXP-1.2] Loading auth from cache
23:31:57 T:140553022838528 NOTICE: [GoogleMusicEXP-1.2] getStreamUrl songid: Ttpi4s6gpct35drqc6plps3yhu4 device: 33efb833be593797
23:31:57 T:140553022838528 NOTICE: [GoogleMusicEXP-1.2] getStreamUrl quality: hi
23:31:57 T:140553022838528 ERROR: /home/marq/.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)
23:31:58 T:140553941415680 NOTICE: Thread JobWorker start, auto delete: true
23:31:58 T:140553022838528 NOTICE: Previous line repeats 1 times.
23:31:58 T:140553022838528 NOTICE: [GoogleMusicEXP-1.2] URL :: 'https://r6---sn-8xjug5oxu-3ufe.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=4c050f3abb8b7eb9&itag=25&source=skyjam&begin=0&upn=65xGYLpnocQ&o=15464180252805041548&ratebypass=yes&ip=37.8.235.132&ipbits=0&expire=1418423535&sparams=expire,id,ip,ipbits,itag,mm,ms,mv,o,ratebypass,source,upn&signature=165825D5A4EED15D5CFB45CE2B2D739BED80498C.1841CC041CC6B9C5121C35E8B007C5DD67EDC4A4&key=cms1&mm=31&ms=au&mt=1418423386&mv=m'
23:32:00 T:140553022838528 NOTICE: [GoogleMusicEXP-1.2] Loading auth from cache
23:32:08 T:140554857822720 ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached(28)
23:32:08 T:140554857822720 ERROR: CCurlFile::CReadState::Connect, didn't get any data from stream.
23:32:08 T:140554857822720 ERROR: Open - failed to open source <https://r6---sn-8xjug5oxu-3ufe.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=4c050f3abb8b7eb9&itag=25&source=skyjam&begin=0&upn=65xGYLpnocQ&o=15464180252805041548&ratebypass=yes&ip=37.8.235.132&ipbits=0&expire=1418423535&sparams=expire,id,ip,ipbits,itag,mm,ms,mv,o,ratebypass,source,upn&signature=165825D5A4EED15D5CFB45CE2B2D739BED80498C.1841CC041CC6B9C5121C35E8B007C5DD67EDC4A4&key=cms1&mm=31&ms=au&mt=1418423386&mv=m>
23:32:08 T:140554857822720 ERROR: MP3Codec: Unable to open file https://r6---sn-8xjug5oxu-3ufe.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=4c050f3abb8b7eb9&itag=25&source=skyjam&begin=0&upn=65xGYLpnocQ&o=15464180252805041548&ratebypass=yes&ip=37.8.235.132&ipbits=0&expire=1418423535&sparams=expire,id,ip,ipbits,itag,mm,ms,mv,o,ratebypass,source,upn&signature=165825D5A4EED15D5CFB45CE2B2D739BED80498C.1841CC041CC6B9C5121C35E8B007C5DD67EDC4A4&key=cms1&mm=31&ms=au&mt=1418423386&mv=m
23:32:08 T:140554857822720 ERROR: CAudioDecoder: Unable to Init Codec while loading file https://r6---sn-8xjug5oxu-3ufe.c.doc-0-0-sj.sj.googleusercontent.com/videoplayback?id=4c050f3abb8b7eb9&itag=25&source=skyjam&begin=0&upn=65xGYLpnocQ&o=15464180252805041548&ratebypass=yes&ip=37.8.235.132&ipbits=0&expire=1418423535&sparams=expire,id,ip,ipbits,itag,mm,ms,mv,o,ratebypass,source,upn&signature=165825D5A4EED15D5CFB45CE2B2D739BED80498C.1841CC041CC6B9C5121C35E8B007C5DD67EDC4A4&key=cms1&mm=31&ms=au&mt=1418423386&mv=m
23:32:08 T:140554857822720 WARNING: PAPlayer::QueueNextFileEx - Failed to create the decoder
23:32:08 T:140554857822720 ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.audio.googlemusic.exp/?action=play_song&song_id=Ttpi4s6gpct35drqc6plps3yhu4&title=Come With Me Now&artist=Kongos]


EDIT: found it's not plugin related but general xbmc streaming issue with latest curl releases.
I downgraded curl libs ans everything works again.


RE: Experimental Google Music Addon - dexdeadly - 2014-12-14

Let me know if some kind of donation can help with getting what I was speaking about moving.


RE: Experimental Google Music Addon - foreverguest - 2014-12-19

(2014-12-06, 20:00)dexdeadly Wrote: Looking at the unofficial plugin you are using i see that in the song dictionary that string, Tigpt7vkredlj4wjvohp6yznlse , is considered the matchedid or storeId. If the URL was sent say as

plugin://plugin.audio.googlemusic.exp/?action=play_song&storeIid=Tigpt7vkredlj4wjvohp6yznlse

if this gets like this could you play the song? Let me know cause if this will work this way then I think we can get this done Smile

It should be 'plugin://plugin.audio.googlemusic.exp/?action=play_song&song_id=Tigpt7vkredlj4wjvohp6yznlse'.
Do you know how Yatse could send this?


RE: Experimental Google Music Addon - dexdeadly - 2014-12-19

I can get yatse to send it like that. I'll work with him now on it.


RE: Experimental Google Music Addon - foreverguest - 2014-12-20

(2014-12-05, 05:04)matthuisman Wrote: Looks like you might need to change to

Code:
xbmc.executebuiltin("XBMC.Notification("+self.main.plugin+",'All Access track not playable')")

Thank you, I'll add this fix in next version.


RE: Experimental Google Music Addon - dexdeadly - 2014-12-20

What about the issue with albums


RE: Experimental Google Music Addon - bromix - 2014-12-20

Login isn't working for me, plus the problem that I get a warning via mail from Google stating that a login was blocked.

Gotham 13.2 and Addon v1.2

Quote:We recently blocked a sign-in attempt to your Google Account

The Log, but for debug the addon isn't logging enough Wink
http://xbmclogs.com/show.php?id=377733


RE: Experimental Google Music Addon - foreverguest - 2014-12-20

@bromix, have you enabled 'less secure apps' in your google account?

@dexdeadly, it is hard for me to test your problem without an All Access account, but I'll try to enable trial to test


RE: Experimental Google Music Addon - bromix - 2014-12-20

Yeah...now it's working. But I have to warn you about the ClientLogin. I used it for the new YouTube dev and it doesn't support special characters well. If you test passwords with '#&$&...' this won't work correctly (at least in my test). That's why I abandoned the ClientLogin in favor of the YouTube TV login mechanism.

One request. Can we have an additional list after selecting 'My Library/Albums'. I have a ton of music...and I hate it to browse 10 times of each interprets albums Wink this would shorten the list and provide more usability. So instead of

[Michael Jackson] Album A
[Michael Jackson] Album B
...
[Michael Jackson] Album N-1
'[Michael Jackson] Album N

I would prefer just 'Micheal Jackson' (The album interpret like on the Google Music Platform WEB). After that I will see all the albums. I looked into the database and the select for that isn't that complicated.
Also try to collect the genres like that:
select genre from songs group by lower(genre)

This avoids typos duplications like 'EURO-Dance' and 'Euro-Dance'....this will result in only one 'Euro-Dance' Genre.

Keep up the work and thanks Wink

If there is any time on my side...I will checkout the addon from Git and try to provide some help if it's okay?


RE: Experimental Google Music Addon - dexdeadly - 2014-12-20

Hey forever I'll pay for a months access for you if you'd like.


This forum uses Lukasz Tkacz MyBB addons.