• 1
  • 8
  • 9
  • 10(current)
  • 11
  • 12
  • 81
Release Experimental Google Music Addon
(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??
Reply
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')")
Reply
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.
Reply
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
Reply
Hey Foreverguest. Were you able to look at my suggestion?
Reply
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...23386&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...23386&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.
Reply
Let me know if some kind of donation can help with getting what I was speaking about moving.
Reply
(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?
Reply
I can get yatse to send it like that. I'll work with him now on it.
Reply
(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.
Reply
What about the issue with albums
Reply
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
Reply
@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
Reply
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?
Reply
Hey forever I'll pay for a months access for you if you'd like.
Reply
  • 1
  • 8
  • 9
  • 10(current)
  • 11
  • 12
  • 81

Logout Mark Read Team Forum Stats Members Help
Experimental Google Music Addon17