[RELEASE] Mixcloud plugin

  Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
jackyNIX Offline
Junior Member
Posts: 22
Joined: Dec 2011
Reputation: 0
Location: Brussels
Post: #31
(2013-03-07 22:07)si macc Wrote:  Hey guys, great add-on, by far my favorite music add-on. Is it possible in the future to add the ability to login and access 'follows' and 'favorties', or is this not possible?

Keep up the good work.

Well, Bochi made a version that does just that. But the login procedure is a real pain in the ***. You need to open a browser, go to a certain url showing an image with a code and then you have to enter that code to log in. And repeat that procedure each and every time you log in. No way to automate that. Sad

Add to that this plugin is a bit on the gray side using download streams from outside of the mixcloud api...

Checkout my homemade beats on Soundcloud and dj sets on Mixcloud
find quote
Rouzax Offline
Member
Posts: 52
Joined: Dec 2012
Reputation: 0
Post: #32
Is this plugin still maintained? It appears it stopped working correctly with XBMC 12.2
find quote
stiefenm Offline
Junior Member
Posts: 1
Joined: Mar 2014
Reputation: 0
Post: #33
Hi all,

seems that offliberty resolving is a bit unreliable and needs some retries now to deliver a result. Also off54.php seems to be the better choice instead of off.php. Quickly hacked the get_stream function to get around the current problems. Works fine for me. Anyone knows what's the difference between off54.php and off.php?

Code:
def get_stream(cloudcast_key):
    ck="http://www.mixcloud.com"+cloudcast_key
    if debugenabled:
        print('MIXCLOUD '+'resolving cloudcast stream for '+ck)
    for retry in range(1, 10):
        request = urllib2.Request('http://offliberty.com/off54.php', 'track=%s' % ck)
        request.add_header('Referer', 'http://offliberty.com/')
        response = urllib2.urlopen(request)
        data = response.read()
        if len(data)>100:
            break
        elif debugenabled:
            print('MIXCLOUD '+'length of result is too short. Retrying %s. time!' % retry)
    match = re.search('HREF="(.*)" class="download"', data)
    return match.group(1)
find quote
jackyNIX Offline
Junior Member
Posts: 22
Joined: Dec 2011
Reputation: 0
Location: Brussels
Post: #34
Worked like a charm for ages. I'll look into this problem later today and try to find a solution.

Anyways, thanks for supporting and using this plugin Smile

Checkout my homemade beats on Soundcloud and dj sets on Mixcloud
find quote
jackyNIX Offline
Junior Member
Posts: 22
Joined: Dec 2011
Reputation: 0
Location: Brussels
Post: #35
(2014-03-12 14:32)stiefenm Wrote:  Hi all,

seems that offliberty resolving is a bit unreliable and needs some retries now to deliver a result. Also off54.php seems to be the better choice instead of off.php. Quickly hacked the get_stream function to get around the current problems. Works fine for me. Anyone knows what's the difference between off54.php and off.php?

Code:
def get_stream(cloudcast_key):
    ck="http://www.mixcloud.com"+cloudcast_key
    if debugenabled:
        print('MIXCLOUD '+'resolving cloudcast stream for '+ck)
    for retry in range(1, 10):
        request = urllib2.Request('http://offliberty.com/off54.php', 'track=%s' % ck)
        request.add_header('Referer', 'http://offliberty.com/')
        response = urllib2.urlopen(request)
        data = response.read()
        if len(data)>100:
            break
        elif debugenabled:
            print('MIXCLOUD '+'length of result is too short. Retrying %s. time!' % retry)
    match = re.search('HREF="(.*)" class="download"', data)
    return match.group(1)

This is correct and very useable as a workaround for now.

"Retry" is a good idea to implement in the plugin, and maybe have the amount of retries editable in the config window while I'm at it.
Gonna look further (timeout etc...) and make a fix to put in the repository.

Checkout my homemade beats on Soundcloud and dj sets on Mixcloud
find quote
jackyNIX Offline
Junior Member
Posts: 22
Joined: Dec 2011
Reputation: 0
Location: Brussels
Post: #36
Fixed the offliberty url and commited.
You can grab it through Github (see OP) or just wait to get it updated through xbmc repository.

Checkout my homemade beats on Soundcloud and dj sets on Mixcloud
find quote
Tg8ggYTc33 Offline
Junior Member
Posts: 2
Joined: Mar 2014
Reputation: 0
Question  RE: [RELEASE] Mixcloud plugin
Post: #37
EDIT: Works fine again - maybe a temporary problem with offliberty.

Hi,

Great Add-on - thank you!

I got a "little" problem:
When I select a track - a completely other track is played. Sad
I have tried five tracks - same result with all of them.

