Hey Jeff, this probably doesn't help any, but I'm pretty sure the problem is caused by the fact that XM added a few channels. Unfortunately, I'm not sure if the creator of this software is still doing anything. :( Hopefully it works someday so we can listen to XM in linux! :D
Chris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hopefully they won't change the protocol again soon.
----[note to future self]----
One of the issues I fixed was changing the security cookie to position 1 from position 0. I should have iterated through the list to find the security cookie. Here's the relevant line.
cookie = cookieList.at(1); //for some reason they aren't always in the same order.... BOOO! XM
----[end note to future self]----
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you for the info on patching, it was most helpful. Now on to my current problem: After applying the patch, I can now log in and it brings up my channel listing as well as my presets. When I try to play any channel I get an Error: "There was an error retrieving the MMS URL This usually means XM changed something"
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Here's a patch file that adds a line to show what's going on. Plz paste it into a file, run the patch and post what you see. Remember to censor anything that's might show your userid or anything.
I'd test it myself, but I can't install phonon/kde4 on my dev machine as it completely hosed it last time.
C
===========================================
diff -Naur unixm/XMconnect.cpp unixm-mms-test/XMconnect.cpp
--- unixm/XMconnect.cpp 2008-11-01 16:07:14.000000000 -0500
+++ unixm-mms-test/XMconnect.cpp 2008-11-30 21:56:46.000000000 -0600
@@ -425,6 +425,7 @@
QString XM_CON::parseMMS(QString page)
{
//this is a pretty piss poor way to grab it, but it works, will clean later
+ cout << "page in parseMMS" << endl << page.toLatin1().data() << endl;
QRegExp regexp("<Ref href=\"(.*)\"/>\n");
if(regexp.indexIn(page) != -1)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Actually I think the 26Oct2008_ClearChris.patch had little to do with the above now that I look at it. I was trying to look at the formatting of the file I created 'unixm-debug.patch and noticed that I had added a space in front of the line 'QString XM_CON::parseMMS(QString page)' I think this is what made the difference in the two tests. After removing the space from the line I now get the first malformed patch at line 5...
Thinking that I had a fomat issue, I put spaces in front of lines 5, 6, 7, 9 and 11 and reran the patch.
$ patch -p0 <unixm-debug.patch
patching file unixm/XMconnect.cpp
Hunk #1 FAILED at 425.
1 out of 1 hunk FAILED -- saving rejects to file unixm/XMconnect.cpp.rej
And the contents of that file are:
***************
*** 425,430 ****
QString XM_CON::parseMMS(QString page)
{
//this is a pretty piss poor way to grab it, but it works, will clean later
QRegExp regexp("<Ref href=\"(.*)\"/>\n");
if(regexp.indexIn(page) != -1)
--- 425,431 ----
QString XM_CON::parseMMS(QString page)
{
//this is a pretty piss poor way to grab it, but it works, will clean later
+ cout << "page in parseMMS" << endl << page.toLatin1().data() << endl;
QRegExp regexp("<Ref href=\"(.*)\"/>\n");
if(regexp.indexIn(page) != -1)
Not sure if this is what you are looking for.
Doug
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok, let's try it manually then. I'll also drop my patch file into the patches section while I'm here.
In this case, the patch file shows the surrounding code and one line to be added. The line to be added has a "+" before it. Please cut and paste that (without the + symbol) into XMconnect.cpp underneath the possibly prophetic comment by the original author. :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
From the looks of things I'd say that there is a problem with my login... off the bat, I would say this is not a problem with uniXM but the servers at xmradio.com I base this on the fact that I also see a problem with loging in on the website as well. It tells me that I have to update my registration and then logs me in anyway. What do you think?
Doug
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think you may be right, but I'm not a fan of drawing conclusions on a sample size of 1. I'd sign up for the xm online free trial and see if that will work for you in unixm. If the trial account works, there's something wrong with your account and I'd give them a ring. If the trial account fails in the same way, XM has updated the pages and uniXM needs to be tweaked.
My 2c.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Wow, it looks like XM is having issues... For some reason I can't get a free account set up. I even tried using a different email address as this sometime is required. Not sure what is going on there.
I sent an email to lccstreaming@xmradio.com to see if they can fix my user ID and password issue. Maybe something good will come of it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2009-01-10
wow, i guess I shouldn't take my eyes off of this!
Thanks Chris, I am incorporating your patch into the build. I am spending some time getting this updated and rolling again. Hopefully the build will be up by the end of the day.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is unixm currently not working again? I haven't looked at it in a while, but it would be good to know if you find any new issues. I have this half (maybe 25%) ported to use some very old and simple technologies (ghttp and probably ncurses). Hopefully, I'll be able to pick it up again soon.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2009-01-11
Patch included, plus some other various fixes. I have included the source and a OSX package. If anyone wants a windows package built, i can do that to.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2009-01-11
I posted a new build to the CVS repo and did a new release. I am running it on my MAC and a Gentoo box as we speak.
So all is well.
For todos i need to setup a way to identify the genres of each station, and possibly add a "now playing page."
But other than that works fine.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2009-01-11
as far as the compile issues go, if you install Qt 4.4 rather than pull in the KDE-phonon stuff they all go away.
For some reason the KDE-phonon libs aren't linked the same way the Qt-phonon libs are. I assume everyone
migrate to the native Qt versions.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I have installed RC1 on Fedora 9 and since one week, it says :
An Error Ocurred!
There was an error retrieving presets cookie This usually means XM has changed their web interface
when I start uniXM and I cannot listen to XM anymore. If I can provide more debuging info, just let me know!
Thank you,
Jeff
Hey Jeff, this probably doesn't help any, but I'm pretty sure the problem is caused by the fact that XM added a few channels. Unfortunately, I'm not sure if the creator of this software is still doing anything. :( Hopefully it works someday so we can listen to XM in linux! :D
Chris
Thank you,
It seems very possible. But I now listen with the web interface. Just install gecko-mediaplayer in Fedora 9 and everything work out of the box.
I added a fix for this in the patches section.
Let me know if it works for you.
Nice, it works fine!!
Thank you!
C'est rien. :)
Hopefully they won't change the protocol again soon.
----[note to future self]----
One of the issues I fixed was changing the security cookie to position 1 from position 0. I should have iterated through the list to find the security cookie. Here's the relevant line.
cookie = cookieList.at(1); //for some reason they aren't always in the same order.... BOOO! XM
----[end note to future self]----
Can you please tell me how to add the patch. Sorry I am not much of programmer.
http://www.cpqlinux.com/patch.html
Thank you for the info on patching, it was most helpful. Now on to my current problem: After applying the patch, I can now log in and it brings up my channel listing as well as my presets. When I try to play any channel I get an Error: "There was an error retrieving the MMS URL This usually means XM changed something"
Here's a patch file that adds a line to show what's going on. Plz paste it into a file, run the patch and post what you see. Remember to censor anything that's might show your userid or anything.
I'd test it myself, but I can't install phonon/kde4 on my dev machine as it completely hosed it last time.
C
===========================================
diff -Naur unixm/XMconnect.cpp unixm-mms-test/XMconnect.cpp
--- unixm/XMconnect.cpp 2008-11-01 16:07:14.000000000 -0500
+++ unixm-mms-test/XMconnect.cpp 2008-11-30 21:56:46.000000000 -0600
@@ -425,6 +425,7 @@
QString XM_CON::parseMMS(QString page)
{
//this is a pretty piss poor way to grab it, but it works, will clean later
+ cout << "page in parseMMS" << endl << page.toLatin1().data() << endl;
QRegExp regexp("<Ref href=\"(.*)\"/>\n");
if(regexp.indexIn(page) != -1)
Err... first things first, just to make sure I did this correctly...
copied the code into a file 'unixm-debug.patch'
ran the command 'patch -p0 <unixm-debug.patch'
patching file unixm/XMconnect.cpp
patch: **** malformed patch at line 5: QString XM_CON::parseMMS(QString page)
Lets try that again this time after running the 26Oct2008_ClearChris.patch
now I get:
patching file unixm/XMconnect.cpp
patch: **** malformed patch at line 9: QRegExp regexp("<Ref href=\"(.*)\"/>\n");
Actually I think the 26Oct2008_ClearChris.patch had little to do with the above now that I look at it. I was trying to look at the formatting of the file I created 'unixm-debug.patch and noticed that I had added a space in front of the line 'QString XM_CON::parseMMS(QString page)' I think this is what made the difference in the two tests. After removing the space from the line I now get the first malformed patch at line 5...
Thinking that I had a fomat issue, I put spaces in front of lines 5, 6, 7, 9 and 11 and reran the patch.
$ patch -p0 <unixm-debug.patch
patching file unixm/XMconnect.cpp
Hunk #1 FAILED at 425.
1 out of 1 hunk FAILED -- saving rejects to file unixm/XMconnect.cpp.rej
And the contents of that file are:
***************
*** 425,430 ****
QString XM_CON::parseMMS(QString page)
{
//this is a pretty piss poor way to grab it, but it works, will clean later
QRegExp regexp("<Ref href=\"(.*)\"/>\n");
if(regexp.indexIn(page) != -1)
--- 425,431 ----
QString XM_CON::parseMMS(QString page)
{
//this is a pretty piss poor way to grab it, but it works, will clean later
+ cout << "page in parseMMS" << endl << page.toLatin1().data() << endl;
QRegExp regexp("<Ref href=\"(.*)\"/>\n");
if(regexp.indexIn(page) != -1)
Not sure if this is what you are looking for.
Doug
Ok, let's try it manually then. I'll also drop my patch file into the patches section while I'm here.
In this case, the patch file shows the surrounding code and one line to be added. The line to be added has a "+" before it. Please cut and paste that (without the + symbol) into XMconnect.cpp underneath the possibly prophetic comment by the original author. :)
Success... well in the since that I was able to get the debug output to spit out what happens when I try to play a channel.
page in parseMMS
<ASX version = "3.0">
<!-- XMSR coolStream v3.0.1 -->
<Title>Login Error</Title>
<Author>XM Satellite Radio</Author>
<Entry ClientSkip="no">
<Ref href="mms://a524.v50522.c5052.g.vm.akamaistream.net/7/524/5052/41c9e84c/xmradio.download.akamai.com/5052/wmedia/error/logged_out.wma"/>
</Entry>
</ASX>
From the looks of things I'd say that there is a problem with my login... off the bat, I would say this is not a problem with uniXM but the servers at xmradio.com I base this on the fact that I also see a problem with loging in on the website as well. It tells me that I have to update my registration and then logs me in anyway. What do you think?
Doug
I think you may be right, but I'm not a fan of drawing conclusions on a sample size of 1. I'd sign up for the xm online free trial and see if that will work for you in unixm. If the trial account works, there's something wrong with your account and I'd give them a ring. If the trial account fails in the same way, XM has updated the pages and uniXM needs to be tweaked.
My 2c.
Wow, it looks like XM is having issues... For some reason I can't get a free account set up. I even tried using a different email address as this sometime is required. Not sure what is going on there.
I sent an email to lccstreaming@xmradio.com to see if they can fix my user ID and password issue. Maybe something good will come of it.
wow, i guess I shouldn't take my eyes off of this!
Thanks Chris, I am incorporating your patch into the build. I am spending some time getting this updated and rolling again. Hopefully the build will be up by the end of the day.
Welcome back. :)
Is unixm currently not working again? I haven't looked at it in a while, but it would be good to know if you find any new issues. I have this half (maybe 25%) ported to use some very old and simple technologies (ghttp and probably ncurses). Hopefully, I'll be able to pick it up again soon.
Patch included, plus some other various fixes. I have included the source and a OSX package. If anyone wants a windows package built, i can do that to.
I posted a new build to the CVS repo and did a new release. I am running it on my MAC and a Gentoo box as we speak.
So all is well.
For todos i need to setup a way to identify the genres of each station, and possibly add a "now playing page."
But other than that works fine.
as far as the compile issues go, if you install Qt 4.4 rather than pull in the KDE-phonon stuff they all go away.
For some reason the KDE-phonon libs aren't linked the same way the Qt-phonon libs are. I assume everyone
migrate to the native Qt versions.