Example:
I want to play this track: http://www.mixcloud.com/CarlCox/carl-cox-global-574/
In your Add-on I select "Search" -> "Users..." -> "CarlCox" -> "first Item" -> "Carl Cox - Global 574"
1st try - xbmc.log says: http://stream17.mixcloud.com/c/originals...d2e300.mp3
2nd try - xbmc.log says: http://stream16.mixcloud.com/c/m4a/64/6/...475089.m4a

This is the right URL (via offliberty.com): http://stream17.mixcloud.com/c/originals...0e61d8.mp3

Can you imagine the reason for this?

I'm using a Raspberry Pi + Raspbmc.
Add-on Version: 1.1.1
(This post was last modified: 2014-03-31 22:21 by Tg8ggYTc33.)
find quote
judgement1 Offline
Junior Member
Posts: 7
Joined: Apr 2010
Reputation: 0
Post: #38
Mixcloud loads now but it's not pulling in the correct links. All of my saved stations are playing something different when I load them. I tried to start over and do a search from scratch and it still plays something different from what is selected. I see that the person from the previous post is having the same problem.
(This post was last modified: 2014-04-10 03:41 by judgement1.)
find quote
c4310045 Offline
Junior Member
Posts: 4
Joined: Jan 2014
Reputation: 0
Post: #39
See this pull request:
https://github.com/jackyNIX/xbmc-mixclou...ll/1/files

To fix incorrect track playback, edit default.py file with those changes or download the whole file here and replace it in installation.
find quote
mikejames Offline
Junior Member
Posts: 9
Joined: Mar 2014
Reputation: 0
Post: #40
Hi
Is the Op going to upgrade the MixCloud Plugin for XBMC I'm using an android box with Linux Frodo 12.3
find quote
judgement1 Offline
Junior Member
Posts: 7
Joined: Apr 2010
Reputation: 0
Post: #41
I am using Raspberry Pi and Raspbmc so I have no idea how to edit the default.Py file. I can't even find it. It would be easier to do an upgrade of the plugin so I can just download it again from the Add-Ons. Can the developer please do that? I'm missing all my music.
find quote
mikejames Offline
Junior Member
Posts: 9
Joined: Mar 2014
Reputation: 0
Post: #42
Ok guys this is how I fixed the issue.

1. Download the MixCloud repo http://forum.xbmc.org/showthread.php?tid=116386
2. The file will be a ZIP archive. Open it with WinRar. LEAVE THIS OPEN UNTIL YOU HAVE COMPLETED THE STEPS BELOW
3. Inside the file locate the default.py file and drag this file to the desktop.
4. Open Notepad on your Computer and drag the default.py file which is on your desktop into the opened Notepad screen.
5. You will notice that there is a lot of txt, You must delete all the txt that you see. DO NOT DELETE THIS FILE JUST LEAVE IT BLANK AND OPEN
6. Goto this page https://raw.githubusercontent.com/Silent...default.py and copy all the txt that you see on the page.
7. You now need to paste the txt into the default.py file Which you have on your desktop. Before closing this file you must click Save.
8. You now need to replace the file which is in the WINRAR file. So drag the one from the desktop and replace it.
9. You now need to add this file to an sd card or USB stick and put it into your device.
10. I uninstalled the broken MixCloud plugin from XBMC. I then went into XBMC into System, Then Adons,and selected Install from zip file. A window will pop up asking you to locate the file. For me it was Root filesystem. Scroll down and select media your SD card or USB stick must already be mounted locate the MixCloud Repo and install it.

I am by no means a computer expert but it worked for me, and everything is now working again.
(This post was last modified: 2014-04-17 12:43 by mikejames.)
find quote
jackyNIX Offline
Junior Member
Posts: 22
Joined: Dec 2011
Reputation: 0
Location: Brussels
Post: #43
Added a local resolver in v1.1.3, bypassing offliberty (but still an option, if you want to).
Thanks to SilentException!

Checkout my homemade beats on Soundcloud and dj sets on Mixcloud
(This post was last modified: 2014-05-01 01:57 by jackyNIX.)
find quote
judgement1 Offline
Junior Member
Posts: 7
Joined: Apr 2010
Reputation: 0
Post: #44
Will version 1.1.3 be added to the xbmc repository? If so, when? It is easier to update from there than using the Github method. Thank you.
find quote
jackyNIX Offline
Junior Member
Posts: 22
Joined: Dec 2011
Reputation: 0
Location: Brussels
Post: #45
(2014-05-01 10:19)judgement1 Wrote:  Will version 1.1.3 be added to the xbmc repository? If so, when? It is easier to update from there than using the Github method. Thank you.

The pull request is done, so it should be there one of these days.

Checkout my homemade beats on Soundcloud and dj sets on Mixcloud
(This post was last modified: 2014-05-02 00:26 by jackyNIX.)
find quote